public async Task <IActionResult> Create(string slug, [FromBody] ProviderRoleCreateModel model) { if (!ModelState.IsValid) { return(BadModelResponse(ModelState)); } return(Ok(await _providerRoleManager.CreateProviderRole(slug, model))); }
public async Task <ProviderRoleDisplayModel> CreateProviderRole(string slug, ProviderRoleCreateModel model) { if (string.IsNullOrWhiteSpace(slug)) { throw new ModelDamagedException("Slug is required"); } slug = slug.ToLower(); if (!await _providerRepository.ExistsWithOwnerSlug(slug, (await GetCurrentUser())?.Id)) { throw new AccessDeniedException(slug, typeof(Provider)); } model.Name = model.Name.ToUpper(); var entity = _mapper.Map <ProviderRole>(model); if (!await _providerRepository.InsertRoleBySlug(slug, entity)) { throw new MRException(); } return(_mapper.Map <ProviderRoleDisplayModel>(entity)); }