コード例 #1
0
        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 { }));
        }