Пример #1
0
        /// <summary>
        /// Клонирует струговую установку
        /// </summary>
        /// <param name="id">уникальный идентификатор струговой установки, которую нужно клонировать</param>
        public PlowMachine ClonePlowMachine(PlowMachine pm)
        {
            PlowMachine newPlow = CreatePlowMachine();

            foreach (var item in pm.Modules)
            {
                Module currentModule = item.Value;
                Module newModule = newPlow.Modules[currentModule.Name];

                foreach (var p in currentModule.ModuleParams)
                {
                    Parameter newP = p.Clone() as Parameter;

                    if (!newModule.ModuleParams.Contains(newP))
                    {
                        newModule.ModuleParams.Add(newP);
                    }
                    else
                    {
                        newModule.ModuleParams[p.Name].ValueType   = p.ValueType;
                        newModule.ModuleParams[p.Name].Value       = p.Value;
                        newModule.ModuleParams[p.Name].Description = p.Description;
                    }
                }
            }

            return newPlow;
        }
Пример #2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (plowMachineDataGridView.SelectedRows.Count != 0)
            {
                PlowMachine pm = (PlowMachine)plowMachineDataGridView.SelectedRows[0].DataBoundItem;

                pm = _manager.LoadPlowMachine(pm.PlowMachineId);

                if (pm.IsPrototype)
                    if (DialogResult.Yes == MessageBox.Show("Вы хотите использовать прототип в качестве основы для новой СУ?", "", MessageBoxButtons.YesNo))
                    {
                        pm = _manager.ClonePlowMachine(pm);

                        string pmname = string.Empty;

                        using (Dialogs.NameDialog name = new Su.Dialogs.NameDialog())
                        {
                            name.ShowDialog();
                            pmname = name.EnteredText;
                        }

                        pm.Name = pmname;
                    }
                    else
                    {
                        pm = null;
                    }

                SelectedPlowMachine = pm;

            }

            DialogResult = DialogResult.OK;
            Close();
        }
Пример #3
0
 public ModesForm(PlowMachine mashine)
 {
     InitializeComponent();
     plowMashine = mashine;
     if (plowMashine == null)
         btnCalculate.Enabled = false;
     cbModes.DataSource = modes;
     cbModes.DisplayMember = "Name";
 }
Пример #4
0
        /// <summary>
        /// Сохраняем параметры в струговой установке
        /// </summary>
        /// <param name="outputparams">параметры для сохранения</param>
        /// <param name="plowmachine">струговая установка</param>
        public static void SaveParams(Parameters outputparams, PlowMachine plowmachine)
        {
            foreach (var param in outputparams)
            {
                foreach (var module in plowmachine.Modules.Values)
                {
                    //
                    //  выбираме параметры, названия которых совпадают
                    //
                    var moduleparam = from mp in module.ModuleParams
                                      where mp.Name.Equals(param.Name, StringComparison.InvariantCultureIgnoreCase)
                                      select mp;

                    //  если нет таковых...то продолжаем
                    if (moduleparam.Count() == 0) continue;

                    // перезаписываем значение
                    module.ModuleParams[param.Name].Value = param.Value;
                }
            }
        }
Пример #5
0
        /// <summary>
        /// Достаем параметры из установки
        /// </summary>
        /// <param name="names">название параметров</param>
        /// <param name="plowmachine">струговя установка</param>
        /// <returns></returns>
        public static Parameters GetParams(string[] names, PlowMachine plowmachine)
        {
            Parameters result = new Parameters();

            foreach (var param in names)
            {
                foreach (var module in plowmachine.Modules.Values)
                {
                    //
                    //  выбираме параметры, названия которых совпадают
                    //
                    var moduleparam = from mp in module.ModuleParams
                                      where mp.Name.Equals(param, StringComparison.InvariantCultureIgnoreCase)
                                      select mp;
                    if (moduleparam.Count() != 0)
                        result.Add(moduleparam.First());
                }
            }

            return result;
        }
Пример #6
0
        public void DeletePlowMachine(PlowMachine plowMachine)
        {
            var pm = from p in _context.PlowMachineEntitySet
                                   where p.PlowMachineId == plowMachine.PlowMachineId
                                   select p;

            if (pm.Count() == 0)
                throw new Exception("Данной СУ не существует в БД");

            _context.DeleteObject(pm.First());
            _context.SaveChanges();
        }
Пример #7
0
 /// <summary>
 /// Создаём новую струговую установку
 /// </summary>
 /// <returns></returns>
 public PlowMachine CreatePlowMachine()
 {
     PlowMachine result = new PlowMachine();
     _moduleManager.InitModules(result.PlowMachineId, result.Modules);
     return result;
 }
Пример #8
0
        /// <summary>
        /// Сохранение струговой установки
        /// </summary>
        /// <param name="plowmachine"></param>
        public void SavePlowMachine(PlowMachine plowmachine)
        {
            var q = from pm in _context.PlowMachineEntitySet
                    where pm.PlowMachineId == plowmachine.PlowMachineId
                    select pm;

            if (q.Count() == 0)
            {
                #region новая

                PlowMachineEntity pm = new PlowMachineEntity()
                {
                    PlowMachineId = plowmachine.PlowMachineId,
                    Name = plowmachine.Name ?? string.Empty,
                    ModifidedOn = DateTime.Now,
                    CreatedOn = DateTime.Now,
                    IsPrototype = plowmachine.IsPrototype
                };

                _context.AddToPlowMachineEntitySet(pm);
                _context.SaveChanges();

                #endregion
            }
            else
            {
                #region обновляем

                PlowMachineEntity pm = q.First();

                pm.Name = plowmachine.Name ?? string.Empty;
                pm.IsPrototype = plowmachine.IsPrototype;
                pm.ModifidedOn = DateTime.Now;

                _context.SaveChanges();

                #endregion
            }

            foreach (var module in plowmachine.Modules.Values)
            {
                _moduleManager.UpdateParameters(module);
            }
        }
Пример #9
0
        /// <summary>
        /// Загрузить струговую установку
        /// </summary>
        /// <param name="id">идентификатор струговой установки</param>
        public PlowMachine LoadPlowMachine(Guid id)
        {
            var q = from pm in _context.PlowMachineEntitySet
                    where pm.PlowMachineId == id
                    select pm;

            if (q.Count() == 0) return null;

            PlowMachineEntity pme = q.First();

            PlowMachine result = new PlowMachine(id)
            {
                Name = pme.Name,
                IsPrototype = pme.IsPrototype
            };

            _moduleManager.InitModules(id, result.Modules);

            return result;
        }