public JsonResult ExpertComplitedAll() { if (HttpContext.User.Identity.Name == "*****@*****.**") { foreach (Wiki.Reclamation data in db.Reclamation.Where(d => d.fixedExpert == false && d.id_DevisionCreate == 6)) { Wiki.Reclamation reclamation = data; reclamation.fixedExpert = true; db.Entry(reclamation).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); return(GetRemarksOTK()); } else if (HttpContext.User.Identity.Name == "*****@*****.**") { foreach (Wiki.Reclamation data in db.Reclamation.Where(d => d.fixedExpert == false && d.id_DevisionCreate != 6)) { Wiki.Reclamation reclamation = data; reclamation.fixedExpert = true; db.Entry(reclamation).State = EntityState.Modified; } db.SaveChanges(); return(GetRemarksPO()); } else { return(GetRemarksPO()); } }
public JsonResult AddRem(int id, int[] pZ_PlanZakaz, int typeRem, int devRem, string textRem, int pfRem, bool technicalAdviceRem) { string login = HttpContext.User.Identity.Name; using (PortalKATEKEntities db = new PortalKATEKEntities()) { db.Configuration.ProxyCreationEnabled = false; db.Configuration.LazyLoadingEnabled = false; Wiki.Reclamation reclamation = new Wiki.Reclamation { id_Reclamation_Type = typeRem, id_DevisionReclamation = devRem, id_Reclamation_CountErrorFinal = 1, id_Reclamation_CountErrorFirst = 1, id_AspNetUsersCreate = db.AspNetUsers.First(d => d.Email == login).Id, id_DevisionCreate = db.AspNetUsers.First(d => d.Email == login).Devision.Value, dateTimeCreate = DateTime.Now, text = textRem, description = "", timeToSearch = 0, timeToEliminate = 0, close = true, gip = false, closeDevision = false, PCAM = "", editManufacturing = false, id_PF = pfRem, technicalAdvice = technicalAdviceRem, closeMKO = false, closeKO = false, fixedExpert = false, id_ReclamationTypeKB = 26 }; db.Reclamation.Add(reclamation); db.SaveChanges(); ServiceRemarksReclamations serviceRemarksReclamations = new ServiceRemarksReclamations { id_Reclamation = reclamation.id, id_ServiceRemarks = id }; db.ServiceRemarksReclamations.Add(serviceRemarksReclamations); db.SaveChanges(); foreach (var data in pZ_PlanZakaz) { Reclamation_PZ reclamation_PZ = new Reclamation_PZ { id_PZ_PlanZakaz = data, id_Reclamation = reclamation.id }; db.Reclamation_PZ.Add(reclamation_PZ); db.SaveChanges(); } } return(Json(id, JsonRequestBehavior.AllowGet)); }
//DeleteOrder public JsonResult DeleteOrder(Wiki.Reclamation reclamation) { string login = HttpContext.User.Identity.Name; Wiki.Reclamation order = db.Reclamation.Find(reclamation.id); _ = new EmailReclamation(order, login, 4); foreach (var data in db.Reclamation_PZ.Where(d => d.id_Reclamation == reclamation.id)) { db.Reclamation_PZ.Remove(data); } db.Reclamation.Remove(order); db.SaveChanges(); return(Json(1, JsonRequestBehavior.AllowGet)); }
public JsonResult Add(Wiki.Reclamation reclamation, int[] pZ_PlanZakaz) { string login = HttpContext.User.Identity.Name; reclamation.dateTimeCreate = DateTime.Now; CreateReclamation correctReclamation = new CreateReclamation(reclamation, login); reclamation = correctReclamation.Reclamation; db.Reclamation.Add(reclamation); db.SaveChanges(); CreateReclamation_PZ(pZ_PlanZakaz, reclamation.id); if (reclamation.technicalAdvice == true) { CreateTechnicalAdvice(reclamation.id, reclamation.id_AspNetUsersCreate); } int id_Devision = reclamation.id_DevisionCreate; if (id_Devision == 8 || id_Devision == 9 || id_Devision == 10 || id_Devision == 20 || id_Devision == 22) { if (reclamation.editManufacturing == true) { login = db.AspNetUsers.First(d => d.Devision == reclamation.editManufacturingIdDevision && d.ResourceUID != null).Email; try { TaskForPWA pwa = new TaskForPWA(); string reclamationNumAndText = reclamation.id.ToString() + " " + reclamation.text; var projects = reclamation.Reclamation_PZ.ToList(); foreach (var data in projects) { var projectUid = db.PZ_PlanZakaz.Find(data.id_PZ_PlanZakaz).ProjectUID; if (projectUid != null) { pwa.CreateTaskOTK_PO((Guid)projectUid, reclamationNumAndText, login); } } } catch { } } } EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 1); return(Json(1, JsonRequestBehavior.AllowGet)); }
public EmailReclamation(Wiki.Reclamation reclamation, string login, int stepNumber) { try { this.login = login; this.stepNumber = stepNumber; this.reclamation = db.Reclamation.Find(reclamation.id); mail.From = new MailAddress(login); GetMailList(); GetSubject(); GetBody(); SendEmail(); } catch (Exception ex) { logger.Error("EmailReclamation: ReclamationId: " + reclamation.id + " | Exeption text: " + ex); } }
public ReclamationCRUD() { Reclamation = new Wiki.Reclamation(); History = ""; }
public void CreateExcelReport(Wiki.Reclamation reclamation) { PortalKATEKEntities dbc = new PortalKATEKEntities(); dbc.Configuration.ProxyCreationEnabled = false; dbc.Configuration.LazyLoadingEnabled = false; string login = HttpContext.User.Identity.Name; AspNetUsers user = db.AspNetUsers.First(d => d.Email == login); List <Wiki.Reclamation> list = new List <Wiki.Reclamation>(); if (reclamation.close == true) { list = dbc.Reclamation .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz)) .Include(d => d.AspNetUsers) .Include(d => d.AspNetUsers1) .Include(d => d.Devision) .Include(d => d.Reclamation_CountError) .Include(d => d.Reclamation_CountError1) .Include(d => d.PF) .ToList(); } else if (reclamation.closeDevision == true) { list = dbc.Reclamation.Where(d => d.id_DevisionReclamation == user.Devision) .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz)) .Include(d => d.AspNetUsers) .Include(d => d.AspNetUsers1) .Include(d => d.Devision) .Include(d => d.Reclamation_CountError) .Include(d => d.Reclamation_CountError1) .Include(d => d.PF) .ToList(); } else if (reclamation.closeMKO == true) { list = dbc.Reclamation.Where(d => d.id_AspNetUsersCreate == user.Id) .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz)) .Include(d => d.AspNetUsers) .Include(d => d.AspNetUsers1) .Include(d => d.Devision) .Include(d => d.Reclamation_CountError) .Include(d => d.Reclamation_CountError1) .Include(d => d.PF) .ToList(); } else if (reclamation.gip == true) { list = dbc.Reclamation.Where(d => d.id_AspNetUsersError == user.Id) .Include(d => d.Reclamation_PZ.Select(c => c.PZ_PlanZakaz)) .Include(d => d.AspNetUsers) .Include(d => d.AspNetUsers1) .Include(d => d.Devision) .Include(d => d.Reclamation_CountError) .Include(d => d.Reclamation_CountError1) .Include(d => d.PF) .ToList(); } else { } if (list.Count != 0) { List <Wiki.Models.ExcelRow> excelRows = new List <Wiki.Models.ExcelRow>(); Wiki.Models.ExcelRow excelRow = new Wiki.Models.ExcelRow("№", "План-Заказ/ы №№:", "Автор замечания", "Создана", "Ответственное СП", "Ответственный сотрудник", "Критерий ошибки", "Критерий ошибки (утв.)", "Поиск (ч.)", "Устранение (ч.)", "Текст замечания", "Прим.", "Полуфабрикат", "РСАМ", "История переписки", "На техсовет", "ГИП", "", "", "", "", "", "", "", "", "", 17); excelRows.Add(excelRow); foreach (var data in list) { string ordersName = ""; foreach (var dataOrders in data.Reclamation_PZ) { ordersName += dataOrders.PZ_PlanZakaz.PlanZakaz.ToString() + "; "; } string history = ""; foreach (var dataAnswer in data.Reclamation_Answer) { history += dataAnswer.AspNetUsers.CiliricalName + " | " + dataAnswer.answer + "\n"; } string userError = ""; try { userError = data.AspNetUsers1.CiliricalName; } catch { userError = ""; } Wiki.Models.ExcelRow excelRow1 = new Wiki.Models.ExcelRow(data.id.ToString(), ordersName, data.AspNetUsers.CiliricalName, data.dateTimeCreate.ToString().Substring(0, 10), data.Devision.name, userError, data.Reclamation_CountError.name, data.Reclamation_CountError1.name, data.timeToSearch.ToString(), data.timeToEliminate.ToString(), data.text, data.description, data.PF.name, data.PCAM, history, data.technicalAdvice.ToString(), data.gip.ToString(), "", "", "", "", "", "", "", "", "", 17); excelRows.Add(excelRow1); } Wiki.Models.ExcelColumn excelColumnIndex = new Wiki.Models.ExcelColumn(); ExcelPackage pck = new ExcelPackage(); ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Report"); int row = 1; int step = 0; int countColumn = excelRows[0].CountData; foreach (var data in excelRows) { for (int i = 0; i < countColumn; i++) { ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], row)].Value = data.GetData(step); ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], row)].Style.Border.BorderAround(ExcelBorderStyle.Thin); step++; } row++; step = 0; } for (int i = 0; i < countColumn; i++) { ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], 1)].AutoFitColumns(); ws.Cells[string.Format("{0}{1}", excelColumnIndex.ColumnsArray[i], 1)].AutoFilter = true; } Response.Clear(); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-daisposition", "attachment: filename=" + "ExcelReport.xlsx"); Response.BinaryWrite(pck.GetAsByteArray()); Response.End(); } }
public JsonResult Update(Wiki.Reclamation reclamation, int[] pZ_PlanZakaz, string answerText, bool?reload, int?reloadDevision, bool?trash) { string login = HttpContext.User.Identity.Name; AspNetUsers aspNetUser = db.AspNetUsers.First(d => d.Email == login); if (aspNetUser.Devision == 6) { if (reclamation.close == true) { string textAnswer = ""; textAnswer = "Замечание закрыто ОТК"; Reclamation_Answer reclamation_Answer = new Reclamation_Answer { answer = textAnswer, dateTimeCreate = DateTime.Now, id_AspNetUsersCreate = aspNetUser.Id, id_Reclamation = reclamation.id, trash = false }; db.Reclamation_Answer.Add(reclamation_Answer); db.SaveChanges(); } } CreateReclamation correctPlanZakaz = new CreateReclamation(reclamation, login, reload, reloadDevision); reclamation = correctPlanZakaz.Reclamation; db.Entry(reclamation).State = EntityState.Modified; db.SaveChanges(); if (aspNetUser.Devision.Value == 6 && answerText != "" && answerText != null) { Reclamation_Answer reclamation_Answer = new Reclamation_Answer { answer = answerText, dateTimeCreate = DateTime.Now, id_AspNetUsersCreate = aspNetUser.Id, id_Reclamation = reclamation.id, trash = trash.Value }; db.Reclamation_Answer.Add(reclamation_Answer); db.SaveChanges(); if (reclamation.close != true) { reclamation.closeDevision = false; db.Entry(reclamation).State = EntityState.Modified; db.SaveChanges(); } } else if (aspNetUser.Devision.Value == 28 && answerText != "" && answerText != null) { Reclamation_Answer reclamation_Answer = new Reclamation_Answer { answer = answerText, dateTimeCreate = DateTime.Now, id_AspNetUsersCreate = aspNetUser.Id, id_Reclamation = reclamation.id, trash = trash.Value }; db.Reclamation_Answer.Add(reclamation_Answer); db.SaveChanges(); if (reclamation.close != true) { reclamation.closeDevision = false; db.Entry(reclamation).State = EntityState.Modified; db.SaveChanges(); } } else if (aspNetUser.Devision.Value != 6 && aspNetUser.Devision.Value != 28 && answerText != "" && answerText != null) { Reclamation_Answer reclamation_Answer = new Reclamation_Answer { answer = answerText, dateTimeCreate = DateTime.Now, id_AspNetUsersCreate = aspNetUser.Id, id_Reclamation = reclamation.id, trash = trash.Value }; db.Reclamation_Answer.Add(reclamation_Answer); db.SaveChanges(); if (reload != true) { if (answerText != "-") { EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 3); } } } if (reclamation.technicalAdvice == true) { UpdateTechnicalAdvice(reclamation.id, aspNetUser.Id); } UpdateReclamation_PZ(pZ_PlanZakaz, reclamation.id); if (reload == true) { Reclamation_Answer reclamation_Answer = new Reclamation_Answer { answer = "Замечание перенаправлено на " + db.Devision.Find(reloadDevision).name, dateTimeCreate = DateTime.Now, id_AspNetUsersCreate = aspNetUser.Id, id_Reclamation = reclamation.id, trash = trash.Value }; db.Reclamation_Answer.Add(reclamation_Answer); db.SaveChanges(); EmailReclamation emailReclamation = new EmailReclamation(reclamation, login, 2); } ReclamationListViewer reclamationListViewer = new ReclamationListViewer(); reclamationListViewer.GetOneReclamation(reclamation.id); return(Json(new { data = reclamationListViewer.ReclamationsListView })); }