public ActionResult PasswordRecovery(string email)
        {
            AjaxMessagge resultMessage = new AjaxMessagge();

            if (db.Utenti.Where(x => x.email == email).Count() == 0)
            {
                resultMessage.Success     = false;
                resultMessage.Message     = "emailnontrovata".Translate();
                resultMessage.RedirectUrl = "/";
            }
            else
            {
                Utenti u = db.Utenti.Where(x => x.email == email).FirstOrDefault();

                // invio password

                string mailbody = db.Emailtemplate.Where(x => x.lang == (u.lang != "it"?"en":"it") && x.name == "recuperopassword").Select(x => x.template).FirstOrDefault().Replace("%pass%", u.password);


                MailMessage m = new MailMessage();
                m.From = new MailAddress("*****@*****.**");
                m.To.Add(email);
                m.IsBodyHtml   = true;
                m.Body         = mailbody;
                m.BodyEncoding = Encoding.UTF8;
                m.Subject      = "msg_recuperopassword".Translate();

                SmtpClient s = new SmtpClient("smtp.office365.com");
                s.Port      = 587;
                s.EnableSsl = true;
                System.Net.NetworkCredential c = new System.Net.NetworkCredential();

                c.UserName    = "******";
                c.Password    = "******";
                s.Credentials = c;

                try
                {
                    s.Send(m);
                    resultMessage.Success     = true;
                    resultMessage.Message     = string.Format("emailinviata".Translate());
                    resultMessage.RedirectUrl = "/";
                }
                catch
                {
                    resultMessage.Success     = false;
                    resultMessage.Message     = string.Format("err_inviomail".Translate());
                    resultMessage.RedirectUrl = "/";
                }
            }

            return(Json(resultMessage));
        }
        public ActionResult RegistraNewsletter(UtentiNewsletter u)
        {
            u.lang = LanguageSetting.Lang;
            u.data = DateTime.Now;
            AjaxMessagge resultMessage = new AjaxMessagge();

            if (ModelState.IsValid)
            {
                // registro
                // devo vedere se l'indirizzo email è già presente
                if (db.UtentiNewsletter.Where(x => x.email == u.email).Count() > 0)
                {
                    UtentiNewsletter uvecchio = db.UtentiNewsletter.Where(x => x.email == u.email).FirstOrDefault();
                    uvecchio.ragionesociale = u.ragionesociale;
                    uvecchio.attivo         = true;
                    uvecchio.professione    = u.professione;
                    db.UtentiNewsletter.Attach(uvecchio);
                    db.Entry(uvecchio).State = EntityState.Modified;
                }
                else
                {
                    db.UtentiNewsletter.Add(u);
                }


                db.SaveChanges();

                resultMessage.Success     = true;
                resultMessage.Message     = "grazieregistratonewsletter".Translate();
                resultMessage.RedirectUrl = LanguageSetting.GetLangNavigation() + "/";
            }
            else
            {
                resultMessage.Success     = false;
                resultMessage.Message     = "err_controllacampi".Translate();
                resultMessage.RedirectUrl = LanguageSetting.GetLangNavigation() + "/";
            }

            return(Json(resultMessage));
        }
Example #3
0
        public ActionResult Index(string email, string password)
        {
            // vede se ci sono errori nel modello o roba non ammessa
            // ModelState.IsValid()
            AccessControl AccessControl = new AccessControl();
            AjaxMessagge  resultMessage = new AjaxMessagge();

            if (ModelState.IsValid)
            {
                if (AccessControl.CheckLogin(email, password, AccessControl.LoginType.admin))
                {
                    FormsAuthentication.SetAuthCookie(email, false);


                    resultMessage.Success     = true;
                    resultMessage.Message     = "Benvenuto";
                    resultMessage.RedirectUrl = "/admin/pages"; // poi mettere dashboard
                    //return Redirect("/admin/administratorsList");
                }
                else
                {
                    ModelState.AddModelError("errLogin", "Credenziali Errate");
                    resultMessage.Message = "Credenziali Errate";
                    resultMessage.Success = false;

                    //return View();
                }
            }
            else
            {
                ModelState.AddModelError("errLogin", "Credenziali Errate");
                resultMessage.Message = "Credenziali Errate";
                resultMessage.Success = false;
            }

            //ViewBag.test = HttpContext.User.Identity.Name;
            //return View();
            return(Json(resultMessage));
        }
        public ActionResult Login(string email, string password, string r = "")
        {
            AjaxMessagge resultMessage = new AjaxMessagge();

            if (db.Utenti.Where(x => x.email == email && x.password == password).Count() == 0)
            {
                resultMessage.Success     = false;
                resultMessage.Message     = "err_login".Translate();
                resultMessage.RedirectUrl = "/";
            }
            else
            {
                Utenti u = db.Utenti.Where(x => x.email == email && x.password == password).FirstOrDefault();
                FormsAuthentication.SetAuthCookie(email, false);

                // loggato
                resultMessage.Success     = true;
                resultMessage.Message     = string.Format("txt_welcome".Translate(), u.nome + " " + u.cognome);
                resultMessage.RedirectUrl = "/";
            }

            return(Json(resultMessage));
        }
        public ActionResult RegistraUtente(Utenti u)
        {
            u.lang = LanguageSetting.Lang;
            u.data = DateTime.Now;
            AjaxMessagge resultMessage = new AjaxMessagge();

            if (ModelState.IsValid)
            {
                // registro
                // controllo univocità email
                bool isduplicate = db.Utenti.Where(x => x.email == u.email).Count() > 0;
                if (isduplicate)
                {
                    resultMessage.Success     = false;
                    resultMessage.Message     = "registrazionedoppia".Translate();
                    resultMessage.RedirectUrl = "/"; // poi mettere dashboard
                }
                else
                {
                    db.Utenti.Add(u);
                    db.SaveChanges();
                    resultMessage.Success = true;
                    resultMessage.Message = "grazieregistrato".Translate();
                    //resultMessage.RedirectUrl = LanguageSetting.GetLangNavigation() + "/login" + (!string.IsNullOrEmpty(Request.QueryString["r"]) ? "?r=" + Request.QueryString["r"] : ""); // poi mettere dashboard
                    resultMessage.RedirectUrl = (!string.IsNullOrEmpty(Request.QueryString["r"]) ? Request.QueryString["r"] : LanguageSetting.GetLangNavigation() + "/"); // poi mettere dashboard
                }
            }
            else
            {
                resultMessage.Success     = false;
                resultMessage.Message     = "err_controllacampi".Translate();
                resultMessage.RedirectUrl = "/"; // poi mettere dashboard
            }

            return(Json(resultMessage));
        }