public async Task <TransportationCompany> Update(TransportationCompany transportationCompany, IFormFile logoFormFile = null) { if (HasCompanySameCpnj(transportationCompany.CNPJ, transportationCompany.Id)) { throw new BusinessException("Não pode existir duas empresas com o mesmo CNPJ."); } var oldLogo = transportationCompany.Logo; if (logoFormFile != null) { transportationCompany.Logo = await _storage.Store <Logo>(logoFormFile); } _dataBaseContext.TransportationCompanies.Update(transportationCompany); await _dataBaseContext.SaveChangesAsync(); if (logoFormFile != null) { await _storage.Destroy(oldLogo); } return(transportationCompany); }
public async Task <TransportationCompany> Create(TransportationCompany transportationCompany, IFormFile logoFormFile) { if (HasCompanySameCpnj(transportationCompany.CNPJ)) { throw new BusinessException("Não pode existir duas empresas com o mesmo CNPJ."); } transportationCompany.Id = Guid.NewGuid(); transportationCompany.Status = Status.Active; transportationCompany.Logo = await _storage.Store <Logo>(logoFormFile); _dataBaseContext.TransportationCompanies.Add(transportationCompany); await _dataBaseContext.SaveChangesAsync(); return(transportationCompany); }