public async Task <IActionResult> AddRating(BarViewModel bar) { int userId = int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)); var barRating = new BarRatingViewModel { Value = (bar.SelectedRating), BarId = bar.Id, UserId = userId, }; var barRatingDto = this.barRatingVmMapper.MapDTO(barRating); var rating = await this.barRatingService.CreateRatingAsync(barRatingDto); var currentBar = await this.barService.GetBarAsync(rating.BarId); var barVM = this.barVmMapper.MapViewModel(currentBar); var DtoComments = await this.barCommentsService.GetBarCommentsAsync(barVM.Id); barVM.Comments = this.barCommentVmMapper.MapViewModel(DtoComments); barVM.AverageRating = this.barRatingService.GetAverageBarRating(bar.Id); return(RedirectToAction("Details", "Bars", new { area = "", id = barVM.Id })); }
public async Task <IActionResult> RateBar(int rating, Guid id) { var viewModel = new BarRatingViewModel(); viewModel.UserId = Guid.Parse(manager.GetUserId(HttpContext.User)); viewModel.BarId = id; viewModel.Rating = rating; await barRatingServices.CreateRating(viewModel.GetDtoFromVM()); return(RedirectToAction("ListBars", "Bar", new { Area = "" })); }
public static BarRatingDTO GetDtoFromVM(this BarRatingViewModel item) { if (item == null) { throw new ArgumentNullException(); } return(new BarRatingDTO { UserId = item.UserId, BarId = item.BarId, Rating = item.Rating, }); }
public async Task <IActionResult> Create(BarRatingViewModel viewModel) { if (ModelState.IsValid) { var user = await this.userManager.GetUserAsync(User); var userName = user.Email.Split('@')[0]; viewModel.UserId = user.Id; viewModel.UserName = userName; var ratingDto = this.modelMapper.MapFrom(viewModel); await this.barRatingService.CreateAsync(ratingDto); return(RedirectToAction("Details", "Bars", new { id = viewModel.BarId })); } return(View(viewModel)); }