private void OnAxisRecordStatusChanged(object sender, StatusChangedEventArgs e) { if (e == null) { return; } if (e.Action == StatusChangedAction.Added) { var records = e.Records; var existIds = _axisInfos.Select(t => t.Id).ToList(); for (var i = 0; i < records.Count; i++) { var record = records[i]; if (!existIds.Contains((int)record[Axis.ColId])) { var axisInfo = new AxisInfo(record); _axisInfos.Add(axisInfo); } } } else if (e.Action == StatusChangedAction.Deleted) { var delItems = _axisInfos.Where(t => e.Records.Contains(t.AxisRecord)).ToList(); delItems.ForEach(t => _axisInfos.Remove(t)); } else if (e.Action == StatusChangedAction.Reset) { AxisInfos.Clear(); } }
public void Save(string Path, string filename) { if (!Directory.Exists(Path)) { Directory.CreateDirectory(Path); } AxisInfos = AxisInfos.OrderBy(item => item.Rank).ToList <SingleAxisInfo>(); string serializeInfo = Newtonsoft.Json.JsonConvert.SerializeObject(this); File.WriteAllText(Path + $"\\{pointName}.json", serializeInfo); }