public async Task <ActionResult <LangVM> > CreateLang(LangVM langVM) { try { if (langVM == null) { return(BadRequest()); } // Add custom model validation error Lang lang = await langRepository.GetLangByname(langVM.Lang); if (lang != null) { ModelState.AddModelError("Name", $"Lang name: {langVM.Lang.Name} already in use"); return(BadRequest(ModelState)); } await langRepository.CreateLang(langVM); return(CreatedAtAction(nameof(GetLang), new { id = langVM.Lang.Id }, langVM)); } catch (DbUpdateException Ex) { return(StatusCode(StatusCodes.Status500InternalServerError, Ex.InnerException.Message)); } }