public ActionResult ForgotPassword(ForgotPasswordViewModel model) { EmailHelper eh = new EmailHelper(); if (ModelState.IsValid) { //verify email address in database using (var dbContext = new SWE4713Entities()) { User usr = (from s in dbContext.Users where s.Email == model.Email select s).FirstOrDefault <User>(); if (usr != null) { string code = GeneratePasswordToken(usr.UserId); // send email with return url and code var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = usr.UserId, code = code }, protocol: Request.Url.Scheme); EmailModel em = new EmailModel(); em.SendFrom = "*****@*****.**"; em.SendTo = usr.Email; em.Subject = "Forgot Password Reset"; em.EmailBody = "<br>" + "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>"; eh.SendEmail(em); } } ViewBag.Message = "Password Reset Email Sent Successfully."; return(View("ForgotPasswordConfirmation", "Account")); } else { // If we got this far, something failed, redisplay form return(View("ForgotPasswordConfirmation", model)); } }
public ActionResult GetAccountById(int id) { var dbContext = new SWE4713Entities(); var account = dbContext.Users.Where(x => x.UserId == id);; if (account != null) { AdminViewModel model = new AdminViewModel(); foreach (var item in account) { model.UserName = item.UserName; model.UserType = item.UserType; model.FirstName = item.FirstName; model.LastName = item.LastName; model.Email = item.Email; model.DOB = Convert.ToDateTime(item.DOB); model.Street = item.Street; model.City = item.City; model.State = item.State; model.Zip = item.Zip; model.Active = item.Active; model.Attempts = Convert.ToInt32(item.Attempts); model.DateCreated = item.DateCreated; model.DateUpdated = Convert.ToDateTime(item.DateUpdated); } return(PartialView("_GridEditPartial", model)); } return(View()); }
public ActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { using (var dbContext = new SWE4713Entities()) { User db = new User(); db.FirstName = model.FirstName; db.LastName = model.LastName; db.DOB = model.DOB; db.Street = model.Street; db.City = model.City; db.State = model.State; db.Zip = model.Zip; db.UserTypeId = 3; //default set to Accountant db.UserName = model.FirstName.Substring(0, 1).ToLower() + model.LastName.ToLower() + DateTime.Now.Month.ToString("00") + DateTime.Now.Year.ToString().Substring(2, 2); //needs to save it as [firstinitial][lastname][month][year] //db.Picture = Convert.ToByte(model.Picture); db.Email = model.Email; db.DateCreated = DateTime.Now; db.Active = true; db.Password = Hasher.HashString(model.Password); dbContext.Users.Add(db); dbContext.SaveChanges(); } ViewBag.Message = "User Details Saved"; return(View("Register")); } else { return(View("Register", model)); } }
private bool ResetLoginFailure(string email) { bool result = false; using (var dbContext = new SWE4713Entities()) { var usr = dbContext.Users.SingleOrDefault(b => b.Email == email); if (usr != null) { usr.Attempts = 0; dbContext.SaveChanges(); result = true; } } return(result); }
public User IsValidUser(LoginViewModel model) { using (var dbContext = new SWE4713Entities()) { //Retireving the user details from DB based on username and password enetered by user. User user = dbContext.Users.Where(query => query.UserName.Equals(model.Username) && query.Password.Equals(Hasher.HashString(model.Password))).SingleOrDefault(); //If user is present, then true is returned. if (user == null) { return(null); } //If user is not present false is returned. else { return(user); } } }
private bool IncrementLoginFailure(string username) { bool result = false; using (var dbContext = new SWE4713Entities()) { var usr = dbContext.Users.SingleOrDefault(b => b.UserName == username); if (usr != null) { var loginAttempts = usr.Attempts; if (loginAttempts < 3) { usr.Attempts += 1; dbContext.SaveChanges(); result = true; } } } return(result); }
public ActionResult ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { using (var dbContext = new SWE4713Entities()) { Models.User userdb = (from s in dbContext.Users where s.Email == model.Email select s).FirstOrDefault <User>(); var oldPassword = userdb.Password; PasswordHistory phistory = new PasswordHistory(); phistory.OldPassword = oldPassword; phistory.DateCreated = DateTime.Now; phistory.Active = true; phistory.UserId = userdb.UserId; dbContext.PasswordHistories.Add(phistory); dbContext.SaveChanges(); var usr = dbContext.Users.SingleOrDefault(b => b.Email == model.Email); if (usr != null) { usr.Attempts = 0; usr.DateUpdated = DateTime.Now; dbContext.SaveChanges(); } ResetLoginFailure(model.Email); } return(View("ResetPasswordConfirmation", "Account")); } else { return(View("ResetPasswordConfirmation", model)); } }
// GET: Admin public ActionResult Index(int?pageNumber) { var dbContext = new SWE4713Entities(); AdminViewModel model = new AdminViewModel(); model.PageNumber = (pageNumber == null ? 1 : Convert.ToInt32(pageNumber)); model.PageSize = 4; List <User> accounts = dbContext.Users.ToList(); if (accounts != null) { model.AccountList = accounts.OrderBy(x => x.UserId) .Skip(model.PageSize * (model.PageNumber - 1)) .Take(model.PageSize).ToList(); model.TotalCount = accounts.Count(); var page = (model.TotalCount / model.PageSize) - (model.TotalCount % model.PageSize == 0 ? 1 : 0); model.PagerCount = page + 1; } return(View(model)); }