public Task <ICommandResult> Handle(EditarEmpresaCommand request, CancellationToken cancellationToken) { request.Validate(); if (request.Invalid) { AddNotifications(request); return(Task.FromResult <ICommandResult>(new CommandResult("001", false, "Não foi possível editar dados da empresa"))); } Documento cnpj = new Documento(request.Cnpj, ETipoDocumento.CNPJ); Documento inscricaoEstadual = new Documento(request.InscricaoEstadual, ETipoDocumento.INSCRICAO_ESTADUAL); Documento inscricaoMunicipal = new Documento(request.InscricaoMunicipal, ETipoDocumento.INSCRICAO_MUNICIPAL); Endereco endereco = new Endereco(request.Rua, request.Numero, request.Bairro, request.Cidade, request.Estato, request.Pais, request.CodigoPostal, request.Complemento); Empresa empresa = new Empresa(request.RazaoSocial, cnpj, inscricaoEstadual, inscricaoMunicipal, endereco); empresa.Id = request.Id; AddNotifications(cnpj, inscricaoEstadual, inscricaoMunicipal, endereco, empresa); if (Valid) { if (!_repositorio.ExisteCnpj(ref empresa)) { empresa = _repositorio.UpdateEmpresa(empresa); return(Task.FromResult <ICommandResult>(new CommandResult("000", true, "Empresa editada com sucesso"))); } else { AddNotification("Cnpj", "Cnpj já foi cadastrado"); } } return(Task.FromResult <ICommandResult>(new CommandResult("001", false, "Não foi possível realizar editar da empresa"))); }
public async Task <IActionResult> Put(int id, [FromBody] EditarEmpresaCommand command) { var response = (CommandResult)await _mediator.Send(command); if (response.Success) { return(Ok(response)); } return(BadRequest()); }
public void Handle(EditarEmpresaCommand cmd) { Empresa empresa = EmpresaExistente(cmd.Id, cmd.MessageType); if (empresa != null) { empresa.AtualizarEmpresa(cmd.RazaoSocial, cmd.Email, cmd.Telefone, cmd.Facebook, cmd.Cnpj); if (!empresa.IsValid()) { NotificarValidacoesErro(empresa.ValidationResult); return; } Usuario usuario = _usuarioRepository.ObterPorId(empresa.Id); usuario.AtualizarUsuario(cmd.RazaoSocial, cmd.Email, cmd.Senha); _repository.Atualizar(empresa); if (Commit()) { _mediator.PublicarEvento(new EmpresaAtualizadaEvent(empresa.Id, empresa.RazaoSocial, empresa.Email, empresa.Telefone, empresa.Facebook, empresa.Cnpj)); } } }