Exemplo n.º 1
0
        public void EditDefectPartial(EditDefectModel editModel)
        {
            Дефект def = new Дефект();

            editModel.defect.id_признак_состояния = Convert.ToInt32(editModel.status);
            //db.Entry(editModel.vtd).State = EntityState.Modified;
            //db.Entry(editModel.ddo).State = EntityState.Modified;
            //db.Entry(editModel.repair).State = EntityState.Modified;
            //db.Entry(editModel.defect).State = EntityState.Modified;

            //db.Entry(book).State = EntityState.Modified;
        }
Exemplo n.º 2
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
        }
Exemplo n.º 3
0
        public string AddDefect(string objectID, string[] defectInfo)
        {
            try  //передать id объекта
            {
                //   var obj = db.Объект.FirstOrDefault(o => o.id == currentObject.id);

                string   tmpString;
                DateTime tmpDate;

                Внутритрубная_диагностика tubeTest = new Внутритрубная_диагностика();
                tubeTest.id = Guid.NewGuid();
                tubeTest.id_виды_дефектов = int.Parse(defectInfo[0]);          //1
                tubeTest.Ориент__дефекта  = int.Parse(defectInfo[1]);          //2
                tubeTest.Длина_дефекта    = int.Parse(defectInfo[2]);          //3
                tubeTest.Ширина_дефекта   = int.Parse(defectInfo[3]);          //4
                tubeTest.Глубина_дефекта  = int.Parse(defectInfo[4]);          //5
                tmpString = defectInfo[5].Replace('.', ',');
                tubeTest.Срок_НО_по_ВТД = Convert.ToDouble(tmpString);         //6
                tmpDate = DateTime.Parse(defectInfo[6]);
                tubeTest.Дата_проведения_ВТД = tmpDate;                        //7


                ДДО extraDiagnostic = new ДДО();
                extraDiagnostic.id                 = Guid.NewGuid();
                extraDiagnostic.Номер_МПР          = int.Parse(defectInfo[7]);       //8
                extraDiagnostic.Номер_акта_НО      = int.Parse(defectInfo[8]);       //9
                extraDiagnostic.Дата_начала_ДДО    = DateTime.Parse(defectInfo[9]);  //10
                extraDiagnostic.Дата_окончания_ДДО = DateTime.Parse(defectInfo[10]); //11

                tmpString = defectInfo[11].Replace('.', ',');
                extraDiagnostic.азр__давление = Convert.ToDouble(tmpString);         //12

                tmpString = defectInfo[12].Replace('.', ',');
                extraDiagnostic.Срок_ремонта      = Convert.ToDouble(tmpString);     //13
                extraDiagnostic.id_результаты_ДДО = int.Parse(defectInfo[13]);       //14


                емонт repair = new  емонт();
                repair.id              = Guid.NewGuid();
                repair.Дата_начала     = DateTime.Parse(defectInfo[14]);
                repair.Дата_окончания  = DateTime.Parse(defectInfo[15]);
                repair.id_виды_ремонта = int.Parse(defectInfo[16]);
                repair.Примечание      = defectInfo[17];


                Дефект defect = new Дефект();
                defect.id = Guid.NewGuid();
                defect.id_признак_состояния = 0;
                defect.id_ВТД     = tubeTest.id;
                defect.id_ДДО     = extraDiagnostic.id;
                defect.id_Ремонта = repair.id;

                try
                {
                    defect.id_объекта = Guid.Parse(objectID);
                }
                catch (Exception ex)
                {
                }

                db.Внутритрубная_диагностика.Add(tubeTest);
                db.ДДО.Add(extraDiagnostic);
                db.емонт.Add(repair);
                db.Дефект.Add(defect);


                db.SaveChanges();
            }
            catch
            {
            }

            return(objectID);
        }