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) }; } }
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")); }
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()); } }
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 }
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(); }