Exemple #1
0
        /// <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);
        }
Exemple #2
0
 public IConsist LoadConsist(string filename)
 {
     _consist      = _serialize.OpenConsist(filename);
     _consistInfo  = _consist.Common;
     _listVehicles = _consist.Vehicle;
     return(_consist);
 }
Exemple #3
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;
 }
        /// <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");
            }
        }
Exemple #5
0
 public void AddConsistOptions(TrainConsistInfo consistInfo)
 {
     _consistInfo = consistInfo;
 }