1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- using System.IO;
- using System.Text;
- using Vinno.IUS.Common.Configuration;
- using Vinno.IUS.Common.Log;
- using Vinno.IUS.Common.Network.Leaf;
- using Vinno.vCloud.Common.FIS.Remedicals;
- namespace Vinno.vCloud.Common.FIS.Teaching
- {
- static class TeachingCaptureDataSerializer
- {
- /// <summary>
- /// Serialize capture data content to a file.
- /// </summary>
- /// <param name="data"></param>
- /// <param name="filePath"></param>
- public static void Serialize(this TeachingCaptureData data, string filePath)
- {
- var stringBuilder = new StringBuilder();
- stringBuilder.AppendLine("[TeachingCaptureData]");
- stringBuilder.AppendLine($"Id = {data.Id}");
- stringBuilder.AppendLine($"UserId={data.UserId}");
- stringBuilder.AppendLine($"UploadStatus={data.Status}");
- stringBuilder.AppendLine($"OrginalFilePath = {data.OrginalFilePath}");
- File.WriteAllText(filePath, stringBuilder.ToString());
- }
- /// <summary>
- /// Deserialize a capture data from a file.
- /// </summary>
- /// <param name="leaf"></param>
- /// <param name="captureDataFilePath"></param>
- /// <returns></returns>
- public static TeachingCaptureData Deserialize(ClientLeaf leaf, string captureDataFilePath)
- {
- if (File.Exists(captureDataFilePath))
- {
- try
- {
- var configContent = File.ReadAllText(captureDataFilePath);
- var configLoader = new ConfigLoader();
- var sections = configLoader.LoadConfig(configContent);
- if (sections.Count != 1)
- {
- return null;
- }
- var section = sections[0];
- string id = string.Empty;
- string orginalFilePath = string.Empty;
- string userId = string.Empty;
- var status = UploadStatus.Idle;
- foreach (var item in section.Items)
- {
- switch (item.Key)
- {
- case "Id":
- id = item.Value;
- break;
- case "UserId":
- userId = item.Value;
- break;
- case "UploadStatus":
- Enum.TryParse(item.Value, out status);
- break;
- case "OrginalFilePath":
- orginalFilePath = item.Value;
- break;
-
- }
- }
- var data = new TeachingCaptureData(leaf, orginalFilePath, id,userId,status);
- return data;
- }
- catch (Exception e)
- {
- Logger.WriteLineError($"Load Capture data error: {e}");
- }
- }
- return null;
- }
- }
- }
|