Пример #1
0
        private void ValidaPedido_NoEliminado()
        {
            DBM.CLS.QUERY QueryTable = new DBM.CLS.QUERY();
            DataRow       drOrder;

            foreach (Control item in flowPanelPendiente.Controls)
            {
                if ((drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", item.Name)) == null)
                {
                    flowPanelPendiente.Controls.Remove(item);
                }
            }
            foreach (Control item in flowPanelProceso.Controls)
            {
                if ((drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", item.Name)) == null)
                {
                    //flowPanelProceso.Controls.Remove(item);
                    item.BackColor = Color.Red;
                    item.Enabled   = false;
                    item.Text      = item.Text + " Cancelada";
                }
            }
        }
Пример #2
0
        private void quitarePedidosPagados()
        {
            DBM.CLS.QUERY QueryTable = new DBM.CLS.QUERY();
            DataRow       drOrder;

            foreach (DBM.CLS.Metodos.myButton item in flowPanelFinalizado.Controls.OfType <Button>())
            {
                drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", item.Name);
                if (drOrder != null)
                {
                    try
                    {
                        if (item.campo1 == drOrder["idPedido"].ToString() && bool.Parse(drOrder["cancelado"].ToString()) == true)
                        {
                            flowPanelFinalizado.Controls.Remove(item);
                        }
                    }
                    catch { }
                }
            }
        }
Пример #3
0
        public void filtrarPedido(int OrderId)
        {
            if (LeerXml().Length > 0)
            {
                QueryDetalle = "SELECT pd.idDetalle,pd.idPedido,pd.idProducto,p.nombre as producto,pd.cantidad,pd.cantidadAnterior,pd.precio,pd.subTotal,pd.grupo,pd.idCocinero,pd.extras,DATE_FORMAT(pd.horaPedido, '%Y-%m-%d %H:%i:%s') as horaPedido,DATE_FORMAT(pd.horaEntregado, '%Y-%m-%d %H:%i:%s') as horaEntregado,pe.fecha,m.idMesa,m.nombre as mesa from pedido_detalle pd, producto p, pedido pe  left join mesa m on (pe.idMesa=m.idMesa) where pd.idProducto = p.idProducto and pd.idpedido = pe.idPedido and p.idFamilia in (" + LeerXml() + " ) and pe.idPedido=" + OrderId;
            }
            else
            {
                QueryDetalle = "SELECT pd.idDetalle,pd.idPedido,pd.idProducto,p.nombre as producto,pd.cantidad,pd.cantidadAnterior,pd.precio,pd.subTotal,pd.grupo,pd.idCocinero,pd.extras,DATE_FORMAT(pd.horaPedido, '%Y-%m-%d %H:%i:%s') as horaPedido,DATE_FORMAT(pd.horaEntregado, '%Y-%m-%d %H:%i:%s') as horaEntregado,pe.fecha,m.idMesa,m.nombre as mesa from pedido_detalle pd, producto p, pedido pe  left join mesa m on (pe.idMesa=m.idMesa) where pd.idProducto = p.idProducto and pd.idpedido = pe.idPedido and pe.idPedido=" + OrderId;
            }


            DBM.CLS.QUERY Query           = new DBM.CLS.QUERY();
            DBM.CLS.QUERY consultaDetalle = new DBM.CLS.QUERY();
            dgPedido.AutoGenerateColumns = false;
            DataTable DT = new DataTable();

            DT = consultaDetalle.Consultar(QueryDetalle);
            dgPedido.DataSource = DT;
            dgPedido.Columns["cantidadAnterior"].Visible = false;
            if (cambiosDetectados)
            {
                foreach (DataGridViewRow dr in dgPedido.Rows)
                {
                    if (Convert.ToInt32(dr.Cells["idDetalle"].Value.ToString()) > UltimoIDDetalle)
                    {
                        dr.DefaultCellStyle.BackColor = Color.Orange;
                    }
                    if (Convert.ToInt32(dr.Cells["cantidadAnterior"].Value.ToString()) != 0)
                    {
                        if (Convert.ToInt32(dr.Cells["cantidad"].Value.ToString()) > Convert.ToInt32(dr.Cells["cantidadAnterior"].Value.ToString()))
                        {
                            dr.DefaultCellStyle.BackColor = Color.LawnGreen;
                        }
                        if (Convert.ToInt32(dr.Cells["cantidad"].Value.ToString()) < Convert.ToInt32(dr.Cells["cantidadAnterior"].Value.ToString()))
                        {
                            dr.DefaultCellStyle.BackColor = Color.Red;
                        }

                        dgPedido.Columns["cantidadAnterior"].Visible = true;
                    }
                }

                cambiosDetectados = false;
            }

            DataRow drPedido = Query.GetUniqueRecord("Pedido", "idPedido", OrderId.ToString());

            lblTicket.Text = OrderId.ToString();
            try
            {
                lblMesa.Text = DT.Rows[0]["mesa"].ToString();
            }
            catch { }
            //Para mostrar el nombre del cliente y del camamero
            try
            {
                DataRow drC = Query.GetUniqueRecord("Cliente", "idCliente", drPedido["idCliente"].ToString());
                if (drC != null && drC.ItemArray.Count() > 0)
                {
                    lblCliente.Text = drC["nombre"].ToString();
                }
                else
                {
                    lblCliente.Text = "";
                }
                //Para mostrar el nombre del camarero
                String _idMesero = drPedido["idMesero"].ToString();
                if (_idMesero.Length > 0)
                {
                    DataRow drMesero = Query.GetUniqueRecord("Empleado", "idEmpleado", _idMesero);
                    lblMesero.Text = drMesero["nombres"].ToString() + " " + drMesero["apellidos"].ToString();
                }
                else
                {
                    lblMesero.Text = "";
                }
            }
            catch (Exception)
            {
            }
            //Para mostrar el nombre del salon
            try
            {
                Query.showErrorSQL = false;
                string  sql = "SELECT nombre FROM salon WHERE idSalon =(SELECT idSalon from mesa where idMesa= " + drPedido["idMesa"].ToString() + ")";
                DataRow drC = Query.Consultar(sql).Rows[0];
                if (drC != null && drC.ItemArray.Count() > 0)
                {
                    lblMesa.Text = lblMesa.Text + " - " + drC["nombre"].ToString();
                }
            }
            catch
            {
            }
            Query.showErrorSQL = true;
        }
Пример #4
0
        private void ValidaCambiosEnPedido()
        {
            DBM.CLS.QUERY QueryTable = new DBM.CLS.QUERY();
            DataRow       drOrder;
            DataRow       drOrderDetalle;

            DBM.CLS.Metodos.myButton boton = new DBM.CLS.Metodos.myButton();
            foreach (DBM.CLS.Metodos.myButton item in flowPanelProceso.Controls)
            {
                drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", item.Name);
                if (drOrder != null)
                {
                    DataTable DT = new DataTable();
                    DT = QueryTable.GetRecordsFilters("pedido_detalle", "idPedido", drOrder["idPedido"].ToString());
                    int totalReg = DT.Rows.Count;
                    try
                    {
                        if (item.campo2 != drOrder["total"].ToString() || int.Parse(item.campo3) < int.Parse(DT.Rows[totalReg - 1]["idDetalle"].ToString()))
                        {
                            item.BackColor = Color.Orange;
                            if (!item.Enabled)
                            {
                                item.Enabled = true;
                                item.Text.Replace("Cancelada", "");
                            }
                            if (!item.Text.Contains("Hay cambios"))
                            {
                                item.Text = item.Text + " Hay cambios";
                            }
                            if (LastOrderIdClicked == item.indice)
                            {
                                /*
                                 * frmDetalle.OrderID = item.indice;
                                 * frmDetalle.UltimoIDDetalle = Convert.ToInt32(item.campo3);
                                 * frmDetalle.cambiosDetectados = true;
                                 * frmDetalle.lblObservaciones.Text = "Último idDetalle:" + frmDetalle.UltimoIDDetalle;
                                 * frmDetalle.filtrarPedido(item.indice);
                                 * //Prueba al 18-08-2019 para que no actualice el formulario de pedido_detalle
                                 * item.campo2 = drOrder["total"].ToString();
                                 * item.campo3 = DT.Rows[totalReg - 1]["idDetalle"].ToString();
                                 */
                            }
                        }
                    }
                    catch { }
                }
            }
            foreach (DBM.CLS.Metodos.myButton item in flowPanelFinalizado.Controls.OfType <Button>())
            {
                drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", item.Name);
                DataTable DT = new DataTable();
                DT = QueryTable.GetRecordsFilters("pedido_detalle", "idPedido", drOrder["idPedido"].ToString());
                int totalReg = DT.Rows.Count;
                try
                {
                    if (item.campo2 != drOrder["total"].ToString() || int.Parse(item.campo3) < int.Parse(DT.Rows[totalReg - 1]["idDetalle"].ToString()))
                    {
                        item.BackColor = Color.Orange;
                        if (!item.Text.Contains("Hay cambios"))
                        {
                            item.Text = item.Text + " Hay cambios";
                        }
                    }
                }
                catch { }
            }
        }
Пример #5
0
        void Boton_Click_ConIndice(object sender, DBM.CLS.Metodos.IntEventArgs e)
        {
            frmDetalle.Show();
            frmDetalle.OrderID               = e.indice;
            frmDetalle.cambiosDetectados     = false;
            frmDetalle.UltimoIDDetalle       = Convert.ToInt32(e.campo3);
            frmDetalle.lblObservaciones.Text = "Último idDetalle:" + frmDetalle.UltimoIDDetalle;
            frmDetalle.filtrarPedido(e.indice);

            LastOrderIdClicked = e.indice;//Esta variable conserva el ultimo idPedido al que se le ha dado click.
            DataRow drOrder = QueryTable.GetUniqueRecord("Pedido", "idPedido", e.campo1);

            if (((Button)sender).BackColor != Color.Orange)
            {
                if (((Button)sender).BackColor == System.Drawing.SystemColors.ControlLightLight)
                {
                    //EN ESTOS PANELES NO ACEPTAN SELECCIÓN MULTIPLE
                    flowPanelPendiente.Controls.OfType <Button>().ToList().ForEach(o => o.BackColor  = System.Drawing.SystemColors.ControlLightLight);
                    flowPanelFinalizado.Controls.OfType <Button>().ToList().ForEach(o => o.BackColor = System.Drawing.SystemColors.ControlLightLight);

                    ((Button)sender).BackColor = System.Drawing.SystemColors.ActiveCaption;
                    if (((Button)sender).Tag.ToString() == "0")
                    {
                        OrderIdPendiente = e.indice;
                    }
                    if (((Button)sender).Tag.ToString() == "1")
                    {
                        pedidosEnProceso.Add(e.indice);
                    }
                    //EN ESTOS PANELES NO ACEPTAN SELECCIÓN MULTIPLE
                    //if (drOrder["listo"].ToString() == "2")
                    //pedidosFinalizados.Add(e.indice);
                }
                else
                {
                    ((Button)sender).BackColor = System.Drawing.SystemColors.ControlLightLight;
                    if (((Button)sender).Tag.ToString() == "0")
                    {
                        OrderIdPendiente = GetOrndenPedidoPendiente1();
                    }
                    if (((Button)sender).Tag.ToString() == "1")
                    {
                        pedidosEnProceso.Remove(e.indice);
                    }
                }
            }
            else
            {
                //ACTUALIZAR LOS CAMBIOS EN LA COMANDA
                DataTable DT = new DataTable();
                DT = QueryTable.GetRecordsFilters("pedido_detalle", "idPedido", drOrder["idPedido"].ToString());
                int totalReg = DT.Rows.Count;
                if (e.campo2 != drOrder["total"].ToString() || int.Parse(e.campo3) < int.Parse(DT.Rows[totalReg - 1]["idDetalle"].ToString()))
                {
                    frmDetalle.cambiosDetectados     = true;
                    frmDetalle.OrderID               = e.indice;
                    frmDetalle.UltimoIDDetalle       = int.Parse(e.campo3);
                    frmDetalle.lblObservaciones.Text = "Último idDetalle:" + frmDetalle.UltimoIDDetalle;
                    frmDetalle.filtrarPedido(e.indice);

                    foreach (DBM.CLS.Metodos.myButton item in flowPanelProceso.Controls)
                    {
                        if (item.Name == e.indice.ToString())
                        {
                            item.campo2 = drOrder["total"].ToString();
                            item.campo3 = DT.Rows[totalReg - 1]["idDetalle"].ToString();
                        }
                    }
                    ((Button)sender).BackColor = System.Drawing.SystemColors.ControlLightLight;
                    try
                    {
                        if (((Button)sender).Tag.ToString() == "1")
                        {
                            pedidosEnProceso.Remove(e.indice);
                        }
                    }
                    catch { }

                    //AGREGADO EL 09-09-2019 ANTES DE ESTE CAMBIO TODO BIEN
                    foreach (DBM.CLS.Metodos.myButton item in flowPanelFinalizado.Controls.OfType <Button>())
                    {
                        if (item.Name == e.indice.ToString())
                        {
                            item.campo2 = drOrder["total"].ToString();
                            item.campo3 = DT.Rows[totalReg - 1]["idDetalle"].ToString();
                        }
                    }
                }
                //Qué hacer cuando se le de click a un botón naranja
            }
        }