Esempio n. 1
0
        public async Task <ProviderDTO> UpdateAsync(ProviderPutRequest model, ApiDbContext apiDbContext)
        {
            try
            {
                var provider = await apiDbContext.Providers.FindAsync(model.Id);

                if (provider == null)
                {
                    throw new Exception($"No existe el proveedor {model.Name} con id {model.Id}");
                }

                var providerFound = apiDbContext.Providers.FirstOrDefault(p => p.Id != model.Id && p.Code.ToUpper().Trim().Equals(model.Code.ToUpper().Trim()));
                if (providerFound != null)
                {
                    throw new Exception($"Ya existe un proveedor con el código {model.Code}");
                }

                provider.Code = model.Code;
                provider.Name = model.Name;
                provider.Web  = model.Web;

                await apiDbContext.SaveChangesAsync();

                return(ModelToDTO(provider));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Update(ProviderPutRequest model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new Exception("Petición de actualización inválida");
                }

                return(Ok(await _providerService.UpdateAsync(model, _apiDbContext)));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }