[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Create(PostActorModel postActorModel) { try { AuthorizeHelper.Authorize(this.HttpContext, "Editor", this.GetType().Name, "Create", "actor"); if (ModelState.IsValid) { GetActorModel getActorModel = await _moviemindAPIService.PostModel <PostActorModel, GetActorModel>(postActorModel, "Actors"); //put in new relationships foreach (Guid movieId in postActorModel.MovieIds) { await _moviemindAPIService.PostModel <PostActorMovieModel, GetActorMovieModel>(new PostActorMovieModel { ActorId = getActorModel.Id, MovieId = movieId }, "ActorMovies"); } return(Redirect("/Actors/Details/" + getActorModel.Id.ToString())); } return(View(postActorModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e, this.View(postActorModel))); } }
[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Create(PostReviewModel postReviewModel) { try { AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Create", "review"); if (ModelState.IsValid) { var userId = HttpContext.Session.GetString("_Id"); var user = await _moviemindAPIService.GetModel <GetUserModel>(userId, "users"); postReviewModel.UserId = user.Id; GetReviewModel getReviewModel = await _moviemindAPIService.PostModel <PostReviewModel, GetReviewModel>(postReviewModel, "reviews"); return(Redirect("/Reviews/Details/" + getReviewModel.Id.ToString())); } return(View(postReviewModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e, this.View(postReviewModel))); } }
[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Create(PostDirectorModel postDirectorModel) { try { AuthorizeHelper.Authorize(this.HttpContext, "Editor", this.GetType().Name, "Create", "director"); if (ModelState.IsValid) { GetDirectorModel getDirectorModel = await _moviemindAPIService.PostModel <PostDirectorModel, GetDirectorModel>(postDirectorModel, "Directors"); if (TempData["controller"] != null && TempData["action"] != null) { return(RedirectToRoute(new { action = TempData["action"], controller = TempData["controller"] })); } return(Redirect("Directors/Details/" + getDirectorModel.Id.ToString())); } return(View(postDirectorModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e, this.View(postDirectorModel))); } }
public async Task <IActionResult> ForgotPassword(ForgotPasswordModel forgotPasswordModel) { if (ModelState.IsValid) { ResetPasswordModel resetPasswordModel = await _moviemindAPIService.PostModel <ForgotPasswordModel, ResetPasswordModel>(forgotPasswordModel, "users/forgotpassword"); return(View("ResetPassword", resetPasswordModel)); } return(View(forgotPasswordModel)); }
[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Index(PostUserModel postUserModel, string rememberMe) { if (postUserModel.Password != postUserModel.ConfirmPassword) { ModelState.AddModelError("ConfirmPassword", _localizer["Passwords are not the same"]); } if (ModelState.IsValid) { try { if (postUserModel.Roles == null) { postUserModel.Roles = new List <String> { "Guest" }; } else if (postUserModel.Roles.Count == 0) { postUserModel.Roles.Add("Guest"); } // Send an API request to create the new user GetUserModel getUserModel = await _moviemindAPIService.PostModel <PostUserModel, GetUserModel>(postUserModel, "users"); // When the user was successfully created send an API request to authenticate the new user PostAuthenticateRequestModel postAuthenticateRequestModel = new PostAuthenticateRequestModel { UserName = postUserModel.UserName, Password = postUserModel.Password, }; PostAuthenticateResponseModel postAuthenticateResponseModel = await _moviemindAPIService.Authenticate(postAuthenticateRequestModel); _stateManagementService.SetState(postAuthenticateResponseModel); // Redirect to the home page return(RedirectToRoute(new { action = "Index", controller = "Home" })); } catch (MovieMindException e) { TempData["ApiError"] = e.Message; } } return(View(postUserModel)); }
public async Task <IActionResult> AddFollower(string followingId) { try { var userId = HttpContext.Session.GetString("_Id"); var user = await _moviemindAPIService.GetModel <GetUserModel>(userId, "users"); PostUserFollowerModel postUserFollowerModel = new PostUserFollowerModel { FollowingId = Guid.Parse(followingId), FollowerId = user.Id }; GetUserFollowerModel getUserFollowerModel = await _moviemindAPIService.PostModel <PostUserFollowerModel, GetUserFollowerModel>(postUserFollowerModel, "Userfollowers"); return(Redirect("/Users/Details/" + followingId)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e)); } }