Example #1
0
        private void bt_adicionar_Click(object sender, EventArgs e)
        {
            try
            {
                if (teNMProduto.Text.Trim() != "")
                {
                    if (seQtd.Value <= 0)
                    {
                        XtraMessageBox.Show("Quantidade dever ser maior que zero!", "Atenção");
                        seQtd.Value = 0m;
                        return;
                    }

                    MPedidoItem item = new MPedidoItem();
                    item.ID_PRODUTO        = Convert.ToInt32(beIDProduto.Text.Trim());
                    item.NM_PRODUTO        = teNMProduto.Text.Trim();
                    item.QUANTIDADE        = Convert.ToDecimal(seQtd.Value);
                    item.VL_UNITARIO       = Convert.ToDecimal(seVl_unitario.Value);
                    item.TOTALCOMPLEMENTOS = listaComplemento.Sum(p => p.VALOR);
                    item.OBS      = OBS_ITEM.Trim();
                    item.ST_ATIVO = true;

                    for (int i = 0; i < listaComplemento.Count; i++)
                    {
                        item.COMPLEMENTOS.Add(new MComplemento()
                        {
                            ID_PRODUTO_PEDIDO = listaComplemento[i].ID_PRODUTO_PEDIDO,
                            ID_PRODUTO        = listaComplemento[i].ID_PRODUTO,
                            NM_PRODUTO        = listaComplemento[i].NM_PRODUTO,
                            QUANTIDADE        = listaComplemento[i].QUANTIDADE,
                            VALOR             = listaComplemento[i].VALOR,
                        });
                    }

                    for (int i = 0; i < listaAdicional.Count; i++)
                    {
                        item.Adicionais.Add(new MAdicionais()
                        {
                            ID_ADICIONAL = listaAdicional[i].ID_ADICIONAL,
                            NM_ADICIONAL = listaAdicional[i].DS,
                            ID_GRUPO     = listaAdicional[i].ID_GRUPO
                        });
                    }

                    bsMPedidoItem.Add(item);

                    //ajustes
                    vPediuExtrato = false;
                    BuscarDadosProduto(0);
                    listaComplemento.Clear();
                    CalculaSubtotal();
                    OBS_ITEM = "";
                }
                beIDProduto.Select();
            }
            catch (Exception ex)
            {
                ex.Validar();
            }
        }
Example #2
0
        private void bt_adicionar_Click(object sender, EventArgs e)
        {
            try
            {
                if (teNMProduto.Text.Trim() != "")
                {
                    MPedidoItem item = new MPedidoItem();
                    item.ID_PRODUTO        = Convert.ToInt32(beIDProduto.Text.Trim());
                    item.NM_PRODUTO        = teNMProduto.Text.Trim();
                    item.QUANTIDADE        = Convert.ToDecimal(seQtd.Value);
                    item.VL_UNITARIO       = Convert.ToDecimal(seVl_unitario.Value);
                    item.TOTALCOMPLEMENTOS = listaComplemento.Sum(p => p.VALOR);
                    item.OBS      = OBS_ITEM.Trim();
                    item.ST_ATIVO = true;

                    for (int i = 0; i < listaComplemento.Count; i++)
                    {
                        item.COMPLEMENTOS.Add(new MComplemento()
                        {
                            ID_PRODUTO_PEDIDO = listaComplemento[i].ID_PRODUTO_PEDIDO,
                            ID_PRODUTO        = listaComplemento[i].ID_PRODUTO,
                            NM_PRODUTO        = listaComplemento[i].NM_PRODUTO,
                            QUANTIDADE        = listaComplemento[i].QUANTIDADE,
                            VALOR             = listaComplemento[i].VALOR,
                        });
                    }

                    for (int i = 0; i < listaAdicional.Count; i++)
                    {
                        item.Adicionais.Add(new MAdicionais()
                        {
                            ID_ADICIONAL = listaAdicional[i].ID_ADICIONAL,
                            NM_ADICIONAL = listaAdicional[i].DS,
                            ID_GRUPO     = listaAdicional[i].ID_GRUPO
                        });
                    }

                    bsMPedidoItem.Add(item);

                    //ajustes
                    vPediuExtrato = false;
                    BuscarDadosProduto(0);
                    GrupoComplementos.Items.Clear();
                    listaComplemento.Clear();
                    CalculaSubtotal();
                    //esconde troco
                    seVl_troco.Value         = 0m;
                    lTrocoControl.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
                    OBS_ITEM = "";
                }
                beIDProduto.Select();
            }
            catch (Exception ex)
            {
                ex.Validar();
            }
        }
Example #3
0
        public void DeletarItemParaTransferir(MPedidoItem item, ref int posicaoTransacao)
        {
            try
            {
                Conexao.Iniciar(ref posicaoTransacao);

                var itemGouCom = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.Where(p => p.ID_PEDIDO == item.ID_PEDIDO && p.ID_ITEM == item.ID_ITEM).ToList();
                if (itemGouCom.Count > 0)
                {
                    Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_COMPLEMENTOs.DeleteAllOnSubmit(itemGouCom);
                }
                Conexao.Enviar();

                var itemGouAdi = Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.Where(p => p.ID_PEDIDO == item.ID_PEDIDO && p.ID_ITEM == item.ID_ITEM).ToList();
                if (itemGouAdi.Count > 0)
                {
                    Conexao.BancoDados.TB_GOU_PEDIDO_ITEM_ADICIONALs.DeleteAllOnSubmit(itemGouAdi);
                }
                Conexao.Enviar();

                var itemGouIte = Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.Where(p => p.ID_PEDIDO == item.ID_PEDIDO && p.ID_ITEM == item.ID_ITEM).ToList();
                if (itemGouIte.Count > 0)
                {
                    Conexao.BancoDados.TB_GOU_PEDIDO_ITEMs.DeleteAllOnSubmit(itemGouIte);
                }
                Conexao.Enviar();

                var itemComIte = Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.Where(p => p.ID_PEDIDO == item.ID_PEDIDO && p.ID_ITEM == item.ID_ITEM).ToList();
                if (itemComIte.Count > 0)
                {
                    Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.DeleteAllOnSubmit(itemComIte);
                }
                Conexao.Enviar();

                Conexao.Finalizar(ref posicaoTransacao);
            }
            catch (Exception excessao)
            {
                Conexao.Voltar(ref posicaoTransacao);
                throw excessao;
            }
        }
Example #4
0
        public void GravaPedidoItem(MPedido pedido, MPedidoItem Itens)
        {
            var existenteItem = Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO && a.ID_ITEM == Itens.ID_ITEM);

            if (existenteItem == null)
            {
                Itens.ID_ITEM = (Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.Any() ? Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.Max(a => a.ID_ITEM) : 0) + 1;

                var vItens = new TB_COM_PEDIDO_ITEM();
                vItens.ID_PEDIDO     = pedido.ID_PEDIDO;
                vItens.ID_EMPRESA    = pedido.ID_EMPRESA;
                vItens.ID_ITEM       = Itens.ID_ITEM;
                vItens.ID_PRODUTO    = Itens.ID_PRODUTO;
                vItens.VL_UNITARIO   = Itens.VL_UNITARIO;
                vItens.QT            = Itens.QUANTIDADE;
                vItens.VL_DESCONTO   = Itens.VL_DESCONTO;
                vItens.VL_ACRESCIMO  = Itens.VL_ACRESCIMO;
                vItens.VL_SUBTOTAL   = Itens.VL_SUBTOTAL;
                vItens.DS_OBSERVACAO = Itens.OBS;
                vItens.ST_ATIVO      = Itens.ST_ATIVO;

                Conexao.BancoDados.TB_COM_PEDIDO_ITEMs.InsertOnSubmit(vItens);
                Conexao.Enviar();
            }
            else
            {
                existenteItem.ID_EMPRESA    = pedido.ID_EMPRESA;
                existenteItem.ID_PRODUTO    = Itens.ID_PRODUTO;
                existenteItem.VL_UNITARIO   = Itens.VL_UNITARIO;
                existenteItem.QT            = Itens.QUANTIDADE;
                existenteItem.VL_DESCONTO   = Itens.VL_DESCONTO;
                existenteItem.VL_ACRESCIMO  = Itens.VL_ACRESCIMO;
                existenteItem.VL_SUBTOTAL   = Itens.VL_SUBTOTAL;
                existenteItem.DS_OBSERVACAO = Itens.OBS;
                existenteItem.ST_ATIVO      = Itens.ST_ATIVO;

                Conexao.Enviar();
            }
        }
Example #5
0
        private void afterGravar(string TpPagamento)
        {
            var     teste     = gvItens.SelectedRowsCount;
            int     transacao = 0;
            decimal valorDoc  = 0m;

            decimal liquidado  = new QDuplicata().BuscaTotalLiquidado(ID_Nota);
            decimal descontado = new QDuplicata().BuscaTotalDesconto(ID_Nota);

            valorDoc = seApagar.Value > seSubtotal.Value - liquidado ? seSubtotal.Value - liquidado : seApagar.Value;
            vl_troco = TpPagamento == "01" && ValorPago > seApagar.Value - liquidado ? ValorPago - (seApagar.Value - liquidado) : 0;

            if (seSubtotal.Value - (valorDoc + liquidado + descontado + seDesconto.Value) == 0)
            {
                vPedido.ST_PEDIDO = "F";
            }
            else
            {
                vPedido.ST_PEDIDO = "O";
            }

            if (vPedido.ID_PEDIDO == 0 && ID_Pedido > 0)
            {
                vPedido.ID_PEDIDO = ID_Pedido;
            }

            vPedido.CONDICAO_PAGAMENTO = TpPagamento;

            bool _parcial = ((seApagar.Value + seDesconto.Value - seEntrega.Value) != seSubtotal.Value);

            var _pedido = new MPedido();

            if (_parcial)
            {
                _pedido.ID_PEDIDO_ORIGEM   = vPedido.ID_PEDIDO;
                _pedido.ID_EMPRESA         = vPedido.ID_EMPRESA;
                _pedido.ID_CLIFOR          = vPedido.ID_CLIFOR;
                _pedido.ID_CARTAO          = vPedido.ID_CARTAO;
                _pedido.ID_MESA            = vPedido.ID_MESA;
                _pedido.ID_USUARIO         = vPedido.ID_USUARIO;
                _pedido.CONDICAO_PAGAMENTO = vPedido.CONDICAO_PAGAMENTO;
                _pedido.ST_ATIVO           = vPedido.ST_ATIVO;
                _pedido.ST_PEDIDO          = "F";
                _pedido.TP_MOVIMENTO       = vPedido.TP_MOVIMENTO;
            }


            var pedido = new SYS.QUERYS.Lancamentos.Gourmet.QPedido();

            pedido.Gravar(_parcial ? _pedido : vPedido, ref transacao, null, false);
            ID_Pedido = pedido.id_pedido;
            ID_Nota   = pedido.id_nota;

            if (_parcial)
            {
                var _item = new MPedidoItem();

                var selecionados = gvItens.SelectedRowsCount;

                //for (int i = 0; i < selecionados; i++)
                //{
                //    _item.ID_ITEM = ((int?)gvItens.GetRowCellValue(i, colID_ITEM)).Padrao();
                // _item.ID_PEDIDO = _pedido.ID_PEDIDO;
                // new SYS.QUERYS.Lancamentos.Gourmet.QPedido().AtualizaPedidoItem(_pedido, _item, vPedido.ID_PEDIDO, ref transacao);
                //}

                foreach (var posicaoRow in gvItens.GetSelectedRows())
                {
                    _item.ID_ITEM   = ((int?)gvItens.GetRowCellValue(posicaoRow, colID_ITEM)).Padrao();
                    _item.ID_PEDIDO = _pedido.ID_PEDIDO;
                    new SYS.QUERYS.Lancamentos.Gourmet.QPedido().AtualizaPedidoItem(_pedido, _item, vPedido.ID_PEDIDO, ref transacao);
                }

                if (_parcial)
                {
                    BuscarItens();
                }
            }

            GravaPedido = false;



            if (vPedido.ID_PEDIDO == 0 && ID_Pedido > 0)
            {
                vPedido.ID_PEDIDO = ID_Pedido;
            }

            GravaPedido = false;

            CalculaSubtotal();

            //if (MessageBox.Show("Deseja imprimir demonstrativo de consumo?", "Pergunta!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            //    new SYS.QUERYS.Lancamentos.Comercial.QPedido().ImprimirConsumacao(ID_Pedido);

            ImprimirComanda();

            if (seApagar.Value <= 0)
            {
                Imprimir();
                this.ConfirmarOP = true;
                this.Close();
            }

            lb_troco.Text    = "Troco: " + vl_troco.ToString("n2");
            lb_troco.Visible = false;
        }
Example #6
0
        private void BuscarItens(string valor)
        {
            try
            {
                var db = Conexao.BancoDados;

                var lresult = (from i in new QProduto().Buscar()
                               join y in Conexao.BancoDados.TB_EST_PRODUTO_BARRAs on i.ID_PRODUTO equals y.ID_PRODUTO
                               where y.ID_BARRA_REFERENCIA == valor.PadLeft(14, '0')
                               select i).ToList();

                if (lresult.Count <= 0)
                {
                    lresult = null;
                    lresult = (from i in new QProduto().Buscar()
                               where i.ID_PRODUTO == Convert.ToInt32(valor)
                               select i).ToList();
                }

                if (lresult.Count > 0)
                {
                    var VL_VENDA = (from i in Conexao.BancoDados.TB_EST_PRECOs
                                    where i.ID_PRODUTO == lresult[0].ID_PRODUTO &&
                                    (i.ST_ATIVO ?? false) &&
                                    i.TP_PRECO == "V"
                                    select i).ToList();

                    if (VL_VENDA.Count <= 0)
                    {
                        teNM.Text = "Produto sem preço!";
                        return;
                    }


                    teUnitario.Value = VL_VENDA[0].VL_PRECO ?? 0m;
                    teNM.Text        = lresult[0].NM;

                    //subtotal
                    calculaSubTotal();
                    //------------

                    //adicionar itens

                    var itens = new MPedidoItem();
                    itens.ID_ITEM     = bsItens.Count + 1;
                    itens.ID_PRODUTO  = lresult[0].ID_PRODUTO;
                    itens.NM_PRODUTO  = lresult[0].NM;
                    itens.VL_UNITARIO = VL_VENDA[0].VL_PRECO ?? 0m;
                    itens.QUANTIDADE  = Quantidade;
                    itens.VL_DESCONTO = teDesconto.Value;
                    itens.VL_SUBTOTAL = (teUnitario.Value * Quantidade) - teDesconto.Value;
                    itens.ST_ATIVO    = true;
                    bsItens.Add(itens);

                    DescontoValor      = 0m;
                    DescontoPercentual = 0m;
                    Quantidade         = 1m;
                }
                else
                {
                    teNM.Text = "PRODUTO NÃO CADASTRADO";
                }
            }
            catch (Exception ex)
            {
                ex.Validar();
                zeracampos();
                DescontoValor      = 0m;
                DescontoPercentual = 0m;
                Quantidade         = 1m;
            }
        }