Ejemplo n.º 1
0
        private void Fechar()
        {
            if (ID_Pedido <= 0)
            {
                return;
            }

            var _Pedido = new SYS.QUERYS.Lancamentos.Comercial.QPedido().Buscar(ID_Pedido).ToList()[0];
            var vpedido = new MPedido();

            vpedido.ID_PEDIDO        = ID_Pedido;
            vpedido.ID_CLIFOR        = _Pedido.ID_CLIFOR;
            vpedido.ID_EMPRESA       = _Pedido.ID_EMPRESA;
            vpedido.ST_ATIVO         = _Pedido.ST_ATIVO ?? false;
            vpedido.TP_MOVIMENTO     = _Pedido.TP_MOVIMENTO;
            vpedido.ID_PEDIDO_ORIGEM = _Pedido.ID_PEDIDO_ORIGEM;
            vpedido.ID_CARTAO        = _Pedido.TB_GOU_PEDIDO.ID_CARTAO;
            vpedido.ID_MESA          = _Pedido.TB_GOU_PEDIDO.ID_MESA;


            var frm = new FFechamento();

            frm.vPedido     = vpedido;
            frm.GravaPedido = false;
            frm.VendaDireta = false;
            frm.ShowDialog();

            teTroco.Text = frm.vl_troco.ToString("n2");

            teIDCartao.Text = ultimoCartao;
            BuscaItens();
        }
Ejemplo n.º 2
0
        private void afterGravar(List <MPedidoItem> vItens)
        {
            var vpedido = new MPedido();

            var transferencia = new List <MPedidoItem>();

            for (int i = 0; i < vItens.Count; i++)
            {
                transferencia.Add(new MPedidoItem
                {
                    ID_ITEM   = vItens[i].ID_ITEM,
                    ID_PEDIDO = vItens[i].ID_PEDIDO
                });
            }

            var lresult = VerificaPedido(teMesa.Text.Trim(), teCartao.Text.Trim());

            var existeMesa = new TB_GOU_MESA();//VERIFICA NO CADASTRO DE MESAS SE EXISTE

            if (teMesa.Text.Trim().Length > 0)
            {
                existeMesa = ExisteMesa(teMesa.Text.Trim());
            }

            if (existeMesa == null)
            {
                throw new Exception("Mesa destino informada não esta cadastrada!");
            }

            vpedido.ID_EMPRESA   = 1;
            vpedido.ID_CLIFOR    = 1;
            vpedido.ID_MESA      = lresult.Count > 0 ? lresult[0].ID_MESA : (teMesa.Text.Trim() == "" ? "0" : teMesa.Text.Trim());
            vpedido.ID_CARTAO    = lresult.Count > 0 ? lresult[0].ID_CARTAO : (teCartao.Text.Trim() == "" ? "0" : teCartao.Text.Trim());
            vpedido.ST_ATIVO     = vItens.Count > 0;
            vpedido.ST_PEDIDO    = "O";
            vpedido.TP_MOVIMENTO = "S";

            if (lresult.Count > 0)
            {
                vpedido.ID_PEDIDO = lresult[0].ID_PEDIDO;
            }



            for (int i = 0; i < vItens.Count; i++)
            {
                (vItens[i] as MPedidoItem).ID_PEDIDO = 0;
                vpedido.Itens.Add(vItens[i] as MPedidoItem);
            }

            int posiscao_transacao = 0;

            new QPedido().Gravar(vpedido, ref posiscao_transacao, transferencia);

            new QPedido().VerificaMesaSemItem();

            this.Close();
        }
Ejemplo n.º 3
0
        public void DeletarPedido(MPedido pedido)
        {
            PPedido        dados          = new PPedido();
            List <MPedido> listaDePedidos = dados.Abrir();
            MPedido        pedidoDeletado = listaDePedidos.Where(temp => temp.IdPedido == pedido.IdPedido).Single();

            listaDePedidos.Remove(pedidoDeletado);
            dados.Salvar(listaDePedidos);
        }
Ejemplo n.º 4
0
        private void afterTransferir(List <MPedidoItem> vItens)
        {
            if (bsCartoes == null)
            {
                return;
            }

            var vpedido = new MPedido();

            var transferencia = new List <MPedidoItem>();

            for (int i = 0; i < vItens.Count; i++)
            {
                transferencia.Add(new MPedidoItem
                {
                    ID_ITEM   = vItens[i].ID_ITEM,
                    ID_PEDIDO = vItens[i].ID_PEDIDO
                });
            }

            var lresult = VerificaPedido(teNumero.Text.Trim());

            vpedido.ID_EMPRESA   = 1;
            vpedido.ID_CLIFOR    = 1;
            vpedido.ID_MESA      = lresult.Count > 0 ? lresult[0].ID_MESA : "0";
            vpedido.ID_CARTAO    = (bsCartoes.Current as MPedido).ID_CARTAO;
            vpedido.ST_ATIVO     = vItens.Count > 0;
            vpedido.ST_PEDIDO    = "O";
            vpedido.TP_MOVIMENTO = "S";

            ID_Cartao = vpedido.ID_CARTAO;

            if (lresult.Count > 0)
            {
                vpedido.ID_PEDIDO = lresult[0].ID_PEDIDO;
            }



            for (int i = 0; i < vItens.Count; i++)
            {
                (vItens[i] as MPedidoItem).ID_PEDIDO = 0;
                vpedido.Itens.Add(vItens[i] as MPedidoItem);
            }

            int posiscao_transacao = 0;

            new QPedido().Gravar(vpedido, ref posiscao_transacao, transferencia);

            new QPedido().VerificaMesaSemItem();

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Close();
        }
Ejemplo n.º 5
0
 public void InserirPedido(MPedido pedido)
 {
     //Verifica se todos os campos do cadastro foram preenchidos
     if (pedido.Cliente != null && pedido.Total > 0)
     {
         PPedido        dados          = new PPedido();
         List <MPedido> listaDePedidos = dados.Abrir();
         pedido.IdPedido = listaDePedidos.Count + 1;
         listaDePedidos.Add(pedido);
         dados.Salvar(listaDePedidos);
     }
     else
     {
         throw new CadastroIncompletoException("Cadastro incompleto, não foi possível finalizar a operação");
     }
 }
Ejemplo n.º 6
0
        public List <DtoPedido> getPedidosEnDespacho(int id)
        {
            List <DtoPedido> colDtoP = new List <DtoPedido>();

            using (AliyavaEntities context = new AliyavaEntities())
            {
                List <Pedido> colPedDB = context.Pedido.Where(w => w.Estado == "En despacho").ToList();

                foreach (Pedido item in colPedDB)
                {
                    DtoPedido dto = MPedido.MapToDto(item);
                    colDtoP.Add(dto);
                }
            }

            return(colDtoP);
        }
Ejemplo n.º 7
0
        public List <DtoPedido> GetPedidos()
        {
            List <Pedido>    colPedidosDB = new List <Pedido>();
            List <DtoPedido> colPedidos   = new List <DtoPedido>();

            using (AliyavaEntities context = new AliyavaEntities())
            {
                colPedidosDB = context.Pedido.Where(w => w.Urgente == "No" && w.Estado == "Pendiente").ToList();

                foreach (Pedido item in colPedidosDB)
                {
                    DtoPedido pedido = MPedido.MapToDto(item);
                    colPedidos.Add(pedido);
                }
            }

            return(colPedidos);
        }
Ejemplo n.º 8
0
        public List <DtoPedido> getAllPedidos()
        {
            List <Pedido>    colPedidosDB = new List <Pedido>();
            List <DtoPedido> colPedidos   = new List <DtoPedido>();

            using (AliyavaEntities context = new AliyavaEntities())
            {
                colPedidosDB = context.Pedido.Select(s => s).ToList();

                foreach (Pedido item in colPedidosDB)
                {
                    DtoPedido pedido = MPedido.MapToDto(item);
                    colPedidos.Add(pedido);
                }
            }

            return(colPedidos);
        }
Ejemplo n.º 9
0
        public List <DtoPedido> getPedidoCli(string NombreUsu)
        {
            List <Pedido>    colPedidosDB = new List <Pedido>();
            List <DtoPedido> colPedidos   = new List <DtoPedido>();

            using (AliyavaEntities context = new AliyavaEntities())
            {
                colPedidosDB = context.Pedido.Where(w => w.Usuario == NombreUsu).ToList();

                foreach (Pedido item in colPedidosDB)
                {
                    DtoPedido pedido = MPedido.MapToDto(item);
                    colPedidos.Add(pedido);
                }
            }

            return(colPedidos);
        }
Ejemplo n.º 10
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();
            }
        }
Ejemplo n.º 11
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;
        }
Ejemplo n.º 12
0
        public void Gravar(MPedido pedido, bool gerarNotaFiscal, ref int posicaoTransacao, List <MPedidoItem> transferencia = null)
        {
            try
            {
                Conexao.Iniciar(ref posicaoTransacao);

                if (transferencia != null)
                {
                    for (int i = 0; i < transferencia.Count; i++)
                    {
                        DeletarItemParaTransferir(transferencia[i], ref posicaoTransacao);
                    }
                }

                var existente = Conexao.BancoDados.TB_COM_PEDIDOs.FirstOrDefault(a => a.ID_PEDIDO == pedido.ID_PEDIDO);

                #region Inserção

                if (existente == null)
                {
                    pedido.ID_PEDIDO = (Conexao.BancoDados.TB_COM_PEDIDOs.Any() ? Conexao.BancoDados.TB_COM_PEDIDOs.Max(a => a.ID_PEDIDO) : 0) + 1;

                    var vPedido = new TB_COM_PEDIDO();
                    vPedido.ID_PEDIDO        = pedido.ID_PEDIDO;
                    vPedido.ID_PEDIDO_ORIGEM = pedido.ID_PEDIDO_ORIGEM == 0 ? null : pedido.ID_PEDIDO_ORIGEM;
                    vPedido.ID_EMPRESA       = pedido.ID_EMPRESA;
                    vPedido.ID_USUARIO       = pedido.ID_USUARIO;
                    vPedido.ID_CLIFOR        = pedido.ID_CLIFOR;
                    vPedido.ST_PEDIDO        = pedido.ST_PEDIDO;
                    vPedido.ST_ATIVO         = pedido.ST_ATIVO;
                    vPedido.DT_CADASTRO      = Conexao.DataHora;
                    vPedido.TP_MOVIMENTO     = pedido.TP_MOVIMENTO;
                    Conexao.BancoDados.TB_COM_PEDIDOs.InsertOnSubmit(vPedido);

                    Conexao.Enviar();
                }

                #endregion

                #region Atualização

                else
                {
                    existente.ID_EMPRESA       = pedido.ID_EMPRESA;
                    existente.ID_CLIFOR        = pedido.ID_CLIFOR;
                    existente.ST_ATIVO         = pedido.ST_ATIVO;
                    existente.ID_PEDIDO_ORIGEM = pedido.ID_PEDIDO_ORIGEM == 0 ? null : pedido.ID_PEDIDO_ORIGEM;
                    existente.ST_PEDIDO        = pedido.ST_PEDIDO;
                    existente.TP_MOVIMENTO     = pedido.TP_MOVIMENTO;

                    Conexao.Enviar();
                }

                ID_PEDIDO = pedido.ID_PEDIDO;

                for (int i = 0; i < pedido.Itens.Count; i++)
                {
                    GravaPedidoItem(pedido, pedido.Itens[i]);
                }

                if (gerarNotaFiscal)
                {
                    //GRAVA NOTA FISCAL
                    var nota = new TB_FAT_NOTA();
                    nota.ID_CLIFOR          = pedido.ID_CLIFOR;
                    nota.ID_EMPRESA         = pedido.ID_EMPRESA;
                    nota.ID_USUARIO         = pedido.ID_USUARIO;
                    nota.TP_MOVIMENTO       = pedido.TP_MOVIMENTO;
                    nota.DT_ENTRADASAIDA    = pedido.DT_CADASTRO;
                    nota.ID_NOTA_REFERENCIA = pedido.ID_PEDIDO;

                    // Revisar
                    nota.ID_CONFIGURACAO_FISCAL     = 1;
                    nota.ID_CONFIGURACAO_FINANCEIRO = 1;

                    for (int i = 0; i < pedido.Itens.Count; i++)
                    {
                        nota.TB_FAT_NOTA_ITEMs.Add(new TB_FAT_NOTA_ITEM
                        {
                            ID_PRODUTO  = pedido.Itens[i].ID_PRODUTO,
                            QT          = pedido.Itens[i].QUANTIDADE,
                            VL_UNITARIO = pedido.Itens[i].VL_UNITARIO,
                            VL_DESCONTO = pedido.Itens[i].VL_DESCONTO,
                            ID_EMPRESA  = pedido.ID_EMPRESA
                        });
                    }

                    var referencia = new QNota();
                    referencia.Gravar(nota, pedido.CONDICAO_PAGAMENTO, ref posicaoTransacao);

                    ID_NOTA = referencia.ID_NOTA;
                }
                #endregion

                Conexao.Enviar();

                Conexao.Finalizar(ref posicaoTransacao);
            }
            catch (Exception excessao)
            {
                Conexao.Voltar(ref posicaoTransacao);
                throw excessao;
            }
        }
Ejemplo n.º 13
0
        private void afterGravar(string condicao, decimal valor)
        {
            if (gvItens.DataSource == null)
            {
                return;
            }

            if (valor < seTotalPagar.Value)
            {
                valor = seTotalPagar.Value;
            }


            if (condicao == "01")
            {
                if (XtraMessageBox.Show("Confirmar fechamento em dinheiro?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }

            if (condicao == "03")
            {
                if (XtraMessageBox.Show("Confirmar fechamento em cartão de crédito?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }

            if (condicao == "04")
            {
                if (XtraMessageBox.Show("Confirmar fechamento em cartão de débito?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }

            if (condicao == "05")
            {
                BuscaClifor();
            }

            decimal valorDoc = 0m;

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

            valorDoc   = valor > seTotalPagar.Value - liquidado ? seTotalPagar.Value - liquidado : valor;
            valorTroco = condicao == "01" && valor > seTotalPagar.Value - liquidado ? valor - (seTotalPagar.Value - liquidado) : 0;

            var vpedido = new MPedido();

            vpedido.ID_EMPRESA         = 1;
            vpedido.ID_CLIFOR          = ID_Clifor;
            vpedido.ST_ATIVO           = gvItens.DataRowCount > 0;
            vpedido.ST_PEDIDO          = "F";
            vpedido.TP_MOVIMENTO       = "S";
            vpedido.CONDICAO_PAGAMENTO = condicao;
            vpedido.VALO_DOCUMENTO     = valorDoc;

            for (int i = 0; i < bsItens.Count; i++)
            {
                vpedido.Itens.Add((bsItens[i] as MPedidoItem));
            }

            var pedido           = new SYS.QUERYS.Lancamentos.Comercial.QPedido();
            var posicaoTransacao = 0;


            pedido.Gravar(vpedido, false, ref posicaoTransacao);

            NR_pedido = pedido.ID_PEDIDO;
            ID_NOTA   = pedido.ID_NOTA;

            calculaSubTotal(true);

            if (seTotalPagar.Value > 0)
            {
                bsItens.Clear();
                zeracampos();
                if (valorTroco > 0)
                {
                    teNM.Text = "Troco: " + valorTroco.ToString("N2");
                }
            }

            //if(Mensagens.Pergunta("Deseja enviar e imprimir NFC-e?") == DialogResult.Yes)
            //{
            //    var processador = new FComunicadorFiscal_Processamento();

            //    var documento = QQuery.BancoDados.TB_FAT_NOTA_X_DOCUMENTOs.FirstOrDefault(a => a.ID_NOTA == pedido.ID_NOTA && a.ID_EMPRESA == vpedido.ID_EMPRESA);
            //    processador.Enviar(documento.ID_DOCUMENTO, documento.ID_EMPRESA, Modelo.NFCe, Ambiente.Producao, Emissao.ContigenciaOFFLINE, ImpressaoDANFE.NFCe);
            //}
        }