/// <summary> /// Метод передает в модель свойств и характеристик поезда данные введенные пользователем /// </summary> private void CreateConsistOption() { var title = textBox_ConsistName.Text == "" ? "Поезд" : textBox_ConsistName.Text; var descr = textBox_Description.Text == "" ? title : textBox_Description.Text; //Поля характеристик поезда. //В общем случае заполнены значениями по умолчанию рекомендованными разработчиками игры var coupType = listBox_CouplingType.SelectedItem == null ? "ef-coupling" : listBox_CouplingType.SelectedItem.ToString(); var cabine = textBox_CabineInVehicle.Text == "" ? 0 : int.Parse(textBox_CabineInVehicle.Text); var charginPress = textBox_ChargingPressure.Text == "" ? 0.5 : double.Parse(textBox_ChargingPressure.Text); var initPress = textBox_InitMainResPressure.Text == "" ? 0.9 : double.Parse(textBox_InitMainResPressure.Text); var noAir = checkBox_NoAir.Checked ? 1 : 0; TrainConsistInfo consistInfo = new TrainConsistInfo { Title = title, Description = descr, CouplingModule = coupType, CabineInVehicle = cabine, ChargingPressure = charginPress, InitMainResPressure = initPress, NoAir = noAir }; _consistService.AddConsistOptions(consistInfo); }
public IConsist LoadConsist(string filename) { _consist = _serialize.OpenConsist(filename); _consistInfo = _consist.Common; _listVehicles = _consist.Vehicle; return(_consist); }
/// <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> /// Метод валидации свойства поезда /// Наименование состава и описание не проверяем /// </summary> /// <param name="model">модель свойств поезда</param> /// <returns>Возвращает результат валидации и текст ошибки</returns> private void IsValidCommon(TrainConsistInfo model) { bool result = model.CabineInVehicle == 0 || model.CabineInVehicle == 1;// ? true : false; //Проверяем значение свойства по возможным значениям if (!result) { throw new ArgumentException("CabineInVehicle False"); } result = model.ChargingPressure >= 0 && model.ChargingPressure <= 5.0;// ? true : false; //Проверяем значение по вилке возможных значений if (!result) { throw new ArgumentException("ChargingPressure False"); } //result = couplingTypes.Contains(model.CouplingModule) ? true : false; //Проверяем значение свойства по списку возможных значений bool isCouplingType = false; foreach (var item in couplingTypes) { isCouplingType = item.Contains(model.CouplingModule); if (isCouplingType) { break; } } result = isCouplingType; if (!result) { throw new ArgumentException("CouplingModule False"); } result = model.InitMainResPressure >= 0 && model.InitMainResPressure <= 5.0;// ? true : false; //Проверяем значение по вилке возможных значений if (!result) { throw new ArgumentException("InitMainResPressure False"); } result = model.NoAir == 0 || model.NoAir == 1;// ? true : false; //Проверяем значение свойства по возможным значениям if (!result) { throw new ArgumentException("NoAir False"); } }
public void AddConsistOptions(TrainConsistInfo consistInfo) { _consistInfo = consistInfo; }