コード例 #1
0
        public async Task <ActionResult <IdiomVM> > CreateIdiom(IdiomVM idiomVM)
        {
            try
            {
                if (idiomVM == null)
                {
                    return(BadRequest());
                }

                // Add custom model validation error
                Idiom idiom = await idiomRepository.GetIdiomByname(idiomVM.Idiom);

                if (idiom != null)
                {
                    ModelState.AddModelError("Name", $"Idiom name: {idiomVM.Idiom.Text} already in use");
                    return(BadRequest(ModelState));
                }

                await idiomRepository.CreateIdiom(idiomVM);

                return(CreatedAtAction(nameof(GetIdiom),
                                       new { id = idiomVM.Idiom.Id }, idiomVM));
            }
            catch (DbUpdateException Ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  Ex.InnerException.Message));
            }
        }