コード例 #1
0
        private void ValidateConsistModel(IConsist consist)
        {
            var setting   = new SettingService();
            var validater = new DataValidateService(setting);

            validater.IsValidModel(consist);
        }
コード例 #2
0
        /// <summary>
        /// Обработчик выбора Открыть состав
        /// </summary>
        private void MenuItem_OpenConsist_Click(object sender, EventArgs e)
        {
            Clear();
            var openDialog = new OpenFileDialog
            {
                InitialDirectory = pathTrains,
                Filter           = "xml файлы (*.xml)|*.xml"
            };

            if (openDialog.ShowDialog() == DialogResult.OK)
            {
                var filename = openDialog.FileName;

                try
                {
                    _consist = _configuration.Container.GetInstance <IConsist>();
                    _consist = _consistService.LoadConsist(filename);
                    SetOpenConsistOnDataGrid(_consist);
                    panel_Main.Visible = true;
                }
                catch (Exception ex)
                {
                    GetErrorMessage(ex.Message);
                    panel_Main.Visible = false;
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Сериализовать выбранную модель состава в XML файл
        /// </summary>
        /// <param name="path">Путь к папке с составами</param>
        /// <returns>Возвращает результат сериализации true или false</returns>
        public bool SerializeConsist(string filename, IConsist consist)
        {
            ValidateConsistModel(consist);

            var model = new ConsistModel()
            {
                Common  = consist.Common,
                Vehicle = consist.Vehicle
            };

            using FileStream fs = new FileStream(filename, FileMode.Create);
            try
            {
                var           xw        = XmlWriter.Create(fs, _serializeModel.Settings);
                XmlSerializer formatter = new XmlSerializer(typeof(ConsistModel));
                formatter.Serialize(xw, model, _serializeModel.NameSpace);
            }
            catch (Exception ex)
            {
                throw new Exception("Не удалось сформировать состав!", ex);
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
            }
            return(true);
        }
コード例 #4
0
 /// <summary>
 /// ОБработчик выбора Создать новый состав
 /// </summary>
 private void MenuItem_CreateNewConsist_Click(object sender, EventArgs e)
 {
     Clear();
     panel_Main.Visible = true;
     _consist           = _configuration.Container.GetInstance <IConsist>();
     _consistService    = _configuration.Container.GetInstance <ICreateConsistService>();
 }
コード例 #5
0
 public IConsist LoadConsist(string filename)
 {
     _consist      = _serialize.OpenConsist(filename);
     _consistInfo  = _consist.Common;
     _listVehicles = _consist.Vehicle;
     return(_consist);
 }
コード例 #6
0
        /// <summary>
        /// Метод проверяющий полученную модель из файла
        /// </summary>
        /// <param name="model">Модель состава</param>
        public void IsValidModel(IConsist model)
        {
            var common = model.Common;

            IsValidCommon(common);

            IEnumerable <TrainVehicle> veheclesList = model.Vehicle;

            IsValidVehcle(veheclesList);
        }
コード例 #7
0
 /// <summary>
 /// Конструктор принимает модель состава и разделяют данные по моделям описание состава и список единиц подвижного состава
 /// </summary>
 /// <param name="model"></param>
 public CreateConsistServise(IConsist model, ISerializeService serialize)
 {
     _listVehicles = new List <TrainVehicle>();
     _consistInfo  = model.Common;
     if (model.Vehicle != null)
     {
         _listVehicles = model.Vehicle.ToList();
     }
     _consist   = model;
     _serialize = serialize;
 }
コード例 #8
0
        /// <summary>
        /// Метод устанавливает значения из открытого файла состава в DataGrid и поля формы
        /// </summary>
        /// <param name="model">Модель состава</param>
        private void SetOpenConsistOnDataGrid(IConsist model)
        {
            foreach (var item in model.Vehicle)
            {
                SetDataGrid(item.ModuleConfig, item.Count, item.PayloadCoeff);
            }
            //Устанавливаем значения в поля формы
            textBox_Description.Text         = model.Common.Description;
            textBox_ConsistName.Text         = model.Common.Title;
            textBox_CabineInVehicle.Text     = model.Common.CabineInVehicle.ToString();
            textBox_ChargingPressure.Text    = model.Common.ChargingPressure.ToString();
            textBox_InitMainResPressure.Text = model.Common.InitMainResPressure.ToString();
            if (model.Common.NoAir == 0 || model.Common.NoAir == 1)
            {
                checkBox_NoAir.Checked = model.Common.NoAir == 0;
            }
            else
            {
                checkBox_NoAir.Checked = false;
            }

            listBox_CouplingType.SelectedItem = model.Common.CouplingModule;
        }