public ActionResult ConfirmEmail(string key) { using (var dataContext = new InnostarModelsContext()) { var repository = new ConfirmEmailRequestRepository(dataContext); var requests = repository._Get(u => u.RequestKey.Equals(key) && u.IsActive).ToList(); if (requests.Any()) { var request = requests.FirstOrDefault(); if (request == null) { throw new Exception("Данного запроса не существует"); } var userRepository = new ChatUserRepository(dataContext); var user = userRepository._Get(e => e.Id == request.UserId).FirstOrDefault(); if (user == null) { throw new Exception("Произошла ошибка в обработке запроса. Обратитесь в службу поддержки"); } user.Disabled = false; userRepository._Update(user); userRepository._Save(); request.IsActive = false; repository._Update(request); repository._Save(); return(View(new ConfirmEmailModel { RequestId = request.Id, RequestKey = key, UserDisplayName = user.Name })); } else { return(RedirectToAction("NotFound", "Error")); } } }
public string DisableSafeMode(int id) { using (var context = new InnostarModelsContext()) { var repository = new ChatUserRepository(context); var users = repository._Get(e => e.Id == id).ToList(); if (users.Any()) { var user = users.FirstOrDefault(); user.SafeModeActivated = false; user.SafeModeEndDate = DateTime.Now; repository._Update(user); repository._Save(); } } return(string.Empty); }
public ActionResult Password(RecoverPasswordModel requestModel) { using (var dataContext = new InnostarModelsContext()) { var recoverRepository = new RecoverPasswordRequestRepository(dataContext); var request = recoverRepository._Get(u => u.Id == requestModel.RequestId && u.RequestKey == requestModel.RequestKey && u.IsActive).FirstOrDefault(); if (request == null) { throw new Exception("Данного запроса не существует"); } var userRepository = new ChatUserRepository(dataContext); var user = userRepository._Get(e => e.Id == request.UserId).FirstOrDefault(); if (user == null) { throw new Exception("Произошла ошибка в обработке запроса. Обратитесь в службу поддержки"); } if (!string.IsNullOrEmpty(requestModel.NewPassword)) { var pu = new PasswordUtility(requestModel.NewPassword.ToCharArray()); user.PasswordHash = pu.Hash; user.PasswordSalt = pu.Salt; } userRepository._Update(user); userRepository._Save(); //request.IsActive = false; //recoverRepository.Update(request); //recoverRepository.Save(); return(RedirectToAction("Index", "Home")); } }