예제 #1
0
        /*
         * [HttpPost, ActionName("GenelAyarlar")]
         * [FormDeğeriGerekli("encryptionkeydeğiştir")]
         * public virtual ActionResult EncryptionKeyDeğiştir(GenelAyarlarModel model)
         * {
         *  if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.AyarlarıYönet))
         *      return ErişimEngellendiView();
         *
         *  this.Server.ScriptTimeout = 300;
         *
         *  var siteScope = this.AktifSiteKapsamYapılandırmaAl(_siteServisi, _workContext);
         *  var güvenlikAyarları = _ayarlarServisi.AyarYükle<GüvenlikAyarları>(siteScope);
         *
         *  try
         *  {
         *      if (model.GüvenlikAyarları.EncryptionKey == null)
         *          model.GüvenlikAyarları.EncryptionKey = "";
         *
         *      model.GüvenlikAyarları.EncryptionKey = model.GüvenlikAyarları.EncryptionKey.Trim();
         *
         *      var newEncryptionPrivateKey = model.GüvenlikAyarları.EncryptionKey;
         *      if (String.IsNullOrEmpty(newEncryptionPrivateKey) || newEncryptionPrivateKey.Length != 16)
         *          throw new Exception("çok kısa");
         *
         *      string oldEncryptionPrivateKey = güvenlikAyarları.EncryptionKey;
         *      if (oldEncryptionPrivateKey == newEncryptionPrivateKey)
         *          throw new NopException(_localizationService.GetResource("Admin.Configuration.Settings.GeneralCommon.EncryptionKey.TheSame"));
         *
         *      //update encrypted order info
         *      var orders = _orderService.SearchOrders();
         *      foreach (var order in orders)
         *      {
         *          string decryptedCardType = _encryptionService.DecryptText(order.CardType, oldEncryptionPrivateKey);
         *          string decryptedCardName = _encryptionService.DecryptText(order.CardName, oldEncryptionPrivateKey);
         *          string decryptedCardNumber = _encryptionService.DecryptText(order.CardNumber, oldEncryptionPrivateKey);
         *          string decryptedMaskedCreditCardNumber = _encryptionService.DecryptText(order.MaskedCreditCardNumber, oldEncryptionPrivateKey);
         *          string decryptedCardCvv2 = _encryptionService.DecryptText(order.CardCvv2, oldEncryptionPrivateKey);
         *          string decryptedCardExpirationMonth = _encryptionService.DecryptText(order.CardExpirationMonth, oldEncryptionPrivateKey);
         *          string decryptedCardExpirationYear = _encryptionService.DecryptText(order.CardExpirationYear, oldEncryptionPrivateKey);
         *
         *          string encryptedCardType = _encryptionService.EncryptText(decryptedCardType, newEncryptionPrivateKey);
         *          string encryptedCardName = _encryptionService.EncryptText(decryptedCardName, newEncryptionPrivateKey);
         *          string encryptedCardNumber = _encryptionService.EncryptText(decryptedCardNumber, newEncryptionPrivateKey);
         *          string encryptedMaskedCreditCardNumber = _encryptionService.EncryptText(decryptedMaskedCreditCardNumber, newEncryptionPrivateKey);
         *          string encryptedCardCvv2 = _encryptionService.EncryptText(decryptedCardCvv2, newEncryptionPrivateKey);
         *          string encryptedCardExpirationMonth = _encryptionService.EncryptText(decryptedCardExpirationMonth, newEncryptionPrivateKey);
         *          string encryptedCardExpirationYear = _encryptionService.EncryptText(decryptedCardExpirationYear, newEncryptionPrivateKey);
         *
         *          order.CardType = encryptedCardType;
         *          order.CardName = encryptedCardName;
         *          order.CardNumber = encryptedCardNumber;
         *          order.MaskedCreditCardNumber = encryptedMaskedCreditCardNumber;
         *          order.CardCvv2 = encryptedCardCvv2;
         *          order.CardExpirationMonth = encryptedCardExpirationMonth;
         *          order.CardExpirationYear = encryptedCardExpirationYear;
         *          _orderService.UpdateOrder(order);
         *      }
         *      //update password information
         *      //optimization - load only passwords with PasswordFormat.Encrypted
         *      var customerPasswords = _customerService.GetCustomerPasswords(passwordFormat: PasswordFormat.Encrypted);
         *      foreach (var customerPassword in customerPasswords)
         *      {
         *          var decryptedPassword = _encryptionService.DecryptText(customerPassword.Password, oldEncryptionPrivateKey);
         *          var encryptedPassword = _encryptionService.EncryptText(decryptedPassword, newEncryptionPrivateKey);
         *
         *          customerPassword.Password = encryptedPassword;
         *          _customerService.UpdateCustomerPassword(customerPassword);
         *      }
         *
         *      securitySettings.EncryptionKey = newEncryptionPrivateKey;
         *      _ayarlarServisi.SaveSetting(securitySettings);
         *      SuccessNotification(_localizationService.GetResource("Admin.Configuration.Settings.GeneralCommon.EncryptionKey.Changed"));
         *  }
         *  catch (Exception exc)
         *  {
         *      ErrorNotification(exc);
         *  }
         *  return RedirectToAction("GeneralCommon");
         * }
         */

        public virtual ActionResult Kullanıcı()
        {
            if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.AyarlarıYönet))
            {
                return(ErişimEngellendiView());
            }

            var siteScope                   = this.AktifSiteKapsamYapılandırmaAl(_siteServisi, _workContext);
            var kullanıcıAyarları           = _ayarlarServisi.AyarYükle <KullanıcıAyarları>(siteScope);
            var adresAyarları               = _ayarlarServisi.AyarYükle <AdresAyarları>(siteScope);
            var tarihAyarları               = _ayarlarServisi.AyarYükle <TarihAyarları>(siteScope);
            var hariciYetkilendirmeAyarları = _ayarlarServisi.AyarYükle <HariciYetkilendirmeAyarları>(siteScope);

            //ayarları birleştir
            var model = new KullanıcıAyarlarModel();

            model.KullanıcıAyarları = kullanıcıAyarları.ToModel();
            model.AdresAyarlari     = adresAyarları.ToModel();

            model.TarihAyarları.KullanıcılarZamanDilimiAyarlayabilir = tarihAyarları.KullanıcıZamanDilimiAyarlamasıİzinli;
            model.TarihAyarları.VarsayılanSiteZamanDilimiId          = _tarihYardımcısı.SiteVarsayılanZamanDilimi.Id;
            foreach (TimeZoneInfo timeZone in _tarihYardımcısı.SistemZamanDilimiAl())
            {
                model.TarihAyarları.MevcutZamanDilimleri.Add(new SelectListItem
                {
                    Text     = timeZone.DisplayName,
                    Value    = timeZone.Id,
                    Selected = timeZone.Id.Equals(_tarihYardımcısı.SiteVarsayılanZamanDilimi.Id, StringComparison.InvariantCultureIgnoreCase)
                });
            }

            model.HariciKimlikDoğrulamaAyarları.OtomatikKayıtEtkin = hariciYetkilendirmeAyarları.OtoKayıtEtkin;

            return(View(model));
        }
예제 #2
0
        public virtual ActionResult Kullanıcı(KullanıcıAyarlarModel model)
        {
            if (!_izinServisi.YetkiVer(StandartİzinSağlayıcı.AyarlarıYönet))
            {
                return(ErişimEngellendiView());
            }

            var siteScope                   = this.AktifSiteKapsamYapılandırmaAl(_siteServisi, _workContext);
            var kullanıcıAyarları           = _ayarlarServisi.AyarYükle <KullanıcıAyarları>(siteScope);
            var adresAyarları               = _ayarlarServisi.AyarYükle <AdresAyarları>(siteScope);
            var tarihAyarları               = _ayarlarServisi.AyarYükle <TarihAyarları>(siteScope);
            var hariciYetkilendirmeAyarları = _ayarlarServisi.AyarYükle <HariciYetkilendirmeAyarları>(siteScope);


            kullanıcıAyarları = model.KullanıcıAyarları.ToEntity(kullanıcıAyarları);
            _ayarlarServisi.AyarKaydet(kullanıcıAyarları);

            adresAyarları = model.AdresAyarlari.ToEntity(adresAyarları);
            _ayarlarServisi.AyarKaydet(adresAyarları);

            tarihAyarları.SiteVarsayılanZamanDilimiId          = model.TarihAyarları.VarsayılanSiteZamanDilimiId;
            tarihAyarları.KullanıcıZamanDilimiAyarlamasıİzinli = model.TarihAyarları.KullanıcılarZamanDilimiAyarlayabilir;
            _ayarlarServisi.AyarKaydet(tarihAyarları);

            hariciYetkilendirmeAyarları.OtoKayıtEtkin = model.HariciKimlikDoğrulamaAyarları.OtomatikKayıtEtkin;
            _ayarlarServisi.AyarKaydet(hariciYetkilendirmeAyarları);

            //işlemKaydı
            _kulllanıcıİşlemServisi.İşlemEkle("AyarlarDüzenlendi", "Ayarlar Düzenlendi");

            BaşarılıBildirimi("Ayarlar güncellendi");

            //seçili tab
            SeçiliTabKaydet();

            return(RedirectToAction("Kullanıcı"));
        }