コード例 #1
0
        public async Task <ActionResult <RatingModel> > Post(RatingModel model)
        {
            try
            {
                var existing = await _repository.GetRatingByNameAsync(model.Name);

                if (existing != null)
                {
                    return(BadRequest($"The rating for {model.Name} already exists!"));
                }

                var rating = _mapper.Map <Rating>(model);
                _repository.Add(rating);
                if (await _repository.SaveChangesAsync())
                {
                    var location = _linkGenerator.GetPathByAction("Get", "Ratings", new { ratingId = rating.Id });

                    return(Created(location, _mapper.Map <RatingModel>(rating)));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }

            return(BadRequest());
        }