예제 #1
0
        public async Task <IActionResult> Put([FromBody] RatingInput rating, int id)
        {
            try
            {
                var validationResult = rating.Validate(id);
                if (!validationResult.IsValid)
                {
                    return(BadRequest(validationResult.Message));
                }
                var result = await _ratingsRepository.Update(id, rating);

                if (result == null)
                {
                    return(BadRequest($"There is already a rating with the name {rating.Name}"));
                }

                if (result.Id != id)
                {
                    return(Created($"api/ratings/{result.Id}", result));
                }

                return(NoContent());
            }
            catch (Exception)
            {
                return(new StatusCodeResult(500));
            }
        }
예제 #2
0
        public async Task <IActionResult> Post([FromBody] RatingInput rating)
        {
            try
            {
                var validationResult = rating.Validate();
                if (!validationResult.IsValid)
                {
                    return(BadRequest(validationResult.Message));
                }

                var created = await _ratingsRepository.Add(rating);

                if (created == null)
                {
                    return(BadRequest($"There is already a rating with the name {rating.Name}"));
                }
                return(Created($"api/ratings/{created.Id}", created));
            }
            catch (Exception)
            {
                return(new StatusCodeResult(500));
            }
        }