예제 #1
0
        public virtual void İzinleriKur(IİzinSağlayıcı izinSağlayıcı)
        {
            //yeni izinleri kur
            var izinler = izinSağlayıcı.İzinleriAl();

            foreach (var izin in izinler)
            {
                var izin1 = İzinKaydıAlSistemAdı(izin.SistemAdı);
                if (izin1 == null)
                {
                    //yeni izin (kur)
                    izin1 = new İzinKaydı
                    {
                        Adı       = izin.Adı,
                        SistemAdı = izin.SistemAdı,
                        Kategori  = izin.Kategori,
                    };


                    //varsayılan kullanıcı rol mapping
                    var varsayılanİzinler = izinSağlayıcı.VarsayılanİzinleriAl();
                    foreach (var varsayılanİzin in varsayılanİzinler)
                    {
                        var kullanıcıRolü = _kullanıcıServisi.KullanıcıRolüAlSistemAdı(varsayılanİzin.KullanıcıRolüSistemAdı);
                        if (kullanıcıRolü == null)
                        {
                            //yeni rol (kaydet)
                            kullanıcıRolü = new KullanıcıRolü
                            {
                                Adı       = varsayılanİzin.KullanıcıRolüSistemAdı,
                                Aktif     = true,
                                SistemAdı = varsayılanİzin.KullanıcıRolüSistemAdı
                            };
                            _kullanıcıServisi.KullanıcıRolüEkle(kullanıcıRolü);
                        }


                        var varsayılanMappingSağlandı = (from p in varsayılanİzin.İzinKayıtları
                                                         where p.SistemAdı == izin1.SistemAdı
                                                         select p).Any();
                        var mappingMevcut = (from p in kullanıcıRolü.İzinKayıtları
                                             where p.SistemAdı == izin1.SistemAdı
                                             select p).Any();
                        if (varsayılanMappingSağlandı && !mappingMevcut)
                        {
                            izin1.KullanıcıRolleri.Add(kullanıcıRolü);
                        }
                    }

                    //yeni izini kaydet
                    İzinKaydıEkle(izin1);
                }
            }
        }
 public virtual ActionResult Ekle(KullanıcıRolModel model, bool düzenlemeyeDevam)
 {
     if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.KullanıcılarıYönet))
     {
         return(ErişimEngellendiView());
     }
     if (ModelState.IsValid)
     {
         var kullanıcıRolü = model.ToEntity();
         _kullanıcıServisi.KullanıcıRolüEkle(kullanıcıRolü);
         _işlemServisi.İşlemEkle("YeniKullanıcıRolü", "Yeni kullanıcı rolü başarıyla eklendi", kullanıcıRolü.Adı);
         BaşarılıBildirimi("Kullanıcı rolü başarıyla eklendi");
         return(düzenlemeyeDevam ? RedirectToAction("Düzenle", new { id = kullanıcıRolü.Id }) : RedirectToAction("Liste"));
     }
     return(View(model));
 }