Beispiel #1
0
        private void listBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Объект obj = listBox2.SelectedItem as Объект;

            if (obj != null)
            {
                labelName.Content = obj.НаименованиеОбъекта;

                var listOfSmeta = SmetaContext.Локальная_смета
                                  .Where(c => c.Шифр == obj.Шифр)
                                  .ToList();

                var Cost1 = listOfSmeta
                            .Select(c => c.СтоимостьРаботы)
                            .Sum();

                var Labor1 = listOfSmeta
                             .Select(c => c.ТрудоемкостьРаботы)
                             .Sum();

                ((PieSeries)mcChart.Series[0]).ItemsSource =
                    new KeyValuePair <string, double>[]
                {
                    new KeyValuePair <string, double>("Стоимость работ", Cost1.Value),
                    new KeyValuePair <string, double>("Трудоемкость работ", Labor1.Value)
                };
            }
        }
Beispiel #2
0
        public ActionResult AddObject(string lpuName, string tubeName, string tubePart, string tubePlace, string tubeNumber)
        {
            try
            {
                ЛПУ lpu = new ЛПУ();
                lpu = db.ЛПУ.FirstOrDefault(l => l.Наименование == lpuName);
                Участок_газопровода tube = db.Участок_газопровода.FirstOrDefault(t => t.Наименование == tubeName);

                Объект obj = new Объект();
                obj.id     = Guid.NewGuid();
                obj.id_ЛПУ = lpu.id;
                obj.id_участка_газопровода = tube.id;
                obj.Участок_МГ             = tubePart;
                string tmp = tubePlace.Replace('.', ',');
                obj.Место       = Convert.ToDouble(tmp);
                obj.Номер_трубы = int.Parse(tubeNumber);


                db.Объект.Add(obj);
                db.SaveChanges();
                ViewBag.IsAdd = true;
            }
            catch
            {
                ViewBag.IsAdd = false;
            }

            return(RedirectToAction("Index", "Home"));
        }
Beispiel #3
0
        public ActionResult ListDefectsPartial(Guid id)
        {
            try
            {
                Объект obj = db.Объект.FirstOrDefault(o => o.id == id);
                List <TableDefectModel> defectItems = new List <TableDefectModel>();

                var lpu  = db.ЛПУ.FirstOrDefault(l => l.id == obj.id_ЛПУ);
                var tube = db.Участок_газопровода.FirstOrDefault(t => t.id == obj.id_участка_газопровода);

                //во вьюбаг инфа об объекте
                ViewBag.objectID   = obj.id;
                ViewBag.lpuName    = lpu.Наименование;
                ViewBag.tubeName   = tube.Наименование;
                ViewBag.tubePart   = obj.Участок_МГ;
                ViewBag.tubePlace  = obj.Место;
                ViewBag.tubeNumber = obj.Номер_трубы;

                var defects = db.Дефект.Where(d => d.id_объекта == obj.id);

                foreach (var def in defects)
                {
                    // инфа о дефекте: втд, ддо, ремонте
                    TableDefectModel item = new TableDefectModel();
                    item.id = def.id;

                    item.vtd    = db.Внутритрубная_диагностика.FirstOrDefault(v => v.id == def.id_ВТД);
                    item.ddo    = db.ДДО.FirstOrDefault(d => d.id == def.id_ДДО);
                    item.repair = db.емонт.FirstOrDefault(r => r.id == def.id_Ремонта);

                    item.defKind   = db.Виды_дефектов.FirstOrDefault(i => i.id == item.vtd.id_виды_дефектов);
                    item.ddoResult = db.езультаты_ДДО.FirstOrDefault(i => i.id == item.ddo.id_результаты_ДДО);
                    item.repKind   = db.Виды_ремонта.FirstOrDefault(i => i.id == item.repair.id_виды_ремонта);

                    defectItems.Add(item);
                }

                ViewBag.defects = defectItems;
                return(PartialView());
            }
            catch (Exception ex)
            {
                return(PartialView());
            }
        }
Beispiel #4
0
        public ActionResult ReportTablePartial(string keysJSON)
        {
            //keysJSON - json строка с id объектов и дефектов, выбранных в чекбоксах. В строке подряд идут id объекта, затем id его дефектов
            var keys = JsonConvert.DeserializeObject <Guid[]>(keysJSON);
            List <ReportObjectModel> reportObjects = new List <ReportObjectModel>(); //модель для вьюхи

            foreach (var key in keys)
            {
                Объект pitObject = db.Объект.FirstOrDefault(o => o.id == key);
                //если id из массива принадлежит Объекту
                if (pitObject != null)
                {
                    //добавляем в модель объект, участок газопровода, имя ЛПУ
                    ReportObjectModel tempObj = new ReportObjectModel();
                    tempObj.pitObject   = pitObject;
                    tempObj.sectionTube = db.Участок_газопровода.FirstOrDefault(f => f.id == pitObject.id_участка_газопровода).Наименование;
                    tempObj.lpuName     = db.ЛПУ.FirstOrDefault(f => f.id == pitObject.id_ЛПУ).Наименование;
                    reportObjects.Add(tempObj);
                }
                else // //если id из массива принадлежит Дефекту - добавляем дефекты к ОБъекту
                {
                    ReportDefectModel tempDef = new ReportDefectModel();
                    Дефект            def     = db.Дефект.FirstOrDefault(d => d.id == key);
                    tempDef.defectID = def.id;

                    tempDef.vtd    = db.Внутритрубная_диагностика.FirstOrDefault(v => v.id == def.id_ВТД);
                    tempDef.ddo    = db.ДДО.FirstOrDefault(d => d.id == def.id_ДДО);
                    tempDef.repair = db.емонт.FirstOrDefault(r => r.id == def.id_Ремонта);

                    tempDef.defKind              = db.Виды_дефектов.FirstOrDefault(i => i.id == tempDef.vtd.id_виды_дефектов);
                    tempDef.ddoResult            = db.езультаты_ДДО.FirstOrDefault(i => i.id == tempDef.ddo.id_результаты_ДДО);
                    tempDef.repKind              = db.Виды_ремонта.FirstOrDefault(i => i.id == tempDef.repair.id_виды_ремонта);
                    tempDef.id_признак_состояния = (int)def.id_признак_состояния;

                    reportObjects.Last().defects.Add(tempDef); //добавляем к последнему добавленному объекту дефект
                }
            }
            //ViewBag.reportObjects = reportObjects;
            return(PartialView(reportObjects)); //reportObjects экспортировать в EXEL
        }
Beispiel #5
0
        private void OkButton_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txObjectName.Text))
            {
                MessageBox.Show("Заполните поле наименование объекта");
                return;
            }

            if (txObjectName.Text.Length < 2 || txObjectName.Text.Length > 60)
            {
                MessageBox.Show("В поле наименование объекта введите от 2 до 60 символов A-Z");
                return;
            }

            if (!int.TryParse(txShifr.Text, out int nomer))
            {
                MessageBox.Show("В поле Шифр введите цифры");
                return;
            }

            if (string.IsNullOrWhiteSpace(txAdress.Text))
            {
                MessageBox.Show("Заполните поле адрес");
                return;
            }

            if (txAdress.Text.Length < 2 || txAdress.Text.Length > 60)
            {
                MessageBox.Show("Поле адрес содержит от 2 до 60 символов A-Z");
                return;
            }

            if (!DateTime.TryParse(txDateDog.Text, out DateTime date))
            {
                MessageBox.Show("В поле дата договора введен неверный формат даты");
                return;
            }

            if (!int.TryParse(txNomerDog.Text, out int nomer1))
            {
                MessageBox.Show("В поле номер договора введите цифры");
                return;
            }

            var existedItem = SmetaContext.Объект
                              .Where(n => n.Шифр == nomer)
                              .FirstOrDefault();

            if (existedItem != null)
            {
                MessageBox.Show("Объект с данным шифром уже существует!");
                return;
            }

            var existedDog = SmetaContext.Договор_подряда
                             .Where(n => n.НомерДог == DogNomer)
                             .FirstOrDefault();

            if (existedDog != null)
            {
                MessageBox.Show("Данный договор уже существует!");
                return;
            }

            try
            {
                var addObject = new Объект()
                {
                    КодЗаказчик       = categAddCust,
                    КодПроектировщика = categAddProject,
                    Код_коэффициента  = categAddKof,
                    КодСтавки         = categAddStavka,
                    Шифр = nomer,
                    НаименованиеОбъекта = txObjectName.Text,
                    Адрес = txAdress.Text
                };

                var addDogovor = new Договор_подряда()
                {
                    НомерДог         = nomer1,
                    ДатаДог          = date,
                    Код_коэффициента = categAddKof,
                    КодСтавки        = categAddStavka,
                    Шифр             = nomer
                };

                var addSmeta = new Локальная_смета()
                {
                    Шифр             = nomer,
                    КодВидаРабот     = categAddWorkTypeCode,
                    КодРаботы        = categAddWorkCode,
                    КодСтавки        = categAddStavka,
                    Код_коэффициента = categAddKof,
                    ФизОбъемРабот    = double.Parse(txObjem.Text),
                };

                SmetaContext.Объект.Add(addObject);
                SmetaContext.Договор_подряда.Add(addDogovor);
                SmetaContext.Локальная_смета.Add(addSmeta);
                SmetaContext.SaveChanges();

                MessageBox.Show("Данные добавлены. Смета создана");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "SQL Error");
                return;
            }

            Close();
        }