Example #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);
                }
            }
        }
Example #2
0
        public virtual ActionResult GenelIstatistikler()
        {
            var model = new GenelIstatistiklerModel();

            /*
             * model.KongreSayısı = _kongreServisi.TümKongrelerAl(
             *  pageIndex: 0,
             *  pageSize: 1).TotalCount;
             */
            model.KullanıcıSayısı = _kullanıcıServisi.TümKullanıcılarıAl(
                kullanıcıRolIdleri: new[] { _kullanıcıServisi.KullanıcıRolüAlSistemAdı(SistemKullanıcıRolAdları.Kayıtlı).Id },
                sayfaIndeksi: 0,
                sayfaBüyüklüğü: 1).TotalCount;

            model.TeklifSayısı = _teklifServisi.TümTeklifAl().Count;

            model.OdemeFormuSayısı = _odemeFormuServisi.TümOdemeFormuAl().Count;

            return(PartialView(model));
        }
        public virtual KullanıcıKayıtSonuçları KullanıcıKaydet(KullanıcıKayıtİsteği istek)
        {
            if (istek == null)
            {
                throw new ArgumentNullException("istek");
            }

            if (istek.Kullanıcı == null)
            {
                throw new ArgumentException("Mevcut kullanıcı yüklenemedi");
            }

            var sonuç = new KullanıcıKayıtSonuçları();

            if (istek.Kullanıcı.AramaMotoruHesabı())
            {
                sonuç.HataEkle("Arama motoru kaydedilemedi");
                return(sonuç);
            }
            if (istek.Kullanıcı.ArkaPlanGöreviHesabı())
            {
                sonuç.HataEkle("Arka plan görevi hesabı kaydedilemedi");
                return(sonuç);
            }
            if (istek.Kullanıcı.IsRegistered())
            {
                sonuç.HataEkle("Mevcut kullanıcı zaten kayıtlı");
                return(sonuç);
            }
            if (String.IsNullOrEmpty(istek.Email))
            {
                sonuç.HataEkle("E-mail sağlanamadı");
                return(sonuç);
            }
            if (!GenelYardımcı.GeçerliMail(istek.Email))
            {
                sonuç.HataEkle("Hatalı E-mail");
                return(sonuç);
            }
            if (String.IsNullOrWhiteSpace(istek.Şifre))
            {
                sonuç.HataEkle("Şifre sağlanamadı");
                return(sonuç);
            }
            if (_kullanıcıAyarları.KullanıcıAdlarıEtkin)
            {
                if (String.IsNullOrEmpty(istek.KullanıcıAdı))
                {
                    sonuç.HataEkle("Kullanıcı adı sağlanamadı");
                    return(sonuç);
                }
            }

            //benzersiz kullanıcıyı doğrulama
            if (_kullanıcıServisi.KullanıcıAlEmail(istek.Email) != null)
            {
                sonuç.HataEkle("E-Mail adresi zaten mevcut");
                return(sonuç);
            }
            if (_kullanıcıAyarları.KullanıcıAdlarıEtkin)
            {
                if (_kullanıcıServisi.KullanıcıAlKullanıcıAdı(istek.KullanıcıAdı) != null)
                {
                    sonuç.HataEkle("Kullanıcı adı zaten mevcut");
                    return(sonuç);
                }
            }

            //buradan sonra istek doğrulandı
            istek.Kullanıcı.KullanıcıAdı = istek.KullanıcıAdı;
            istek.Kullanıcı.Email        = istek.Email;

            var kullanıcıŞifre = new KullanıcıŞifre
            {
                Kullanıcı         = istek.Kullanıcı,
                ŞifreFormatı      = istek.ŞifreFormatı,
                OluşturulmaTarihi = DateTime.UtcNow
            };

            switch (istek.ŞifreFormatı)
            {
            case ŞifreFormatı.Temiz:
                kullanıcıŞifre.Şifre = istek.Şifre;
                break;

            case ŞifreFormatı.Encrypted:
                kullanıcıŞifre.Şifre = _şifrelemeServisi.TextŞifrele(istek.Şifre);
                break;

            case ŞifreFormatı.Hashed:
            {
                var saltKey = _şifrelemeServisi.SaltAnahtarıOluştur(5);
                kullanıcıŞifre.ŞifreSalt = saltKey;
                kullanıcıŞifre.Şifre     = _şifrelemeServisi.ŞifreHashOluştur(istek.Şifre, saltKey, _kullanıcıAyarları.HashŞifreFormatı);
            }
            break;
            }
            _kullanıcıServisi.KullanıcıŞifresiEkle(kullanıcıŞifre);

            istek.Kullanıcı.Aktif = istek.Onaylandı;

            //kayıtlı rol ekle
            var kayıtlıRol = _kullanıcıServisi.KullanıcıRolüAlSistemAdı(SistemKullanıcıRolAdları.Kayıtlı);

            if (kayıtlıRol == null)
            {
                throw new TSHata("Kayıtlı rolü eklenemedi");
            }
            istek.Kullanıcı.KullanıcıRolleri.Add(kayıtlıRol);
            //ziyaretçi rolünü sil
            var ziyaretçiRolü = istek.Kullanıcı.KullanıcıRolleri.FirstOrDefault(cr => cr.SistemAdı == SistemKullanıcıRolAdları.Ziyaretçi);

            if (ziyaretçiRolü != null)
            {
                istek.Kullanıcı.KullanıcıRolleri.Remove(ziyaretçiRolü);
            }

            //Add reward points for kullanıcı registration (if enabled)
            //
            //

            _kullanıcıServisi.KullanıcıGüncelle(istek.Kullanıcı);

            //publish event
            _olayYayınlayıcı.Yayınla(new KullanıcıŞifreDeğiştirdiOlayı(kullanıcıŞifre));

            return(sonuç);
        }
Example #4
0
        private bool BaşkaYöneticiMevcut(Kullanıcı kullanıcı)
        {
            var kullanıcılar = _kullanıcıServisi.TümKullanıcılarıAl(kullanıcıRolIdleri: new[] { _kullanıcıServisi.KullanıcıRolüAlSistemAdı(SistemKullanıcıRolAdları.Yönetici).Id });

            return(kullanıcılar.Any(c => c.Aktif && c.Id != kullanıcı.Id));
        }
Example #5
0
        public ISayfalıListe <BültenAboneliği> TümBültenAbonelikleriniAl(string email = null, DateTime?şuTarihden = default(DateTime?), DateTime?şuTarihe = default(DateTime?), int siteId = 0, bool?aktif = default(bool?), int kullanıcıRolId = 0, int sayfaIndeksi = 0, int sayfaBüyüklüğü = int.MaxValue)
        {
            if (kullanıcıRolId == 0)
            {
                var sorgu = _abonelikDepo.Tablo;
                if (!String.IsNullOrEmpty(email))
                {
                    sorgu = sorgu.Where(nls => nls.Email.Contains(email));
                }
                if (şuTarihden.HasValue)
                {
                    sorgu = sorgu.Where(nls => nls.OluşturulmaTarihi >= şuTarihden.Value);
                }
                if (şuTarihe.HasValue)
                {
                    sorgu = sorgu.Where(nls => nls.OluşturulmaTarihi <= şuTarihe.Value);
                }
                if (siteId > 0)
                {
                    sorgu = sorgu.Where(nls => nls.SiteId == siteId);
                }
                if (aktif.HasValue)
                {
                    sorgu = sorgu.Where(nls => nls.Aktif == aktif.Value);
                }
                sorgu = sorgu.OrderBy(nls => nls.Email);

                var abonelikler = new SayfalıListe <BültenAboneliği>(sorgu, sayfaIndeksi, sayfaBüyüklüğü);
                return(abonelikler);
            }
            else
            {
                var ziyaretçiRolü = _kullanıcıServisi.KullanıcıRolüAlSistemAdı(SistemKullanıcıRolAdları.Ziyaretçi);
                if (ziyaretçiRolü == null)
                {
                    throw new Hata("'Ziyaretçi' rolü yüklenemedi");
                }

                if (ziyaretçiRolü.Id == kullanıcıRolId)
                {
                    var sorgu = _abonelikDepo.Tablo;
                    if (!String.IsNullOrEmpty(email))
                    {
                        sorgu = sorgu.Where(nls => nls.Email.Contains(email));
                    }
                    if (şuTarihden.HasValue)
                    {
                        sorgu = sorgu.Where(nls => nls.OluşturulmaTarihi >= şuTarihden.Value);
                    }
                    if (şuTarihe.HasValue)
                    {
                        sorgu = sorgu.Where(nls => nls.OluşturulmaTarihi <= şuTarihe.Value);
                    }
                    if (siteId > 0)
                    {
                        sorgu = sorgu.Where(nls => nls.SiteId == siteId);
                    }
                    if (aktif.HasValue)
                    {
                        sorgu = sorgu.Where(nls => nls.Aktif == aktif.Value);
                    }
                    sorgu = sorgu.Where(nls => !_kullanıcıDepo.Tablo.Any(c => c.Email == nls.Email));
                    sorgu = sorgu.OrderBy(nls => nls.Email);

                    var abonelikler = new SayfalıListe <BültenAboneliği>(sorgu, sayfaIndeksi, sayfaBüyüklüğü);
                    return(abonelikler);
                }
                else
                {
                    var sorgu = _abonelikDepo.Tablo.Join(_kullanıcıDepo.Tablo,
                                                         nls => nls.Email,
                                                         c => c.Email,
                                                         (nls, c) => new
                    {
                        BültenAbonesi = nls,
                        Kullanıcı     = c
                    });
                    sorgu = sorgu.Where(x => x.Kullanıcı.KullanıcıRolleri.Any(cr => cr.Id == kullanıcıRolId));
                    if (!String.IsNullOrEmpty(email))
                    {
                        sorgu = sorgu.Where(x => x.BültenAbonesi.Email.Contains(email));
                    }
                    if (şuTarihden.HasValue)
                    {
                        sorgu = sorgu.Where(x => x.BültenAbonesi.OluşturulmaTarihi >= şuTarihden.Value);
                    }
                    if (şuTarihe.HasValue)
                    {
                        sorgu = sorgu.Where(x => x.BültenAbonesi.OluşturulmaTarihi <= şuTarihe.Value);
                    }
                    if (siteId > 0)
                    {
                        sorgu = sorgu.Where(x => x.BültenAbonesi.SiteId == siteId);
                    }
                    if (aktif.HasValue)
                    {
                        sorgu = sorgu.Where(x => x.BültenAbonesi.Aktif == aktif.Value);
                    }
                    sorgu = sorgu.OrderBy(x => x.BültenAbonesi.Email);

                    var subscriptions = new SayfalıListe <BültenAboneliği>(sorgu.Select(x => x.BültenAbonesi), sayfaIndeksi, sayfaBüyüklüğü);
                    return(subscriptions);
                }
            }
        }