public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: WebApiPruebaContext db = new WebApiPruebaContext(); ApplicationUser user = UserManager.FindByName(model.Email); if (user.Email == WebConfigurationManager.AppSettings["AdminUser"]) { return(RedirectToLocal(returnUrl)); } else { var usuario = db.Users.Where(u => u.UserName == user.Email).FirstOrDefault(); if (usuario != null) { Session["Logo"] = usuario.Company.Logo; } } return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
private void SendEmail(string to, string from, string password, string subject, string body) { using (MailMessage mm = new MailMessage(from, to)) { mm.Subject = subject; mm.Body = body; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential(from, password); smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; using (var context = new WebApiPruebaContext()) { try { smtp.Send(mm); var emailStatus = new EmailSendStatus { Email = to, Send = true }; context.EmailSendStatus.Add(emailStatus); context.SaveChanges(); } catch (Exception ex) { var emailStatus = new EmailSendStatus { Email = to, Send = false }; context.EmailSendStatus.Add(emailStatus); context.SaveChanges(); } } } }
public ActionResult Edit(User user, string rol) { if (ModelState.IsValid) { if (user.PhotoFile != null) { var folder = "~/Content/Users"; var file = string.Format("{0}.jpg", user.UserId); var response = FilesHelper.UploadPhoto(user.PhotoFile, folder, file); if (response) { var pic = string.Format("{0}/{1}", folder, file); user.Photo = pic; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); } } var db2 = new WebApiPruebaContext(); var currentUser = db2.Users.Find(user.UserId); UsersHelper.DeleteUser(currentUser.UserName); if (rol == "1") { UsersHelper.CreateUserASP(user.UserName, "User"); } if (rol == "2") { UsersHelper.CreateUserASP(user.UserName, "Digitador"); } if (rol == "3") { UsersHelper.CreateUserASP(user.UserName, "Reunion"); } if (rol == "4") { UsersHelper.CreateUserASP(user.UserName, "Secretario"); } db.Entry(user).State = EntityState.Modified; try { db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("_Index")) { ModelState.AddModelError(string.Empty, "Ya existe un Registro con esa descripción"); } else { ModelState.AddModelError(string.Empty, ex.ToString()); } } } ViewBag.CountryId = new SelectList( CombosHelper.GetCountries(), "CountryId", "Name", user.CountryId); ViewBag.CityId = new SelectList( CombosHelper.GetCities(), "CityId", "Name", user.CityId); ViewBag.CompanyId = new SelectList( CombosHelper.GetCompanies(), "CompanyId", "Name", user.CompanyId); ViewBag.DepartmentId = new SelectList( CombosHelper.GetDepartments(), "DepartmentId", "Name", user.DepartmentId); List <SelectListItem> muser = new List <SelectListItem>(); muser.Add(new SelectListItem { Text = "Seleccione un rol", Value = "0" }); muser.Add(new SelectListItem { Text = "Administrador", Value = "1" }); muser.Add(new SelectListItem { Text = "Digitador", Value = "2" }); muser.Add(new SelectListItem { Text = "Reuniones", Value = "3" }); muser.Add(new SelectListItem { Text = "Secretario", Value = "4" }); ViewData["rol"] = muser; return(View(user)); }