コード例 #1
0
        public static string TamAdAl(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }
            var adı    = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Adı);
            var soyadı = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Soyadı);

            string tamAd = "";

            if (!String.IsNullOrWhiteSpace(adı) && !String.IsNullOrWhiteSpace(soyadı))
            {
                tamAd = string.Format("{0} {1}", adı, soyadı);
            }
            else
            {
                if (!String.IsNullOrWhiteSpace(adı))
                {
                    tamAd = adı;
                }

                if (!String.IsNullOrWhiteSpace(soyadı))
                {
                    tamAd = soyadı;
                }
            }
            return(tamAd);
        }
コード例 #2
0
        public TimeZoneInfo KullanıcıZamanDiliminiAl(Kullanıcı kullanıcı)
        {
            TimeZoneInfo zamanDilimiBilgisi = null;

            if (_tarihAyarları.KullanıcıZamanDilimiAyarlamasıİzinli)
            {
                string zamanDilimiId = string.Empty;
                if (kullanıcı != null)
                {
                    zamanDilimiId = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.ZamanDilimiId, _genelÖznitelikServisi);
                }

                try
                {
                    if (!String.IsNullOrEmpty(zamanDilimiId))
                    {
                        zamanDilimiBilgisi = ZamanDilimiBulId(zamanDilimiId);
                    }
                }
                catch (Exception exc)
                {
                    Debug.Write(exc.ToString());
                }
            }

            if (zamanDilimiBilgisi == null)
            {
                zamanDilimiBilgisi = this.SiteVarsayılanZamanDilimi;
            }

            return(zamanDilimiBilgisi);
        }
コード例 #3
0
        public static bool ŞifreKurtarmaLinkiSüresiDoldu(this Kullanıcı kullanıcı, KullanıcıAyarları kullanıcıAyarları)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            if (kullanıcıAyarları == null)
            {
                throw new ArgumentNullException("kullanıcıAyarları");
            }

            if (kullanıcıAyarları.GeçerliŞifreKurtamaGünü == 0)
            {
                return(false);
            }

            var oluşturulmaTarihi = kullanıcı.ÖznitelikAl <DateTime?>(SistemKullanıcıÖznitelikAdları.ŞifreKurtarmaKoduOluşturulmaTarihi);

            if (!oluşturulmaTarihi.HasValue)
            {
                return(false);
            }

            var daysPassed = (DateTime.UtcNow - oluşturulmaTarihi.Value).TotalDays;

            if (daysPassed > kullanıcıAyarları.GeçerliŞifreKurtamaGünü)
            {
                return(true);
            }

            return(false);
        }
コード例 #4
0
 protected virtual KullanıcıModel ListeİçinKullanıcıModelHazırla(Kullanıcı kullanıcı)
 {
     return(new KullanıcıModel
     {
         Id = kullanıcı.Id,
         Email = kullanıcı.IsRegistered() ? kullanıcı.Email : "Ziyaretçi",
         KullanıcıAdı = kullanıcı.KullanıcıAdı,
         Adı = kullanıcı.TamAdAl(),
         Şirket = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Şirket),
         Tel = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Tel),
         PostaKodu = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.PostaKodu),
         KullanıcıRolAdları = KullanıcıRolAdlarıAl(kullanıcı.KullanıcıRolleri.ToList()),
         Aktif = kullanıcı.Aktif,
         OluşturulmaTarihi = _tarihYardımcısı.KullanıcıZamanınaDönüştür(kullanıcı.ŞuTarihdeOluşturuldu, DateTimeKind.Utc),
         SonİşlemTarihi = _tarihYardımcısı.KullanıcıZamanınaDönüştür(kullanıcı.SonİşlemTarihi, DateTimeKind.Utc),
     });
 }
コード例 #5
0
        public static bool ParolaSüresiDoldu(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            //Ziyaretçilerin şifresi yok
            if (kullanıcı.IsGuest())
            {
                return(false);
            }

            //kullanıcılar için şifre ömrü devre dışı
            if (!kullanıcı.KullanıcıRolleri.Any(role => role.Aktif && role.ParolaÖmrünüEtkinleştir))
            {
                return(false);
            }

            //ayar tamamı için devre dışı bırakıldı
            var kullanıcıAyarları = EngineContext.Current.Resolve <KullanıcıAyarları>();

            if (kullanıcıAyarları.ŞifreÖmrü == 0)
            {
                return(false);
            }

            //var geneatedDate = Convert.ToDateTime((DateTime.Now.Year - 1));
            var geneatedDate = kullanıcı.ÖznitelikAl <DateTime?>(SistemKullanıcıÖznitelikAdları.ParolaKurtarmaTokenOluşturulmaTarihi);

            if (!geneatedDate.HasValue)
            {
                return(false);
            }

            var daysPassed = (DateTime.UtcNow - geneatedDate.Value).TotalDays;

            if (daysPassed > kullanıcıAyarları.ŞifreÖmrü)
            {
                return(true);
            }

            return(false);
        }
コード例 #6
0
        public static string KullanıcıAdıFormatı(this Kullanıcı kullanıcı, bool şeritÇokUzun = false, int maksUzunluk = 0)
        {
            if (kullanıcı == null)
            {
                return(string.Empty);
            }

            if (kullanıcı.IsGuest())
            {
                //return EngineContext.Current.Resolve<ILocalizationService>().GetResource("Kullanıcı.Guest");
            }

            string sonuç = string.Empty;

            switch (EngineContext.Current.Resolve <KullanıcıAyarları>().KullanıcıAdıFormatı)
            {
            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.EmailGöster:
                sonuç = kullanıcı.Email;
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.KullanıcıAdıGöster:
                sonuç = kullanıcı.KullanıcıAdı;
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.TamAdıGöster:
                sonuç = kullanıcı.TamAdAl();
                break;

            case Core.Domain.Kullanıcılar.KullanıcıAdıFormatı.SadeceAdıGöster:
                sonuç = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Adı);
                break;

            default:
                break;
            }

            if (şeritÇokUzun && maksUzunluk > 0)
            {
                sonuç = GenelYardımcı.MaksimumUzunlukKontrol(sonuç, maksUzunluk);
            }

            return(sonuç);
        }
コード例 #7
0
        public static bool ŞifreKurtarmaSimgesiGeçerli(this Kullanıcı kullanıcı, string token)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            var cPrt = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.ŞifreKurtarmaKodu);

            if (String.IsNullOrEmpty(cPrt))
            {
                return(false);
            }

            if (!cPrt.Equals(token, StringComparison.InvariantCultureIgnoreCase))
            {
                return(false);
            }

            return(true);
        }
コード例 #8
0
        public static string[] UygulananKupoKodlarınıAyrıştır(this Kullanıcı kullanıcı)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            var genelÖznitelikServisi = EngineContext.Current.Resolve <IGenelÖznitelikServisi>();
            var mevcutKuponKodları    = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.İndirimKuponuKodu,
                                                                       genelÖznitelikServisi);

            var kuponKodları = new List <string>();

            if (String.IsNullOrEmpty(mevcutKuponKodları))
            {
                return(kuponKodları.ToArray());
            }

            try
            {
                var xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(mevcutKuponKodları);

                var nodeList1 = xmlDoc.SelectNodes(@"//İndirimKuponları/KuponKodu");
                foreach (XmlNode node1 in nodeList1)
                {
                    if (node1.Attributes != null && node1.Attributes["Kod"] != null)
                    {
                        string code = node1.Attributes["Kod"].InnerText.Trim();
                        kuponKodları.Add(code);
                    }
                }
            }
            catch (Exception exc)
            {
                Debug.Write(exc.ToString());
            }
            return(kuponKodları.ToArray());
        }
コード例 #9
0
        protected virtual void KullanıcıModelHazırla(KullanıcıModel model, Kullanıcı kullanıcı, bool özellikleriDışla)
        {
            var tümSiteler = _siteServisi.TümSiteler();

            if (kullanıcı != null)
            {
                model.Id = kullanıcı.Id;
                if (!özellikleriDışla)
                {
                    model.Email        = kullanıcı.Email;
                    model.KullanıcıAdı = kullanıcı.KullanıcıAdı;
                    model.AdminYorumu  = kullanıcı.AdminYorumu;
                    model.Aktif        = kullanıcı.Aktif;

                    if (kullanıcı.KayıtOlduSiteId == 0 || tümSiteler.All(s => s.Id != kullanıcı.KayıtOlduSiteId))
                    {
                        model.SitedeKayıtlı = string.Empty;
                    }
                    else
                    {
                        model.SitedeKayıtlı = tümSiteler.First(s => s.Id == kullanıcı.KayıtOlduSiteId).Adı;
                    }


                    model.OluşturulmaTarihi     = _tarihYardımcısı.KullanıcıZamanınaDönüştür(kullanıcı.ŞuTarihdeOluşturuldu, DateTimeKind.Utc);
                    model.SonİşlemTarihi        = _tarihYardımcısı.KullanıcıZamanınaDönüştür(kullanıcı.SonİşlemTarihi, DateTimeKind.Utc);
                    model.SonIpAdresi           = kullanıcı.SonIPAdresi;
                    model.SonZiyaretEdilenSayfa = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.SonZiyaretEdilenSayfa);

                    model.SeçiliKullanıcıRolIdleri = kullanıcı.KullanıcıRolleri.Select(cr => cr.Id).ToList();

                    //abonelik
                    if (!String.IsNullOrEmpty(kullanıcı.Email))
                    {
                        var abonelikKayıtlarıSiteId = new List <int>();
                        foreach (var site in tümSiteler)
                        {
                            var bültenAbonelikKaydı = _bültenAbonelikServisi
                                                      .BültenAboneliğiAlEmailVeSiteId(kullanıcı.Email, site.Id);
                            if (bültenAbonelikKaydı != null)
                            {
                                abonelikKayıtlarıSiteId.Add(site.Id);
                            }
                            model.SeçiliAbonleikKayıtları = abonelikKayıtlarıSiteId.ToArray();
                        }
                    }

                    //form fields
                    model.Adı          = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Adı);
                    model.Soyadı       = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Soyadı);
                    model.Cinsiyet     = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Cinsiyet);
                    model.DoğumGünü    = kullanıcı.ÖznitelikAl <DateTime?>(SistemKullanıcıÖznitelikAdları.DoğumTarihi);
                    model.Şirket       = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Şirket);
                    model.SokakAdresi  = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.SokakAdresi1);
                    model.SokakAdresi2 = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.SokakAdresi2);
                    model.PostaKodu    = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.PostaKodu);
                    model.Şehir        = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Şehir);
                    model.ÜlkeId       = kullanıcı.ÖznitelikAl <int>(SistemKullanıcıÖznitelikAdları.ÜlkeId);
                    model.Tel          = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Tel);
                    model.Faks         = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.Fax);
                }
            }

            model.KullanıcıAdlarıEtkin = _kullanıcıAyarları.KullanıcıAdlarıEtkin;
            //model. = _tarihYardımcısı.iz;

            //kullanıcı öznitelikleri
            //KullanıcıÖznitelikModelHazırla(model, kullanıcı);

            model.CinsiyetEtkin     = _kullanıcıAyarları.CinsiyetEtkin;
            model.DoğumGünüEtkin    = _kullanıcıAyarları.DoğumTarihiEtkin;
            model.ŞirketEtkin       = _kullanıcıAyarları.ŞirketEtkin;
            model.SokakAdresiEtkin  = _kullanıcıAyarları.SokakAdresiEtkin;
            model.SokakAdresi2Etkin = _kullanıcıAyarları.SokakAdresi2Etkin;
            model.PostaKoduEtkin    = _kullanıcıAyarları.PostaKoduEtkin;
            model.ŞehirEtkin        = _kullanıcıAyarları.ŞehirEtkin;
            model.ÜlkeEtkin         = _kullanıcıAyarları.ÜlkeEtkin;
            model.TelEtkin          = _kullanıcıAyarları.TelEtkin;
            model.FaksEtkin         = _kullanıcıAyarları.FaksEtkin;

            //ülkeler
            if (_kullanıcıAyarları.ÜlkeEtkin)
            {
                model.KullanılabilirÜlkeler.Add(new SelectListItem {
                    Text = "Ülke seçiniz", Value = "0"
                });
                foreach (var c in _ülkeServisi.TümÜlkeleriAl(gizliOlanıGöster: true))
                {
                    model.KullanılabilirÜlkeler.Add(new SelectListItem
                    {
                        Text     = c.Adı,
                        Value    = c.Id.ToString(),
                        Selected = c.Id == model.ÜlkeId
                    });
                }
            }

            //abonelik kayıtları
            model.AbonelikKayıtlarıKullanılabilirSiteler = tümSiteler
                                                           .Select(s => new KullanıcıModel.SiteModel()
            {
                Id = s.Id, Adı = s.Adı
            })
                                                           .ToList();

            //kullanıcı rolleri
            var tümRoller = _kullanıcıServisi.TümKullanıcıRolleriniAl(true);
            var adminRolü = tümRoller.FirstOrDefault(c => c.SistemAdı == SistemKullanıcıRolAdları.Kayıtlı);

            if (kullanıcı == null && adminRolü != null)
            {
                model.SeçiliKullanıcıRolIdleri.Add(adminRolü.Id);
            }
            foreach (var rol in tümRoller)
            {
                model.KullanılabilirKullanıcıRolleri.Add(new SelectListItem
                {
                    Text     = rol.Adı,
                    Value    = rol.Id.ToString(),
                    Selected = model.SeçiliKullanıcıRolIdleri.Contains(rol.Id)
                });
            }

            //ödül puanı
            if (kullanıcı != null)
            {
                //model.ÖdülPuanıGeçmişiniGörüntüle = _rewardPointsSettings.Enabled;
                model.ÖdülPuanıDeğeriEkle = 0;
                model.ÖdülPuanıMesajıEkle = "Ödül puanı mesajı...";

                //siteler
                foreach (var store in tümSiteler)
                {
                    model.ÖdülPuanıKullanılabilirSiteler.Add(new SelectListItem
                    {
                        Text     = store.Adı,
                        Value    = store.Id.ToString(),
                        Selected = (store.Id == _siteContext.MevcutSite.Id)
                    });
                }
            }
            else
            {
                model.ÖdülPuanıGeçmişiniGörüntüle = false;
            }
            //harici yetkilendirme kayıtları
            if (kullanıcı != null)
            {
                model.İlişkilendirilmişHariciKimlikDoğrulamaKayıtları = İlişkilendirilmişHariciKimlikDoğrulamaKayıtlarınıAl(kullanıcı);
            }

            model.HoşgeldinizMesajıGönderimiEtkin = _kullanıcıAyarları.KullanıcıKayıtTipi == KullanıcıKayıtTipi.YöneticiOnayı &&
                                                    kullanıcı != null &&
                                                    kullanıcı.IsRegistered();

            model.AktivasyonMesajıGönderimiEtkin = _kullanıcıAyarları.KullanıcıKayıtTipi == KullanıcıKayıtTipi.EmailDoğrulaması &&
                                                   kullanıcı != null &&
                                                   kullanıcı.IsRegistered() &&
                                                   !kullanıcı.Aktif;
        }
コード例 #10
0
        public static void İndirimKuponuKoduUygula(this Kullanıcı kullanıcı, string kuponKodu)
        {
            if (kullanıcı == null)
            {
                throw new ArgumentNullException("kullanıcı");
            }

            var    genelÖznitelikServisi = EngineContext.Current.Resolve <IGenelÖznitelikServisi>();
            string sonuç = string.Empty;

            try
            {
                var mevcutKuponKodları = kullanıcı.ÖznitelikAl <string>(SistemKullanıcıÖznitelikAdları.İndirimKuponuKodu,
                                                                        genelÖznitelikServisi);

                kuponKodu = kuponKodu.Trim().ToLower();

                var xmlDoc = new XmlDocument();
                if (String.IsNullOrEmpty(mevcutKuponKodları))
                {
                    var element1 = xmlDoc.CreateElement("İndirimKuponuKodları");
                    xmlDoc.AppendChild(element1);
                }
                else
                {
                    xmlDoc.LoadXml(mevcutKuponKodları);
                }
                var rootElement = (XmlElement)xmlDoc.SelectSingleNode(@"//İndirimKuponları");

                XmlElement gcElement = null;
                //varolanı bul
                var nodeList1 = xmlDoc.SelectNodes(@"//İndirimKuponları/KuponKodu");
                foreach (XmlNode node1 in nodeList1)
                {
                    if (node1.Attributes != null && node1.Attributes["Code"] != null)
                    {
                        string kuponKoduÖzniteliği = node1.Attributes["Code"].InnerText.Trim();
                        if (kuponKoduÖzniteliği.ToLower() == kuponKodu.ToLower())
                        {
                            gcElement = (XmlElement)node1;
                            break;
                        }
                    }
                }

                //yoksa yeni oluştur
                if (gcElement == null)
                {
                    gcElement = xmlDoc.CreateElement("KuponKodu");
                    gcElement.SetAttribute("Code", kuponKodu);
                    rootElement.AppendChild(gcElement);
                }

                sonuç = xmlDoc.OuterXml;
            }
            catch (Exception exc)
            {
                Debug.Write(exc.ToString());
            }

            //yeni değer uygula
            genelÖznitelikServisi.ÖznitelikKaydet(kullanıcı, SistemKullanıcıÖznitelikAdları.İndirimKuponuKodu, sonuç);
        }