Пример #1
0
        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"));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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());
            }
        }
Пример #4
0
 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 }));
 }
Пример #5
0
        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"));
        }