示例#1
0
        public override ICommandResult Handle(GravarFornecedorCommand command)
        {
            //Fail Fast Validations
            if (!command.Validador())
            {
                return(new CommandResult(false, "Mensagem inválida", command.Mensagem));
            }

            //Validar VOs
            DescricaoEnderecoValicado validadorEndereco = new DescricaoEnderecoValicado();
            var resultado = validadorEndereco.Validate(command.Endereco);

            if (!resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }

            //Gerar Fornecedor
            var fornecedor = new Fornecedor(command.CodigoFornecedor,
                                            command.DescricaoFornecedor,
                                            command.Cnpj,
                                            command.Endereco);

            fornecedor.Email = command.Email;

            //Validar Fornecedor
            FornecedorValidacao validadorFornecedor = new FornecedorValidacao();

            resultado = validadorFornecedor.Validate(fornecedor);
            if (resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }


            //Salvar informações
            try
            {
                _fornecedorRepositorio.InseririOuAtualizar(fornecedor);
                return(new CommandResult(true, "Mensagem persistida com sucesso"));
            }
            catch
            {
                return(new CommandResult(false, "Ocorreu um erro interno no sistema", command.Mensagem));
            }
        }
示例#2
0
        public override ICommandResult Handle(GravarLojaCommand command)
        {
            //Fail Fast Validations
            if (!command.Validador())
            {
                return(new CommandResult(false, "Mensagem inválida", command.Mensagem));
            }

            //Validar VOs
            DescricaoEnderecoValicado validadorEndereco = new DescricaoEnderecoValicado();
            var resultado = validadorEndereco.Validate(command.Endereco);

            if (!resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }

            //Gerar Loja
            var loja = new Loja(command.CodigoEmpresa,
                                command.CodigoFilial,
                                command.Cnpj,
                                command.Endereco);

            loja.TimeStamp = command.TimeStamp;

            //Validar Loja
            LojaValidacao validadorLoja = new LojaValidacao();

            resultado = validadorLoja.Validate(loja);
            if (!resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }

            //Salvar informações
            try
            {
                _lojaRepositorio.InseririOuAtualizar(loja);
                return(new CommandResult(true, "Mensagem persistida com sucesso"));
            }
            catch
            {
                return(new CommandResult(false, "Ocorreu um erro interno no sistema", command.Mensagem));
            }
        }
示例#3
0
        public override ICommandResult Handle(GravarTransportadoraCommand command)
        {
            //Fail Fast Validations
            if (!command.Validador())
            {
                return(new CommandResult(false, "Mensagem inválida", command.Mensagem));
            }

            //Validar VOs
            DescricaoEnderecoValicado validadorEndereco = new DescricaoEnderecoValicado();
            var resultado = validadorEndereco.Validate(command.Endereco);

            if (!resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }

            //Gerar Loja
            var transportadora = new Transportadora(command.CodigoTransportadora,
                                                    command.DescricaoTransportadora,
                                                    command.Cnpj,
                                                    command.Email,
                                                    command.Endereco);

            //Validar Transportadora
            TransportadoraValidacao validadorTransportadora = new TransportadoraValidacao();

            resultado = validadorTransportadora.Validate(transportadora);
            if (!resultado.IsValid)
            {
                var erros = retornoMensagemErro(resultado.Errors);
                return(new CommandResult(false, erros, command.Mensagem));
            }

            //Salvar informações
            try
            {
                _transportadoraRepositorio.InseririOuAtualizar(transportadora);
                return(new CommandResult(true, "Mensagem persistida com sucesso"));
            }
            catch
            {
                return(new CommandResult(false, "Ocorreu um erro interno no sistema", command.Mensagem));
            }
        }