Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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));
        }