private void ValidateConsistModel(IConsist consist) { var setting = new SettingService(); var validater = new DataValidateService(setting); validater.IsValidModel(consist); }
/// <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; } } }
/// <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); }
/// <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>(); }
public IConsist LoadConsist(string filename) { _consist = _serialize.OpenConsist(filename); _consistInfo = _consist.Common; _listVehicles = _consist.Vehicle; return(_consist); }
/// <summary> /// Метод проверяющий полученную модель из файла /// </summary> /// <param name="model">Модель состава</param> public void IsValidModel(IConsist model) { var common = model.Common; IsValidCommon(common); IEnumerable <TrainVehicle> veheclesList = model.Vehicle; IsValidVehcle(veheclesList); }
/// <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; }
/// <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; }