public async override Task <CommandResult> HandleCommand(InserirEditarEmpresaCommand command) { var empresa = new Model.Empresa(command.Nome); if (!command.Id.HasValue) { empresa.SetId(new Guid()); await this.empresaWriteRepository.InsertAsync(empresa); } else { var empresaEdit = await this.empresaReadRepository.FindByIdAsync(command.Id.Value); empresaEdit.Atualizar(empresa.Nome); await this.empresaWriteRepository.UpdateAsync(empresaEdit); empresa = empresaEdit; } var dto = mapper.Map <EmpresaDto>(empresa); HandleEntity(empresa); return(new CommandResult(true, dto, "Empresa cadastrada com sucesso.")); }