public async Task <IActionResult> RegisterProvider(int providerId, [FromBody] SaveProviderResource resource)
        {
            var servicesProvider = _mapper.Map <SaveProviderResource, Provider>(resource);
            var result           = await _servicesProviderService.UpdateAsync(providerId, servicesProvider);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var servicesProviderResource = _mapper.Map <Provider, ProviderResource>(result.ProductsProvider);

            return(Ok(servicesProviderResource));
        }
        public async Task <IActionResult> CreateProvider([FromBody] SaveProviderResource providerResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var provider = _mapper.Map <SaveProviderResource, Provider>(providerResource);

            _unitOfWork.Providers.Add(provider);
            await _unitOfWork.CompleteAsync();

            provider = await _unitOfWork.Providers.GetProviderAsync(provider.Id);

            var result = _mapper.Map <Provider, ProviderResource>(provider);

            return(Ok(result));
        }
        public async Task <IActionResult> UpdateProvider(int id, [FromBody] SaveProviderResource providerResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var provider = await _unitOfWork.Providers.GetProviderAsync(id);

            if (provider == null)
            {
                return(NotFound());
            }

            _mapper.Map(providerResource, provider);
            await _unitOfWork.CompleteAsync();

            provider = await _unitOfWork.Providers.GetProviderAsync(id);

            var result = _mapper.Map <Provider, ProviderResource>(provider);

            return(Ok(result));
        }