public async Task <IActionResult> SendPasswordResetAsync(string email) { var userList = userRepository.GetList(new UserByEmail(email)) as List <ApplicationUser>; if (userList.Count == 0) { notificationProvider.SetNotification( HttpContext.Session, "res-fail", "Invalid email address"); return(RedirectToAction("Index", "PasswordReset")); } var user = userList[0]; var url = Url.Action("ChangePassword", "PasswordReset", new { }, Request.Scheme); await passwordResetFactory.CreateCofirmationSender().SendConfirmationEmailAsync(user.Id, url, user.UserName); notificationProvider.SetNotification( HttpContext.Session, "res-suc", $"Password reset confirmation email has been sent to {email}"); return(RedirectToAction("SignIn", "Login")); }
public async Task <IActionResult> SignInAsync(string username, string password, string returnUrl) { await accountManager.SignOutAsync(); try { await accountManager.SignInAsync(username, password); } catch (System.Exception e) { htmlNotification.SetNotification(HttpContext.Session, "res-fail", e.Message); return(RedirectToAction("SignIn", new { returnUrl })); } htmlNotification.SetNotification(HttpContext.Session, "res-suc", "SignIn success"); if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToRoute("Home")); } return(Redirect(returnUrl)); }
public IActionResult Index(TripCreatorViewModel model, string answer) { if (!String.IsNullOrWhiteSpace(answer)) { switch (answer) { case "Accept": var message = model.GetErrorMessage(model); if (ModelState.IsValid && message.Length == 0) { if (!tripTimeCollisionChecker.IsColliding(accountManager.GetUserId(HttpContext.User), model.Date, model.DateEnd)) { ViewData["mapData"] = model.MapData; return(View("ConfirmationPositive", model)); } else { htmlNotification.SetNotification(HttpContext.Session, "res-fail", "One of your trips is colliding with trip you are trying to create!!!"); return(View("Index")); } } else { htmlNotification.SetNotification(HttpContext.Session, "res-fail", message); return(View("Index")); } case "Decline": return(RedirectToAction("Index", "Home")); default: return(RedirectToAction("Index", "Home")); } } else { return(View()); } }
public IActionResult Join(int tripId) { if (!tripTimeCollisionChecker.IsColliding(tripId, accountManager.GetUserId(HttpContext.User))) { TripUser tripUser = new TripUser { TripId = tripId, UserId = accountManager.GetUserId(HttpContext.User) }; tripUserRepository.Add(tripUser); } else { htmlNotification.SetNotification(HttpContext.Session, "res-fail", "One of your trips is colliding with trip you are trying to join!!!"); } return(RedirectToAction("index", "TripDetails", new { id = tripId })); }
public IActionResult Remove(int tripId) { var td = tripDetailsRepository.GetById(tripId); if (td.MapId != null) { fileManager.RemoveFile(td.MapId, "wwwroot/images/maps/"); } var passengers = from user in td.Passangers select user.User; stateEmailSender.SendOfferStateChangedEmail(passengers, GetDetailsURL(tripId), OfferStateChange.Deleted); tripUserRepository.RemoveTripUsers(tripId); tripDetailsRepository.Remove(td); notificationProvider.SetNotification(HttpContext.Session, "res-suc", "Trip deleted successfully"); return(RedirectToRoute("Home")); }