//mesajlarda reddetme sebeplerini gösterelim public List <DEightTable> getMessages() { inanSoftDBEntities1 db = new inanSoftDBEntities1(); var messageListDEightTable = new List <DEightTable>(); // DEight tablo listesi oluşturalım foreach (var notif in getNotificationListForCurrentUser()) { var dEightTable = new DEightTable(); // bildirimde gösterilen hata numarsına göre aynı hataya ait reddetme sebebi var ise mesaj olarak gösterilecektir var message = db.DEightTable.Where(x => x.ErrorNo == notif.ErrorNo && x.RejectionReason != null).FirstOrDefault(); if (message != null) { messageListDEightTable.Add(message); } } return(messageListDEightTable); }
public ActionResult CompleteEightStep(string text) { var userModel = common.getCurrentUserModel(); var errorNo = common.getCurrentErrorNo(); MailHelper mailhelper = new MailHelper(); var dOneTable = db.DOneTable.Where(x => x.ErrorNo == errorNo).FirstOrDefault(); // ekip üyelerine erişmek için dOneTable a ihtiyac duyucaz // hata çözülmüş ise if (text == null) // hata kabul edilmiş ise "Tamamla" butonuna basılmış ise { // bildirimleri güncelle sqlHelper.setReadNotificationForErrorNo(errorNo); var errorListTable = db.ErrorListTable.Where(x => x.ErrorNo == errorNo).FirstOrDefault(); errorListTable.CloseDate = DateTime.Now; errorListTable.LastStep = "D8"; db.Entry(errorListTable).State = EntityState.Modified; db.SaveChanges(); var table = db.DEightTable.Where(x => x.ErrorNo == errorNo).FirstOrDefault(); if (table != null)// eğer hata kabul tablosunda daha önce var ise o veri güncellenir { // update edilir table.Company = userModel.Company; table.Date = DateTime.Now; table.RejectionReason = null; // hata kabul edildiği için reddetme yazısı null edilir db.Entry(table).State = EntityState.Modified; db.SaveChanges(); } else // daha önce hata kabul listesinde bu error no yok ise { var dEighttable = new DEightTable(); dEighttable.Company = userModel.Company; dEighttable.ErrorNo = errorNo; dEighttable.Date = DateTime.Now; dEighttable.RejectionReason = null; // hata kabul edildiği için açıklama kısmı null yapılır db.DEightTable.Add(dEighttable); db.SaveChanges(); } // hata tamalanmış ise takım üyelerine mail gönderilir mailhelper.sendCompleteErrorMail(dOneTable, "Hata Çözülmüştür", "Tebrikler"); } else // eğer reddetme yazısı var ise { // aynı error no ya ait tabloda veri var mı kontrol edilir // D8.adımı veri tabanına kaydeder sqlHelper.setRejectReadNotificationForErrorNo(errorNo);// hata kabul edilmediği için bildirimin kırmızı görünmesi sağlanır var table = db.DEightTable.Where(x => x.ErrorNo == errorNo).FirstOrDefault(); if (table != null) { // update edilir table.Company = userModel.Company; table.RejectionReason = text; table.Date = DateTime.Now; db.Entry(table).State = EntityState.Modified; db.SaveChanges(); } else // daha önce açıklama yazılmamış ise { var dEighttable = new DEightTable(); dEighttable.Company = userModel.Company; dEighttable.ErrorNo = errorNo; dEighttable.RejectionReason = text; dEighttable.Date = DateTime.Now; db.DEightTable.Add(dEighttable); db.SaveChanges(); } // hata kabul edilmemiş ise takım üyelerine mail gönderilir mailhelper.sendCompleteErrorMail(dOneTable, "Hata Çözülmedi !!!", text); } return(Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri)); }