Ejemplo n.º 1
0
        private void UpLoadComboBoxes(ПланНормативныйТехнологический план)
        {
            var devices = cfc.УстановкаSet.Local;

            cfc.СправочникSet.Load();
            var collection = cfc.СправочникSet
                             .Local
                             .Where(w => w.Id == план.Id)
                             .Cast <ПланНормативныйТехнологический>()
                             .FirstOrDefault();

            currentPlan = collection;

            selectedDev = (ТехнологическаяУстановка)devices
                          .Where(w => w.УстройствоId == currentPlan.УстройствоFK)
                          ?.FirstOrDefault();

            if (selectedDev != null)
            {
                selectedPowerDev = selectedDev
                                   .СиловойАгрегатВУстройстве
                                   .Where(w => w.ТехнологическаяУстановка.УстройствоId == selectedDev.УстройствоId &&
                                          w.Id == currentPlan.ТипЭнергииId)
                                   ?.FirstOrDefault();

                if (selectedPowerDev != null)
                {
                    selectedOperationMode = selectedPowerDev
                                            .ежимРаботыАгрегата
                                            .Where(w => w.СиловойАгрегатВУстройстве.Id == selectedPowerDev.Id &&
                                                   w.Id == currentPlan.ежимРаботыId)
                                            ?.FirstOrDefault();
                }
            }
        }
Ejemplo n.º 2
0
        public ежимРаботыVM(СиловойАгрегатВУстановке агрегатВУстройстве)
        {
            cfc = new CodeFirstContext();
            cfc.УстройствоРежимРесурсSet.Load();
            cfc.СправочникРесурсовSet.Load();
            cfc.ежимРаботыАгрегатаSet.Load();
            cfc.СиловойАгрегатВУстройствеSet.Load();
            OperatingModePD = new ObservableCollection <ежимРаботыАгрегата>();

            var contextCollectionOperationModes = cfc
                                                  .ежимРаботыАгрегатаSet
                                                  .Local
                                                  .Where(w => w.СиловойАгрегатВУстройстве
                                                         .Id.Equals(агрегатВУстройстве.Id));

            // Получение внешнего ключа из текущего контекста.
            currentPowerDev = cfc
                              .СиловойАгрегатВУстройствеSet
                              .Local
                              .Where(w => w.Id == агрегатВУстройстве.Id)
                              .FirstOrDefault();

            // Установка значения combobox в ранее выбранное состояние.
            selectedТипЕдиниц = currentPowerDev.ТипЕдиницИзмерения;

            // Получение выбранного ресурса.
            //selectedRes = currentPowerDev.УстановкаРежимРесурс
            //    .Where(w => w.СиловойАгрегатВУстановке.Id == currentPowerDev.Id)
            //    .Select(s => s.СправочникРесурсов)
            //    .FirstOrDefault();

            int idrecord = cfc.УстройствоРежимРесурсSet
                           .Local
                           .Where(w => w.СиловойАгрегатВУстановкеFK == currentPowerDev.Id)
                           .FirstOrDefault().СправочникРесурсовFK;

            selectedRes = cfc.СправочникРесурсовSet.Local.Where(w => w.Id == idrecord).FirstOrDefault();

            currentустройствоРежимРесурс = cfc
                                           .УстройствоРежимРесурсSet
                                           .Local
                                           .Where(w => w.СиловойАгрегатВУстановкеFK == currentPowerDev.Id &&
                                                  w.СправочникРесурсовFK == selectedRes.Id)
                                           .FirstOrDefault();

            //if (collection.FirstOrDefault() != null)
            //{
            //    currentPowerDev = collection
            //            .FirstOrDefault()
            //            .СиловойАгрегатВУстройстве;
            //}

            //TODO 2021-01-10: Вынести в отдельный класс по заполнению коллекций.
            foreach (ежимРаботыАгрегата item in contextCollectionOperationModes)
            {
                OperatingModePD.Add(item);
            }

            ListResource = WorkCollection.GetСправочникРесурсов <СправочникРесурсов>(cfc);

            OperatingModePD.CollectionChanged += OperatingModePD_CollectionChanged;
        }