private async Task ExecuteSaveRatingCommand() { try { AddRatingCommand.ChangeCanExecute(); var rating = new Rating() { CheeseId = RatingToAdd.CheeseId, DateRated = DateTime.Now, Notes = RatingToAdd.Notes, WedgeRating = RatingToAdd.WedgeRating, PhotoUrl = RatingToAdd.PhotoUrl ?? string.Empty, AudioUrl = RatingToAdd.AudioUrl ?? string.Empty }; rating = await _dataService.RateCheeseAsync(rating); RatingToAdd.RatingId = rating.RatingId; Device.BeginInvokeOnMainThread(async() => await Page.Navigation.PopModalAsync(true)); } catch (NoInternetException) { await Page.DisplayAlert("No Internet!", "Cannot Access The Internet!", "Darn!"); } finally { AddRatingCommand.ChangeCanExecute(); } }
public UserMovieRatingDto AddOrUpdateRating(UserMovieRatingDto dto) { // Can be replaced with better validation // Currently just return null if not valid if (dto.Rating < 1 || dto.Rating > 5) { return(null); } var entity = _mapper.Map <UserMovieRating>(dto); var command = new AddRatingCommand(_dbContext, entity); var result = command.Execute(); return(_mapper.Map <UserMovieRatingDto>(result)); }