public async Task <IActionResult> Create(string slug, [FromBody] ProviderRoleCreateModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadModelResponse(ModelState));
            }

            return(Ok(await _providerRoleManager.CreateProviderRole(slug, model)));
        }
Ejemplo n.º 2
0
        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));
        }