Beispiel #1
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine();
            sb.AppendLine("*** RESUMO DO PEDIDO ***");
            sb.AppendLine($"DATA DO PEDIDO          : {DataPedido.ToString("dd/MM/yyyy HH:mm:ss")}");
            sb.AppendLine($"STATUS DO PEDIDO        : {StatusPedido}");
            sb.AppendLine();
            sb.AppendLine("DADOS DO CLIENTE");
            sb.AppendLine($"Cliente                 : {Cliente}");
            sb.AppendLine();
            sb.AppendLine("TRANSPORTADORA");
            sb.AppendLine($"Transportadora          : {Transportadora.Nome}");
            sb.AppendLine($"Valor do Frete         $: {Transportadora.Frete.ToString("F2",CultureInfo.InvariantCulture)}");
            sb.AppendLine($"Previsão de Entrega     : {Transportadora.DataPrevistaEntrega.ToString("dd/mm/yyyy")}");
            sb.AppendLine();
            sb.AppendLine("ITENS DO PEDIDO");
            foreach (ItemPedido item in Itens)
            {
                sb.AppendLine(item.ToString());
            }
            sb.AppendLine($"VALOR TOTAL DO PEDIDO   : ${Total().ToString("F2",CultureInfo.InvariantCulture)}");
            sb.AppendLine();
            sb.AppendLine("***  FIM DO PEDIDO  ***");

            return(sb.ToString());
        }
Beispiel #2
0
 public override string Faturar()
 {
     DataPedido = DataPedido;
     Pedido = Pedido;
     return "\nValor R$: " + Pedido.ToString("f2", CultureInfo.InvariantCulture) +
         "\nData para Pagamento: " + DataPedido.ToString("dd/MM/yyyy");
 }
Beispiel #3
0
    public List <EncapsulatePedido> GV_Pedido_GetData()
    {
        long filtro = Convert.ToInt64(Session["local"]);
        List <EncapsulatePedido> busqueda = new DataPedido().leerPedido();

        return(busqueda.Where(x => x.IdLocal == filtro).ToList());
    }
 public override string Faturar()
 {
     DataPedido = DataPedido.AddDays(61);
     Pedido    -= Pedido * 0.20;
     return("\nValor com desconto R$: " + Pedido.ToString("f2", CultureInfo.InvariantCulture) +
            "\nData para Pagamento: " + DataPedido.ToString("dd/MM/yyyy"));
 }
        public Pedido(Cliente cliente, Produto produto, Pacote pacote, List <Opcional> opcionais, int diasAlugado)
        {
            decimal        valorPacote    = 0;
            List <decimal> valorOpcionais = new List <decimal>();

            valorOpcionais.Add(0);
            Cliente = cliente;
            Produto = produto;
            if (pacote != null)
            {
                Pacote      = pacote;
                valorPacote = pacote.Valor;
            }
            if (opcionais != null)
            {
                Opcionais      = opcionais;
                valorOpcionais = opcionais.Select(x => x.Valor).ToList <decimal>();
            }

            DataPedido          = DateTime.Now;
            DataEntregaPrevista = DataPedido.AddDays(diasAlugado);


            Valor = CalcularValor(produto, valorPacote, valorOpcionais, diasAlugado);
        }
Beispiel #6
0
        public Retorno ConsultarPedidoProduto(int codigoPedidoProduto)
        {
            try
            {
                var retorno = new DataPedido().ConsultarPedidoProduto(codigoPedidoProduto);

                if (retorno.IsValido)
                {
                    var produto = retorno.Entity as Produto;
                    retorno = new BusinessMateriaPrima().ConsultarDoProduto(produto.Codigo);

                    if (retorno.IsValido)
                    {
                        produto.MateriasPrimas = retorno.Entity as List <MateriaPrima>;
                        retorno.Entity         = produto;
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
 public override string Faturar()
 {
     DataPedido = DataPedido.AddDays(60);
     Pedido    -= Pedido * 0.20;
     return($"\nValor com desconto: {Pedido.ToString("C2")}" +
            $"\nData para Pagamento: {DataPedido}");
 }
Beispiel #8
0
        public Retorno SalvarPedidoProdutoPronto(decimal quantidadePronta, int codigoTipoFase, int codigoPedidoProduto, int codigoPedido, string codigoNota = "")
        {
            try
            {
                using (var transaction = new TransactionScope())
                {
                    var retorno = new DataPedido().IncluirPedidoProdutoPronto(quantidadePronta, codigoTipoFase, codigoPedidoProduto, codigoNota);

                    if (retorno.IsValido)
                    {
                        retorno = VerificarEMudarTipoFasePronta(codigoTipoFase, codigoPedido);
                    }

                    if (retorno.IsValido)
                    {
                        transaction.Complete();
                    }

                    return(retorno);
                }
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Beispiel #9
0
    protected void Comprar_Click(object sender, EventArgs e)
    {
        String mensaje;

        try
        {
            EncapsulatePedido pedido = new EncapsulatePedido();
            pedido.IdLocal      = Convert.ToInt64(Session["local"]);
            pedido.DocIdentidad = "1077976549";
            pedido.Cantidad     = int.Parse(TB_Cantidad.Text);
            pedido.Direccion    = TB_DireccionC.Text;
            pedido.Telefono     = long.Parse(TB_TelefonoC.Text);
            pedido.IdComida     = Convert.ToInt64(Session["comida"]);

            bool respuesta = new DataPedido().insertarPedido(pedido);
            if (respuesta == true)
            {
                mensaje = "Pedido realizado";
                mostrarMensaje(mensaje);
            }
            else
            {
                mensaje = "Error";
                mostrarMensaje(mensaje);
            }
        }
        catch (Exception Ex)
        {
            throw Ex;
        }
    }
Beispiel #10
0
 public override string ToString()
 {
     return("\nResumo do Pedido. \n" +
            "\nTotal do Pedido R$: " + Pedido.ToString("f2", CultureInfo.InvariantCulture) +
            "\nData do Pedido: " + DataPedido.ToString("dd/MM/yyyy") +
            "\nTipo de Pessoa: " + Cliente +
            "\n\nFinalização do Pedido. \n" +
            Faturar());
 }
 public override string ToString()
 {
     return("\t=====Pedido Feito=====" +
            $"\nTotal do Pedido: {Pedido.ToString("C2")} " +
            $"\nData do Pedido: {DataPedido.ToString("dd/MM/yyyy")}" +
            $"\nTipo de Pessoa: {Pessoa}\n" +
            $"\n\t=====Pedido Faturado=====" +
            $"{Faturar()}");
 }
Beispiel #12
0
        public override void Validate()
        {
            LimparMensagensValidacao();

            if (string.IsNullOrEmpty(Id.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento do Número do Pedido");
            }
            if (string.IsNullOrEmpty(DataPedido.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento da Data do Pedido");
            }
            if (string.IsNullOrEmpty(UsuarioId.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento do Usuário");
            }
            if (string.IsNullOrEmpty(DataPrevisaoEntrega.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento da Previsão de Entrega");
            }
            if (!ItensPedido.Any())
            {
                AdicionarCritica("Pedido não possui Itens!");
            }
            if (string.IsNullOrEmpty(CEP))
            {
                AdicionarCritica("Obrigatório preenchimento do CEP");
            }
            if (string.IsNullOrEmpty(Estado))
            {
                AdicionarCritica("Obrigatório preenchimento do Estado");
            }
            if (string.IsNullOrEmpty(Cidade))
            {
                AdicionarCritica("Obrigatório preenchimento do Cidade");
            }
            if (string.IsNullOrEmpty(EnderecoCompleto))
            {
                AdicionarCritica("Obrigatório preenchimento do Endereço");
            }
            if (string.IsNullOrEmpty(NumeroEndereco))
            {
                AdicionarCritica("Obrigatório preenchimento do Número Endereço");
            }
            if (string.IsNullOrEmpty(FormaPagamentoId.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento da Forma de Pagamento");
            }
            if (string.IsNullOrEmpty(FormaPagamento.ToString()))
            {
                AdicionarCritica("Obrigatório preenchimento do CEP");
            }
        }
Beispiel #13
0
        public Retorno SalvarPedidoProduto(Pedido pedido)
        {
            try
            {
                var retorno = new BusinessProduto().ConsultarDoPedido(pedido.Codigo);

                if (retorno.IsValido)
                {
                    var produtosExistentes = retorno.Entity as List <Produto>;
                    foreach (var produto in pedido.Produtos)
                    {
                        if (produto.CodigoPedidoProduto == 0)
                        {
                            retorno = new DataPedido().IncluirPedidoProduto(produto, pedido);
                        }
                        else
                        {
                            retorno = new DataPedido().AlterarPedidoProduto(produto, pedido);
                        }

                        if (!retorno.IsValido)
                        {
                            return(retorno);
                        }
                    }

                    foreach (var produtoExistente in produtosExistentes)
                    {
                        if (!pedido.Produtos.Any(p => p.CodigoPedidoProduto == produtoExistente.CodigoPedidoProduto))
                        {
                            retorno = new DataPedido().ExcluirPedidoProduto(produtoExistente.CodigoPedidoProduto);

                            if (!retorno.IsValido)
                            {
                                return(retorno);
                            }
                        }
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
        public string GerarNotaFiscal()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"Cliente: {Cliente.Nome}");
            sb.AppendLine($"Número do Pedido: {NumeroPedido}");
            sb.AppendLine($"Data do Pedido: {DataPedido.ToString("dd/MM/yyyy HH:mm:ss")}");
            sb.AppendLine($"Valor do Pedido: {Valor.ToString("C2")}");
            sb.AppendLine($"Itens");

            foreach (var item in Itens)
            {
                sb.AppendLine($"Produto: {item.Produto.Nome} | Qtde: {item.Qtde} | Vl unitário: {item.ValorUnitario} | Total: {item.Qtde*item.ValorUnitario} ");
            }

            return(sb.ToString());
        }
Beispiel #15
0
        public Retorno Consultar(Pedido Entity, int codigoTipoFase)
        {
            try
            {
                var retorno = new DataPedido().Consultar(Entity);

                if (retorno.IsValido)
                {
                    var pedido = retorno.Entity as Pedido;
                    retorno = ConsultarPedidoProduto(pedido.Codigo, codigoTipoFase);

                    if (retorno.IsValido)
                    {
                        pedido.Produtos = retorno.Entity as List <Produto>;

                        pedido.Produtos.ForEach(p =>
                        {
                            retorno = new DataPedido().ConsultarPedidoProdutoPronto(pedido.Codigo, p.CodigoPedidoProduto);

                            if (retorno.IsValido)
                            {
                                p.FaseProduzido = retorno.Entity as decimal[];
                            }
                        });

                        retorno = new DataPedido().ConsultarNumeroNfe(pedido.Codigo);

                        if (retorno.IsValido && retorno.Entity != null)
                        {
                            pedido.NumeroNfe = retorno.Entity.ToString();
                        }

                        retorno.Entity = pedido;
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Beispiel #16
0
        public Retorno MudarTipoFase(int codigoPedido)
        {
            try
            {
                var retorno = new BusinessTipoFase().ConsultarProximoTipoFase(codigoPedido);

                if (retorno.IsValido)
                {
                    var novoTipoFase = retorno.Entity as TipoFase;
                    retorno = new DataPedido().MudarTipoFase(codigoPedido, novoTipoFase.Codigo);
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Beispiel #17
0
        public Retorno Salvar(Pedido Entity)
        {
            try
            {
                Retorno retorno = PreenchimentoObrigatorio(Entity);
                if (retorno.IsValido)
                {
                    retorno = VerificarExistencia(Entity);

                    if (retorno.IsValido)
                    {
                        using (var transaction = new TransactionScope())
                        {
                            CalcularLucro(Entity);

                            if (Entity.Codigo == 0)
                            {
                                retorno = new DataPedido().Incluir(Entity);
                            }
                            else
                            {
                                retorno = new DataPedido().Alterar(Entity);
                            }

                            if (retorno.IsValido)
                            {
                                retorno = SalvarPedidoProduto(Entity);

                                if (retorno.IsValido)
                                {
                                    transaction.Complete();
                                }
                            }
                        }
                    }
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Beispiel #18
0
        public Retorno VerificarEMudarTipoFasePronta(int codigoTipoFase, int codigoPedido)
        {
            try
            {
                var retorno = new DataPedido().ConsultarQuantidadeProdutosFaltantes(codigoTipoFase, codigoPedido);

                if (retorno.IsValido)
                {
                    var produtosRestantes = retorno.Entity.ConverteValor(0M);

                    if (produtosRestantes == 0)
                    {
                        MudarTipoFase(codigoPedido);
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }
Beispiel #19
0
        public Retorno MontarLinhaProducaoPedido(Pedido pedido, bool adicionarLinhaProducao, List <LinhaProducao> linhaProducaoTerceirizados, int codigoFuncao)
        {
            try
            {
                var retorno = new BusinessPedido().Consultar(pedido, codigoFuncao);

                if (retorno.IsValido)
                {
                    pedido = retorno.Entity as Pedido;
                    using (var transaction = new TransactionScope())
                    {
                        retorno = new BusinessLinhaProducao().MontarLinhaProducaoPedido(pedido, adicionarLinhaProducao, linhaProducaoTerceirizados);
                        if (retorno.IsValido && adicionarLinhaProducao)
                        {
                            retorno = new BusinessPedido().MudarTipoFase(pedido.Codigo);

                            if (retorno.IsValido)
                            {
                                retorno = new DataPedido().AlterarDataEntrega(pedido);
                            }

                            if (retorno.IsValido)
                            {
                                transaction.Complete();
                            }
                        }
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                return(Retorno.CriarRetornoExcecao(ex));
            }
        }