Esempio n. 1
0
        public EmailFactory(IList <Claim> claims)
        {
            Configuration = ConfigurationManager.AppSettings;
            var smtpConfigJson = claims.Where(a => a.Type == "SmtpConfiguration").FirstOrDefault();

            if (smtpConfigJson == null)
            {
                logger.Error("No email SMTP Configuration");
                return;
            }

            try
            {
                smtpConfig                   = JsonConvert.DeserializeObject <SmtpConfigurationUser>(smtpConfigJson.Value);
                client                       = new SmtpClient();
                client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials           = new System.Net.NetworkCredential(smtpConfig.username, smtpConfig.password);
                client.EnableSsl             = Convert.ToBoolean(smtpConfig.enableSsl);

                client.Host    = smtpConfig.host;
                client.Port    = Convert.ToInt32(smtpConfig.port);
                client.Timeout = Convert.ToInt32(smtpConfig.timeout);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
            }
        }
        public ActionResult Edit([Bind(Include = "host,port,username,password,enableSsl,timeout")] SmtpConfigurationUser smtpConfigurationUser)
        {
            if (User == null || !User.Identity.IsAuthenticated)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (ModelState.IsValid)
            {
                var claims = UserManager.GetClaims(User.Identity.GetUserId());

                var smtpConfigJson = claims.Where(a => a.Type == "SmtpConfiguration").FirstOrDefault();

                if (smtpConfigJson == null)
                {
                    UserManager.AddClaim(User.Identity.GetUserId(), new Claim("SmtpConfiguration", JsonConvert.SerializeObject(smtpConfigurationUser)));
                }
                else
                {
                    UserManager.RemoveClaim(User.Identity.GetUserId(), smtpConfigJson);
                    UserManager.AddClaim(User.Identity.GetUserId(), new Claim("SmtpConfiguration", JsonConvert.SerializeObject(smtpConfigurationUser)));
                }
                ViewBag.Success = "block";
                ViewBag.Error   = "none";

                return(View(smtpConfigurationUser));
            }

            ViewBag.Success = "none";
            ViewBag.Error   = "block";
            return(View(smtpConfigurationUser));
        }