public async Task <IActionResult> Create(int id) { try { var barDTO = await this.barService.GetBarAsync(id); var barVM = barMapper.MapToVMFromDTO(barDTO); var currentUserId = int.Parse(userManager.GetUserId(HttpContext.User)); var reviewVM = new BarReviewViewModel { BarName = barVM.Name, BarId = barDTO.Id, AuthorId = currentUserId }; //ViewData["BarId"] = new SelectList(_context.Bars, "Id", "Address"); //ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id"); return(View(reviewVM)); } catch (Exception) { this.toaster.AddWarningToastMessage(ToastrConsts.GenericError); return(RedirectToAction("Index", "Bars", new { id })); } }
public async Task <IActionResult> Create(int id, BarReviewViewModel reviewVM) { var sanitizer = new HtmlSanitizer(); reviewVM.Comment = sanitizer.Sanitize(reviewVM.Comment); try { if (ModelState.IsValid) { var currentUserId = int.Parse(userManager.GetUserId(HttpContext.User)); //var userDTO = await this.userService.GetUserAsync(currentUserId); //var barDTO = await this.barService.GetBarAsync(reviewVM.BarId); var reviewDTO = this.barReviewMapper.MapToDTOFromVM(reviewVM); reviewDTO.AuthorId = currentUserId; reviewDTO.BarId = id; bool isUnique = this.barReviewService.BarReviewIsUnique(reviewDTO); if (!isUnique) { this.toaster.AddWarningToastMessage(ToastrConsts.ReviewExists); return(RedirectToAction("Index", "Bars", new { id = reviewDTO.BarId })); } var validationResult = this.barReviewService.ValidateBarReview(reviewDTO); if (!validationResult.HasProperInputData) { this.toaster.AddWarningToastMessage(ToastrConsts.NullModel); return(RedirectToAction(nameof(Create), new { id })); } if (!validationResult.HasCorrectRating) { this.toaster.AddWarningToastMessage(ToastrConsts.IncorrectRating); return(RedirectToAction(nameof(Create), new { id })); } if (!validationResult.HasCorrectCommentLength) { this.toaster.AddWarningToastMessage(ToastrConsts.CommentTooLong); return(RedirectToAction(nameof(Create), new { id })); } var result = await this.barReviewService.CreateBarReviewAsync(reviewDTO); this.toaster.AddSuccessToastMessage(ToastrConsts.Success); return(RedirectToAction("BarReviews", "BarReviews", new { id = result.BarId })); } } catch (Exception) { this.toaster.AddWarningToastMessage(ToastrConsts.GenericError); return(RedirectToAction("Index", "Bars", new { area = "" })); } this.toaster.AddWarningToastMessage(ToastrConsts.IncorrectInput); return(RedirectToAction("Index", "Bars", new { area = "" })); }
public static BarReviewDTO MapVMToReviewDTO(this BarReviewViewModel reviewVM) { var newReview = new BarReviewDTO(); newReview.BarId = reviewVM.BarId; newReview.Rating = reviewVM.Rating; newReview.Description = reviewVM.Description; //newReview.ReviewDate = reviewVM.ReviewDate; newReview.UserName = reviewVM.UserName; newReview.UserID = reviewVM.UserID; return(newReview); }
public static BarReviewViewModel MapToViewModel(this BarReviewDTO review) { var vm = new BarReviewViewModel() { Comment = review.Comment, Rating = review.Rating, UserName = review.UserName, IsDeleted = review.IsDeleted }; return(vm); }
public BarReviewDTO MapToDTOFromVM(BarReviewViewModel barReviewVM) { BarReviewDTO reviewDTO = new BarReviewDTO { Comment = barReviewVM.Comment, BarId = barReviewVM.BarId, AuthorId = barReviewVM.AuthorId, BarName = barReviewVM.BarName, Author = barReviewVM.Author, Rating = barReviewVM.Rating }; return(reviewDTO); }
public BarReviewViewModel MapToVMFromDTO(BarReviewDTO barReviewDTO) { BarReviewViewModel reviewVM = new BarReviewViewModel { Rating = barReviewDTO.Rating, Comment = barReviewDTO.Comment, BarId = barReviewDTO.BarId, AuthorId = barReviewDTO.AuthorId, BarName = barReviewDTO.BarName, Author = barReviewDTO.Author }; return(reviewVM); }
public static BarReviewViewModel MapReviewDTOToVM(this BarReviewDTO reviewDTO) { var newReviewVM = new BarReviewViewModel(); newReviewVM.Id = reviewDTO.Id; newReviewVM.BarId = reviewDTO.BarId; newReviewVM.Rating = reviewDTO.Rating; newReviewVM.Description = reviewDTO.Description; newReviewVM.ReviewDate = reviewDTO.ReviewDate; newReviewVM.UserName = reviewDTO.UserName; newReviewVM.BarName = reviewDTO.BarName; newReviewVM.UserID = reviewDTO.UserID; newReviewVM.LikeCount = reviewDTO.LikeCount; newReviewVM.LikedByUsers = reviewDTO.LikedByUsers; return(newReviewVM); }
public static BarReviewViewModel BarReviewsDTOMapToVM(this BarReviewDTO barReviewDTO) { var barReviewVM = new BarReviewViewModel(); barReviewVM.Id = barReviewDTO.Id; barReviewVM.BarId = barReviewDTO.BarId; barReviewVM.UserId = barReviewDTO.UserId; barReviewVM.Rating = barReviewDTO.Rating; barReviewVM.Comment = barReviewDTO.Comment; barReviewVM.ReviewedOn = barReviewDTO.ReviewedOn; barReviewVM.BarName = barReviewDTO.BarName; barReviewVM.UserName = barReviewDTO.UserName; barReviewVM.BarReviewLikes = barReviewDTO.BarReviewLikes; return(barReviewVM); }
public async Task <IActionResult> Edit(int id, BarReviewViewModel reviewVM) { var sanitizer = new HtmlSanitizer(); reviewVM.Comment = sanitizer.Sanitize(reviewVM.Comment); if (ModelState.IsValid) { try { var currentUserId = int.Parse(userManager.GetUserId(HttpContext.User)); var reviewDTO = this.barReviewMapper.MapToDTOFromVM(reviewVM); var validationResult = this.barReviewService.ValidateBarReview(reviewDTO); if (!validationResult.HasProperInputData) { this.toaster.AddWarningToastMessage(ToastrConsts.NullModel); return(RedirectToAction("Edit", "BarReviews", new { id })); } if (!validationResult.HasCorrectRating) { this.toaster.AddWarningToastMessage(ToastrConsts.IncorrectRating); return(RedirectToAction("Edit", "BarReviews", new { id })); } if (!validationResult.HasCorrectCommentLength) { this.toaster.AddWarningToastMessage(ToastrConsts.CommentTooLong); return(RedirectToAction("Edit", "BarReviews", new { id })); } var result = await this.barReviewService.UpdateBarReviewAsync(id, currentUserId, reviewDTO); this.toaster.AddSuccessToastMessage(ToastrConsts.Success); return(RedirectToAction("BarReviews", "BarReviews", new { id })); } catch (Exception) { this.toaster.AddWarningToastMessage(ToastrConsts.GenericError); return(RedirectToAction("Index", "Bars", new { area = "" })); } } this.toaster.AddWarningToastMessage(ToastrConsts.IncorrectInput); return(RedirectToAction("Index", "Bars", new { area = "" })); }
public async Task <IActionResult> CreateBarReview(string id) { try { var bar = await _barServices.GetBarByID(id); var barReviewVM = new BarReviewViewModel(); barReviewVM.BarId = bar.Id; barReviewVM.BarName = bar.Name; return(View(barReviewVM)); } catch (Exception ex) { _toast.AddErrorToastMessage(ex.Message); ViewBag.ErrorTitle = ""; return(View("Error")); } }
public async Task <IActionResult> BarReview(int id) { try { var bar = await barServices.GetDetailedDTOAsync(id); var barViewModel = bar.MapToViewModel(); var vm = new BarReviewViewModel { Bar = barViewModel, }; return(View(vm)); } catch (InvalidOperationException) { return(BadRequest()); } }
public async Task <IActionResult> CreateBarReview(BarReviewViewModel barVM) { if (ModelState.IsValid) { try { var barReviewDTO = barVM.MapVMToReviewDTO(); var newRating = (double)Math.Round((decimal)(await _reviewServices.CreateBarReview(barReviewDTO) ?? 0), 2); _toast.AddSuccessToastMessage($"Your review was submitted succesfully"); return(RedirectToAction("ListBars", "Bars", new { area = "Bars" })); } catch (Exception ex) { _toast.AddErrorToastMessage(ex.Message); ViewBag.ErrorTitle = ""; return(View("Error")); } } return(View(barVM)); }