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."));
        }