Exemplo n.º 1
0
        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)
            {
                
            }



        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
                }
            }
        }