public async Task ArmazenarAsync(EmpresaDto empresaDto) { empresaDto = empresaDto ?? new EmpresaDto(); var empresa = empresaDto.Id > 0 ? await _editarUmaEmpresaRepositorio.EditarAsync(empresaDto) : CriarUmaNovaEmpresa(empresaDto); if (NotificacaoDeDominio.HasNotifications) { return; } if (!empresa.Validar()) { await NotificarValidacoesDeDominioAsync(empresa.ValidationResult); } await _validadorCnpjDaEmpresaJaExistente.ValidarAsync(empresa.Cnpj, empresa.Id); if (!NotificacaoDeDominio.HasNotifications && empresa.Id == 0) { await _empresaRepositorio.AdicionarAsync(empresa); } }
public async Task Armazenar(EmpresaDto dto) { await ValidarEmpresaComMesmoNome(dto); var empresa = new Empresa(dto.Nome, dto.Cnpj); if (!NotificacaoDeDominio.HasNotifications()) { if (dto.Id > 0) { empresa = await _empresaRepositorio.ObterPorIdAsync(dto.Id); empresa.AlterarNome(dto.Nome); empresa.AlterarCnpj(dto.Cnpj); } empresa.AlterarDataFundacao(dto.DataFundacao); if (!empresa.Validar()) { await NotificarValidacoesDeDominio(empresa.ValidationResult); } if (empresa.Id == 0) { await _empresaRepositorio.AdicionarAsync(empresa); } } }