Exemplo n.º 1
0
        //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);
        }
Exemplo n.º 2
0
        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));
        }