public static void SaveEquipments(Equipments eq) { if (eq == null) return; Char separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0]; DialogResult res = MessageBox.Show("Сохранить изменения?", "Программа ", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (res == DialogResult.Yes) { XmlElement xRoot = eq.Xml.DocumentElement; foreach (XmlElement xnode in xRoot) { if (xnode.GetHashCode() == eq.XmlIndex) { foreach (XmlNode childnode in xnode.ChildNodes) { if (childnode.Name == "type") { childnode.InnerText = eq.Type; } if (childnode.Name == "name") { childnode.InnerText = eq.Name; } if (childnode.Name == "ImageName") { childnode.InnerText = eq.ImageName; if (string.IsNullOrEmpty(eq.ImageName)) { eq.ImageName = "notfound"; } } if (childnode.Name == "Volume") { Double.Parse(childnode.InnerText = eq.Volume.ToString()); } if (childnode.Name == "Mass") { Double.Parse(childnode.InnerText = eq.Mass.ToString()); } if (childnode.Name == "Power") { Double.Parse(childnode.InnerText = eq.Power.ToString()); } if (childnode.Name == "Coeff") { Double.Parse(childnode.InnerText = eq.Coeff.ToString()); } if (childnode.Name == "W") { Double.Parse(childnode.InnerText = eq.W.ToString()); } if (childnode.Name == "Pressure") { childnode.InnerText = eq.Pressure; } if (childnode.Name == "Temperature") { childnode.InnerText = eq.Temperature; } if (childnode.Name == "Rotation") { childnode.InnerText = eq.Rotation; } if (childnode.Name == "Storage") { childnode.InnerText = eq.Storage; } if (childnode.Name == "Performance") { Double.Parse(childnode.InnerText = eq.Performance.ToString()); } } } } try { eq.Xml.Save(Helper.pathFile); eq.Xml.Save(@"../../Xmls/temp.xml"); //MessageBox.Show("Данные успешно сохранены.", "Сообщение."); } catch { MessageBox.Show("Невозможно сохранить XML файл.", "Ошибка."); } } if (res == DialogResult.No) { } }
public void ShowEquipmentDetails(Equipments scheme) { dataGridView1.Refresh(); dataGridView1.RefreshEdit(); eq = scheme; if (scheme.ImageName != null) { this.pictureBox1.Image = Image.FromFile(@"../../Images/" + scheme.ImageName + ".png"); } dataGridView1.Rows.Add(); if (scheme.Type != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Тип:", scheme.Type); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Type"; } if (scheme.Name != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Марка:", scheme.Name); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Name"; } if (scheme.Performance != 0) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Производительность т/ч:", scheme.Performance); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Performance"; } if (scheme.Pressure != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Давление МПа/бар:", scheme.Pressure); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Pressure"; } if (scheme.Power != 0) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Мощность кВт:", scheme.Power); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Power"; } if (scheme.Coeff != 0) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Коэфф. использования оборудования:", scheme.Coeff); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Coeff"; } if (scheme.Temperature != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Температура °C:", scheme.Temperature); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Temperature"; } if (scheme.Volume != 0) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Объём м³:", scheme.Volume); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Volume"; } if (scheme.Storage != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Хранение:", scheme.Storage); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Storage"; } if (scheme.Rotation != null) { dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, "Частота вращения об/мин:", scheme.Rotation); dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[1].Tag = "Rotation"; } dataGridView1.Rows.RemoveAt(dataGridView1.Rows.Count - 1); this.Show(); }
public static List<Equipments> GetEquipments() //считывание файла оборудования xml { Char separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0]; System.Globalization.NumberStyles style; System.Globalization.CultureInfo culture; style = System.Globalization.NumberStyles.Number | System.Globalization.NumberStyles.AllowCurrencySymbol; culture = System.Globalization.CultureInfo.CurrentUICulture; //string pathFile = @"../../Xmls/equipments.xml"; if (!File.Exists(Helper.pathFile)) //если файл не найден { MessageBox.Show("File equipments " + Helper.pathFile + " not found"); return null; } else { try { List<Equipments> equipments = new List<Equipments>(); XmlDocument xDoc = new XmlDocument(); xDoc.Load(Helper.pathFile); XmlElement xRoot = xDoc.DocumentElement; foreach (XmlElement xnode in xRoot) { Equipments equipment = new Equipments(); equipment.Xml = xDoc; equipment.XmlIndex = xnode.GetHashCode(); foreach (XmlNode childnode in xnode.ChildNodes) { if (childnode.Name == "type") { equipment.Type = childnode.InnerText; } if (childnode.Name == "name") { equipment.Name = childnode.InnerText; } if (childnode.Name == "ImageName") { equipment.ImageName = childnode.InnerText; if (string.IsNullOrEmpty(equipment.ImageName)) { equipment.ImageName = "notfound"; } } if (childnode.Name == "Volume") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.Volume = result; } else { MessageBox.Show("Значение тега Volume неверно ", "Ошибка"); equipment.Volume = 0; } } if (childnode.Name == "Mass") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.Mass = result; } else { MessageBox.Show("Значение тега Mass неверно ", "Ошибка"); equipment.Mass = 0; } } if (childnode.Name == "Power") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.Power = result; } else { MessageBox.Show("Значение тега Power неверно ", "Ошибка"); equipment.Power = 0; } } if (childnode.Name == "Coeff") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.Coeff = result; } else { MessageBox.Show("Значение тега Coeff неверно ", "Ошибка"); equipment.Coeff = 0; } } if (childnode.Name == "W") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.W = result; } else { MessageBox.Show("Значение тега a неверно ", "Ошибка"); equipment.W = 0; } } if (childnode.Name == "a") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.a = result; } else { MessageBox.Show("Значение тега a неверно ", "Ошибка"); equipment.a = 0; } } if (childnode.Name == "Pressure") { equipment.Pressure = childnode.InnerText; } if (childnode.Name == "Temperature") { equipment.Temperature = childnode.InnerText; } if (childnode.Name == "Rotation") { equipment.Rotation = childnode.InnerText; } if (childnode.Name == "Storage") { equipment.Storage = childnode.InnerText; } if (childnode.Name == "Performance") { if (Double.TryParse(childnode.InnerText.Replace('.', separator), style, culture, out double result)) { equipment.Performance = result; } else { MessageBox.Show("Значение тега Performance неверно ", "Ошибка"); equipment.Performance = 0; } } } equipments.Add(equipment); } return equipments; } catch (Exception exc) { MessageBox.Show("Ошибка чтения файла. \n " + exc.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } } }