예제 #1
0
        public ActionResult SifreResetIstek(string mail)
        {
            Kullanici kullanici = ctx.Kullanici.FirstOrDefault(x => x.mail == mail);

            if (kullanici == null)
            {
                TempData["Mesaj"]    = "Kayıtlı Kullanıcı Bulunamadı."; // redirect yapılan sayfa için temp data ile hata mesajı atılır
                TempData["MesajTip"] = "danger";                        // success info warning danger
                return(RedirectToAction("Giris"));
            }

            if (HttpContext.Cache["mailList"] == null)
            {
                HttpContext.Cache.Add(
                    key: "mailList",
                    value: new List <CacheResetItem>(),
                    dependencies: null,
                    absoluteExpiration: System.Web.Caching.Cache.NoAbsoluteExpiration,
                    slidingExpiration: new TimeSpan(0, 2, 0),                     // 2 dk sonra öl
                    priority: System.Web.Caching.CacheItemPriority.Low,
                    onRemoveCallback: null
                    );
            }

            List <CacheResetItem> mailList = (List <CacheResetItem>)HttpContext.Cache["mailList"];

            CacheResetItem kulVarMi = mailList.FirstOrDefault(x => x.kullanici.id == kullanici.id);

            if (kulVarMi != null) // kullanıcı listede zaten var mı
            {
                TempData["Mesaj"]    = "Şifre Reset Linki Zaten Mailinize Gönderilmiştir.";
                TempData["MesajTip"] = "warning"; // success info warning danger
                return(RedirectToAction("Giris"));
            }

            CacheResetItem sonuc;

            try
            {
                sonuc = MailAt.sifreReset(kullanici);
                if (sonuc == null)
                {
                    TempData["Mesaj"]    = "Sunucu Hatası";
                    TempData["MesajTip"] = "danger"; // success info warning danger
                    return(RedirectToAction("Giris"));
                }
                mailList.Add(sonuc); //new CacheResetItem() { kullanici = kullanici, guid = Guid.NewGuid() }
                HttpContext.Cache["mailList"] = mailList;

                TempData["Mesaj"]    = "Şifre Reset Linki Mailinize Gönderilmiştir.";
                TempData["MesajTip"] = "info"; // success info warning danger
                return(RedirectToAction("Giris"));
            }
            catch (Exception)
            {
                TempData["Mesaj"]    = "Şifre Değiştirilemedi.";
                TempData["MesajTip"] = "warning"; // success info warning danger
                return(RedirectToAction("Giris"));
            }
        }
예제 #2
0
        public ActionResult OnayIstek()
        {
            Kullanici kullanici = (Kullanici)Session["Kullanici"];

            if (kullanici == null)
            {
                TempData["Mesaj"]    = "Onaydan Önce Giriş Yapınız.";
                TempData["MesajTip"] = "warning"; // success info warning danger
                return(RedirectToAction("Giris"));
            }

            if (HttpContext.Cache["onayList"] == null)
            {
                HttpContext.Cache.Add(
                    key: "onayList",
                    value: new List <CacheOnayItem>(),
                    dependencies: null,
                    absoluteExpiration: System.Web.Caching.Cache.NoAbsoluteExpiration,
                    slidingExpiration: new TimeSpan(0, 2, 0),                     // 2 dk sonra öl
                    priority: System.Web.Caching.CacheItemPriority.Low,
                    onRemoveCallback: null
                    );
            }

            List <CacheOnayItem> onayList = (List <CacheOnayItem>)HttpContext.Cache["onayList"];

            if (onayList.Where(x => x.kullanici.id == kullanici.id).Count() > 0)
            {
                TempData["Mesaj"]    = "Onay İsteği Zaten Yapıldı. Mailinize Bakınız.";
                TempData["MesajTip"] = "warning"; // success info warning danger
                return(RedirectToAction("Giris"));
            }

            onayList.Add(MailAt.onay(kullanici));
            HttpContext.Cache["onayList"] = onayList;

            return(View());
        }