public MainForm() { InitializeComponent(); string path = Application.StartupPath; if (path[path.Length - 1] != '\\') path += '\\'; string file_in = path + "in.xml"; string file_changes = path + "changes.xml"; bool valid = true; InventList inf = new InventList(); InventList chf = new InventList(); try { inf = InventList.Load(file_in); chf = InventList.Load(file_changes); valid = true; } catch { valid = false; } if (valid) { DataList = inf; Changes = chf; } }
public DialogForm(InventList list) { InitializeComponent(); Data = list; groupBox1.Enabled = Data.DataList.Count > 0; if (Data.DataList.Count > 0) LoadInForm(list.DataList[0]); }
public static void Save(InventList list, string file) { try { XmlSerializer saver = new XmlSerializer(typeof(InventList)); StreamWriter f = new StreamWriter(file); saver.Serialize(f,list); f.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void результатToolStripMenuItem_Click(object sender, EventArgs e) { try { string path = Application.StartupPath; if (path[path.Length - 1] != '\\') path += '\\'; string file_in = path + "in.xml"; string file_changes = path + "changes.xml"; InventList.Save(DataList, file_in); InventList.Save(Changes, file_changes); InventList list = new InventList(); List<string> Categories = new List<string>(); //получение категорий входного файла for (int i = 0; i < DataList.DataList.Count; i++) if (!Categories.Contains(DataList.DataList[i].Name)) { Categories.Add(DataList.DataList[i].Name); list.DataList.Add(new Invent()); list.DataList[list.DataList.Count - 1].Name = Categories[Categories.Count - 1]; list.DataList[list.DataList.Count - 1].Count = (DataList.DataList[i].IsGet ? 1 : -1) * DataList.DataList[i].Count; list.DataList[list.DataList.Count - 1].Date = DateTime.Now.ToShortDateString(); } else { int index = Categories.IndexOf(DataList.DataList[i].Name); if (DataList.DataList[i].IsGet) list.DataList[index].Count += DataList.DataList[i].Count; else list.DataList[index].Count -= DataList.DataList[i].Count; } //получение категорий выходного файла for (int i = 0; i < Changes.DataList.Count; i++) if (!Categories.Contains(Changes.DataList[i].Name)) { Categories.Add(Changes.DataList[i].Name); list.DataList.Add(new Invent()); list.DataList[list.DataList.Count - 1].Name = Categories[Categories.Count - 1]; list.DataList[list.DataList.Count - 1].Count = (Changes.DataList[i].IsGet ? 1 : -1) * Changes.DataList[i].Count; list.DataList[list.DataList.Count - 1].Date = DateTime.Now.ToShortDateString(); } else { int index = Categories.IndexOf(Changes.DataList[i].Name); if (Changes.DataList[i].IsGet) list.DataList[index].Count += Changes.DataList[i].Count; else list.DataList[index].Count -= Changes.DataList[i].Count; } //DataSet a = new DataSet(); InventList.Save(list, path + "result.xml"); Result = list; ViewResult(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }