Пример #1
0
        public virtual ActionResult Sil(int id)
        {
            if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.KullanıcılarıYönet))
            {
                return(ErişimEngellendiView());
            }

            var kullanıcı = _kullanıcıServisi.KullanıcıAlId(id);

            if (kullanıcı == null)
            {
                return(RedirectToAction("Liste"));
            }

            try
            {
                if (kullanıcı.Yönetici() && !BaşkaYöneticiMevcut(kullanıcı))
                {
                    HataBildirimi("Son yöneticiyi devre dışı bırakamazsınız. En az bir yönetici hesabı olmalıdır.");
                    return(RedirectToAction("Düzenle", new { id = kullanıcı.Id }));
                }

                //ensure that the current kullanıcı cannot delete "Administrators" if he's not an admin himself
                if (kullanıcı.Yönetici() && !_workContext.MevcutKullanıcı.Yönetici())
                {
                    HataBildirimi("Sadece yönetici kullanıcı silebilir.");
                    return(RedirectToAction("Düzenle", new { id = kullanıcı.Id }));
                }

                //sil
                _kullanıcıServisi.KullanıcıSil(kullanıcı);

                //abonelik sil
                foreach (var site in _siteServisi.TümSiteler())
                {
                    var abonelik = _bültenAbonelikServisi.BültenAboneliğiAlEmailVeSiteId(kullanıcı.Email, site.Id);
                    if (abonelik != null)
                    {
                        _bültenAbonelikServisi.BültenAboneliğiSil(abonelik);
                    }
                }

                //işlem kaydı
                _kullanıcıİşlemServisi.İşlemEkle("KullanıcıSilindi", "Kullanıcı Silindi", kullanıcı.Id);

                BaşarılıBildirimi("Kullanıcı başarıyla silindi");
                return(RedirectToAction("Liste"));
            }
            catch (Exception exc)
            {
                HataBildirimi(exc.Message);
                return(RedirectToAction("Düzenle", new { id = kullanıcı.Id }));
            }
        }