public ICommandResult Handle(CriarLaboratorioCommand command) { //criar endereço var endereco = new Endereco(command.Logradouro, command.Numero, command.Bairro, command.Cidade, command.Estado, command.Cep); if (string.IsNullOrEmpty(command.Complemento)) { endereco.AdicionarComplemento(command.Complemento); } //verificar se endereço é valido if (endereco.Invalid) { return(new CommandResult(false, Mensagens.CorrigirCampos, endereco.Notifications)); } //criar entidade laboratorio var laboratorio = new Laboratorio(command.Nome, endereco, command.Status); //verificar se entidade é valida if (laboratorio.Invalid) { return(new CommandResult(false, Mensagens.CorrigirCampos, laboratorio.Notifications)); } //Inserir _laboratorioRepositorio.Adicionar(laboratorio); return(new CommandResult(true, Mensagens.LaboratorioCadastrado, new { })); }