You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
4.3 KiB

using Newtonsoft.Json;
using GummingCommon;
using GummingEntity;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GummingBusiness
{
public class CutSetting
{
public static void SaveSinglePositions(ObservableCollection<CutPositionEntity> NormalSingleCuts, string type)
{
string filePath = string.Format(FilesDirectory.SinglePositionPath, Setting.GetString("ParaSet", "sifumodel"), type);
//变更文件只读属性
if (File.Exists(filePath))
{
File.Delete(filePath);
}
string output = JsonConvert.SerializeObject(NormalSingleCuts, Newtonsoft.Json.Formatting.Indented);
File.WriteAllText(filePath, output);
}
public static ObservableCollection<CutPositionEntity> LoadSinglePositions(string type)
{
try
{
ObservableCollection<CutPositionEntity> NormalSingleCuts;
string filePath = string.Format(FilesDirectory.SinglePositionPath, Setting.GetString("ParaSet", "sifumodel"), type);
if (!File.Exists(filePath))
{
NormalSingleCuts = new ObservableCollection<CutPositionEntity>();
}
else
{
StreamReader streamReader = new StreamReader(filePath);
string jsonStr = streamReader.ReadToEnd();
streamReader.Close();
NormalSingleCuts = JsonConvert.DeserializeObject<ObservableCollection<CutPositionEntity>>(jsonStr);
for (int i = 0; i < NormalSingleCuts.Count; i++)
{
string recId = NormalSingleCuts[i].SelecedAction.RecId;
NormalSingleCuts[i].SelecedAction = NormalSingleCuts[i].Actions.FirstOrDefault(q => q.RecId == recId);
}
}
return NormalSingleCuts;
}
catch (Exception ex)
{
LogService.WriteErrorLog(ex);
return new ObservableCollection<CutPositionEntity>();
}
}
public static ObservableCollection<CutPositionEntity> LoadDoublePositions(string type)
{
try
{
ObservableCollection<CutPositionEntity> NormalDoubleCuts;
string filePath = string.Format(FilesDirectory.DoublePositionPath, Setting.GetString("ParaSet", "sifumodel"), type);
if (!File.Exists(filePath))
{
NormalDoubleCuts = new ObservableCollection<CutPositionEntity>();
}
else
{
StreamReader streamReader = new StreamReader(filePath);
string jsonStr = streamReader.ReadToEnd();
streamReader.Close();
NormalDoubleCuts = JsonConvert.DeserializeObject<ObservableCollection<CutPositionEntity>>(jsonStr);
for (int i = 0; i < NormalDoubleCuts.Count; i++)
{
if (NormalDoubleCuts[i].SelecedAction != null)
{
string recId = NormalDoubleCuts[i].SelecedAction.RecId;
NormalDoubleCuts[i].SelecedAction = NormalDoubleCuts[i].Actions.FirstOrDefault(q => q.RecId == recId);
}
}
}
return NormalDoubleCuts;
}
catch (Exception ex)
{
LogService.WriteErrorLog(ex);
return new ObservableCollection<CutPositionEntity>();
}
}
public static void SaveDoublePositions(ObservableCollection<CutPositionEntity> NormalDoubleCuts, string type)
{
string filePath = string.Format(FilesDirectory.DoublePositionPath, Setting.GetString("ParaSet", "sifumodel"), type);
//变更文件只读属性
if (File.Exists(filePath))
{
File.Delete(filePath);
}
string output = JsonConvert.SerializeObject(NormalDoubleCuts, Newtonsoft.Json.Formatting.Indented);
File.WriteAllText(filePath, output);
}
}
}