コード例 #1
0
 private void EliminarMesaAbierta(MesasAbierta mesaAbierta)
 {
     if (mesaAbierta.IdMesaAbierta == null)
     {
         return;
     }
     using (var db = new DatosEntities())
     {
         try
         {
             MesasAbierta m = (from x in db.MesasAbiertas
                               where x.IdMesaAbierta == mesaAbierta.IdMesaAbierta
                               select x).FirstOrDefault();
             //foreach(MesasAbiertasPlato mp in db.MesasAbiertasPlatos.Where(x=> x.IdMesaAbierta == mesaAbierta.IdMesaAbierta))
             //{
             //    db.MesasAbiertasPlatos.DeleteObject(mp);
             //}
             db.MesasAbiertas.DeleteObject(m);
             db.SaveChanges();
         }
         catch (Exception x)
         {
             MessageBox.Show(x.Message);
         }
     }
 }
コード例 #2
0
        /*
         * void MesaTextEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
         * {
         *  FrmBuscarEntidades f = new FrmBuscarEntidades();
         *  f.BuscarMesasDisponibles("");
         *  if (f.registro != null)
         *  {
         *      Mesa item = (Mesa)f.registro;
         *      mesaAbierta.IdMesa = item.IdMesa;
         *      mesaAbierta.Mesa = item.Descripcion;
         *  }
         * }*/
        void MesaTextEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            MesasAbierta       nuevaMesa = new MesasAbierta();
            FrmBuscarEntidades f         = new FrmBuscarEntidades();

            f.BuscarMesas("");
            Mesa item = (Mesa)f.registro;

            if (item != null)
            {
                VeneciaEntities newdb = new VeneciaEntities();
                nuevaMesa = newdb.MesasAbiertas.FirstOrDefault(x => x.IdMesa == item.IdMesa);
                if (nuevaMesa == null)
                {
                    mesaAbierta.IdMesa = item.IdMesa;
                    mesaAbierta.Mesa   = item.Descripcion;
                    return;
                }
                if (MessageBox.Show("Mesa ocupada desea unirlas ?", "Atencion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                {
                    return;
                }
                var q = from p in newdb.MesasAbiertasPlatos
                        where p.IdMesaAbierta == nuevaMesa.IdMesaAbierta
                        select p;
                List <MesasAbiertasPlato> nuevaMesaPlatos = q.ToList();
                foreach (var x in mesaAbiertaPlatos)
                {
                    x.IdMesaAbierta = nuevaMesa.IdMesaAbierta;
                }
                try
                {
                    db.MesasAbiertas.Remove(mesaAbierta);
                }
                catch { }
                //db.MesasAbiertas.Add(nuevaMesa);
                try
                {
                    db.SaveChanges();
                    mesaAbiertaPlatos = newdb.MesasAbiertasPlatos.Where(x => x.IdMesaAbierta == nuevaMesa.IdMesaAbierta).ToList();
                    nuevaMesa.Totalizar(mesa.CobraServicio.GetValueOrDefault(true), mesaAbiertaPlatos.ToList(), 0);
                    newdb.SaveChanges();
                    this.Close();
                }
                catch (Exception x)
                {
                    Basicas.ManejarError(x);
                }
            }
        }
コード例 #3
0
        public void ImprimeComanda(MesasAbierta documento, List <MesasAbiertasPlato> items)
        {
            int error;
            int status;

            unsafe
            {
                try
                {
                    if (!OpenFpctrl(Basicas.PuertoComandas))
                    {
                        throw (new Exception("Error de conexión, verifique el puerto por favor..."));
                    }
                    bRet = SendCmd(&status, &error, "800" + "      COMANDA    ");
                    bRet = SendCmd(&status, &error, "800" + "  ");
                    bRet = SendCmd(&status, &error, "800" + string.Format("TICKET:{0} COMANDA:{1}", documento.Numero, FactoryContadores.GetMax("Comanda")));
                    bRet = SendCmd(&status, &error, "800" + string.Format("FECHA :{0}    HORA:{1}", DateTime.Today.ToShortDateString(), DateTime.Now.ToShortTimeString()));
                    bRet = SendCmd(&status, &error, "800" + string.Format("MESA:{0}", documento.Mesa));
                    bRet = SendCmd(&status, &error, "800" + string.Format("MESONERO:{0}", documento.Mesonero));
                    bRet = SendCmd(&status, &error, "800" + string.Format("========================================"));
                    foreach (var item in items)
                    {
                        bRet = SendCmd(&status, &error, "800" + string.Format(" {0}) {1} ", item.Cantidad.Value.ToString("N0"), item.Descripcion.PadRight(25).Substring(0, 25)));
                        if (item.Comentarios != null)
                        {
                            foreach (string p in item.Comentarios)
                            {
                                bRet = SendCmd(&status, &error, "800" + p);
                            }
                        }
                        if (item.Contornos != null)
                        {
                            foreach (string p in item.Contornos)
                            {
                                bRet = SendCmd(&status, &error, "800" + p);
                            }
                        }
                    }
                    bRet = SendCmd(&status, &error, "800" + "========================================");
                    bRet = SendCmd(&status, &error, "810" + "  ");
                    this.LiberarImpresora();
                }
                catch (Exception x)
                {
                    bRet = SendCmd(&status, &error, "810  ");
                    throw x;
                }
            }
        }
コード例 #4
0
        public void ImprimeCorteConMontos(MesasAbierta documento)
        {
            int error;
            int status;

            unsafe
            {
                try
                {
                    this.ConectarImpresora();
                    bRet = SendCmd(&status, &error, "800" + "               CORTE DE CUENTA    ");
                    bRet = SendCmd(&status, &error, "800" + "    MESA:" + documento.Mesa);
                    bRet = SendCmd(&status, &error, "800" + "MESONERO:" + documento.Mesonero);
                    bRet = SendCmd(&status, &error, "800" + "  CUENTA:" + documento.Numero);
                    bRet = SendCmd(&status, &error, "800" + "CANT  DESCRIPCION                MONTO" + documento.Mesonero);
                    bRet = SendCmd(&status, &error, "800" + "======================================");
                    using (var db = new RestaurantEntities())
                    {
                        var mesaPlatos = from p in db.MesasAbiertasPlatos
                                         where p.IdMesaAbierta == documento.IdMesaAbierta
                                         select p;
                        foreach (var item in mesaPlatos)
                        {
                            bRet = SendCmd(&status, &error, string.Format("800" + "{0} {1} {2}", item.Cantidad.Value.ToString("000"), item.Descripcion.PadRight(22).Substring(0, 22), item.Total.GetValueOrDefault(0).ToString("n2").PadLeft(8)));
                        }
                    }
                    bRet = SendCmd(&status, &error, "800" + "======================================");
                    bRet = SendCmd(&status, &error, "800" + string.Format("MONTO SERVICIO:{0}".PadLeft(30), documento.MontoServicio.GetValueOrDefault(0).ToString("N2").PadLeft(8)));
                    bRet = SendCmd(&status, &error, "800" + string.Format("  MONTO EXENTO:{0}".PadLeft(30), documento.MontoExento.GetValueOrDefault(0).ToString("N2").PadLeft(8)));
                    bRet = SendCmd(&status, &error, "800" + string.Format("MONTO GRAVABLE:{0}".PadLeft(30), documento.MontoGravable.GetValueOrDefault(0).ToString("N2").PadLeft(8)));
                    bRet = SendCmd(&status, &error, "800" + string.Format("     MONTO IVA:{0}".PadLeft(30), documento.MontoIva.GetValueOrDefault(0).ToString("N2").PadLeft(8)));
                    bRet = SendCmd(&status, &error, "800" + string.Format("   MONTO TOTAL:{0}".PadLeft(30), documento.MontoTotal.GetValueOrDefault(0).ToString("N2").PadLeft(8)));
                    bRet = SendCmd(&status, &error, "800" + "==================================");
                    bRet = SendCmd(&status, &error, "800" + "POR EXIGENCIAS DEL SENIAT ");
                    bRet = SendCmd(&status, &error, "800" + "NECESITAMOS LO SIGUIENTE:");
                    bRet = SendCmd(&status, &error, "800" + "CEDULA/RIF:__________________________");
                    bRet = SendCmd(&status, &error, "800" + "    NOMBRE:__________________________");
                    bRet = SendCmd(&status, &error, "810" + "  ");
                    this.LiberarImpresora();
                }
                catch (Exception x)
                {
                    bRet = SendCmd(&status, &error, "810  ");
                    throw x;
                }
            }
        }
コード例 #5
0
        public void ImprimeCorte(MesasAbierta documento)
        {
            int error;
            int status;

            unsafe
            {
                try
                {
                    this.ConectarImpresora();
                    bRet = SendCmd(&status, &error, "800" + "               CORTE DE CUENTA    ");
                    bRet = SendCmd(&status, &error, "800" + "    MESA:" + documento.Mesa);
                    bRet = SendCmd(&status, &error, "800" + "MESONERO:" + documento.Mesonero);
                    bRet = SendCmd(&status, &error, "800" + "  CUENTA:" + documento.Numero);
                    bRet = SendCmd(&status, &error, "800" + "CANT  DESCRIPCION                MONTO" + documento.Mesonero);
                    bRet = SendCmd(&status, &error, "800" + "======================================");
                    using (var db = new RestaurantEntities())
                    {
                        var mesaPlatos = from p in db.MesasAbiertasPlatos
                                         where p.IdMesaAbierta == documento.IdMesaAbierta
                                         select p;
                        foreach (var item in mesaPlatos)
                        {
                            bRet = SendCmd(&status, &error, string.Format("800" + "{0} {1}", item.Cantidad.Value.ToString("000"), item.Descripcion.PadRight(28).Substring(0, 22)));
                        }
                    }
                    bRet = SendCmd(&status, &error, "800" + "==================================");
                    bRet = SendCmd(&status, &error, "800" + "POR EXIGENCIAS DEL SENIAT ");
                    bRet = SendCmd(&status, &error, "800" + "NECESITAMOS LO SIGUIENTE:");
                    bRet = SendCmd(&status, &error, "800" + "CEDULA/RIF:__________________________");
                    bRet = SendCmd(&status, &error, "800" + "    NOMBRE:__________________________");
                    bRet = SendCmd(&status, &error, "810" + "  ");
                    this.LiberarImpresora();
                }
                catch (Exception x)
                {
                    bRet = SendCmd(&status, &error, "810  ");
                    throw x;
                }
            }
        }
コード例 #6
0
        public void ImprimeCorte(MesasAbierta documento)
        {
            int error;
            int status;

            unsafe
            {
                try
                {
                    this.ConectarImpresora();
                    bRet = SendCmd(&status, &error, "800" + "      CORTE DE CUENTA    ");
                    bRet = SendCmd(&status, &error, "800" + "  ");
                    bRet = SendCmd(&status, &error, "800" + "MESA:" + documento.Mesa);
                    bRet = SendCmd(&status, &error, "800" + "MESONERO:" + documento.Mesonero);
                    bRet = SendCmd(&status, &error, "800" + "  ");
                    foreach (var item in documento.MesasAbiertasPlatos)
                    {
                        if (item.Cantidad.GetValueOrDefault(0) > 1)
                        {
                            bRet = SendCmd(&status, &error, "800" + string.Format(" X {0}", item.Cantidad.Value.ToString("N0")));
                        }
                        bRet = SendCmd(&status, &error, string.Format("800" + "{0} {1}", item.Descripcion.PadLeft(20), item.Total.GetValueOrDefault(0).ToString("n")));
                    }
                    bRet = SendCmd(&status, &error, "800" + "  ");
                    bRet = SendCmd(&status, &error, "800" + string.Format("MONTO SERVICIO:{0}", documento.MontoServicio.GetValueOrDefault(0).ToString("N2")));
                    bRet = SendCmd(&status, &error, "800" + string.Format("  MONTO EXENTO:{0}", documento.MontoExento.GetValueOrDefault(0).ToString("N2")));
                    bRet = SendCmd(&status, &error, "800" + string.Format("MONTO GRAVABLE:{0}", documento.MontoGravable.GetValueOrDefault(0).ToString("N2")));
                    bRet = SendCmd(&status, &error, "800" + string.Format("     MONTO IVA:{0}", documento.MontoIva.GetValueOrDefault(0).ToString("N2")));
                    bRet = SendCmd(&status, &error, "800" + string.Format("   MONTO TOTAL:{0}", documento.MontoTotal.GetValueOrDefault(0).ToString("N2")));
                    bRet = SendCmd(&status, &error, "810" + "  ");
                    this.LiberarImpresora();
                }
                catch (Exception x)
                {
                    bRet = SendCmd(&status, &error, "810  ");
                    throw x;
                }
            }
        }
コード例 #7
0
 private void EliminarMesaAbierta(MesasAbierta mesaAbierta)
 {
     if (mesaAbierta.IdMesaAbierta == null)
     {
         return;
     }
     using (var db = new RestaurantEntities())
     {
         try
         {
             MesasAbierta m = (from x in db.MesasAbiertas
                               where x.IdMesaAbierta == mesaAbierta.IdMesaAbierta
                               select x).FirstOrDefault();
             db.MesasAbiertas.DeleteObject(m);
             db.SaveChanges();
         }
         catch (Exception x)
         {
             MessageBox.Show(x.Message);
         }
     }
 }
コード例 #8
0
 void Form1_Load(object sender, EventArgs e)
 {
     #region IniciarPantalla
     esNuevo = true;
     this.txtEmpresa.Text = Basicas.parametros().Empresa;
     this.txtUsuario.Text = FactoryUsuarios.UsuarioActivo.Nombre;
     cantidades.AddRange(new Button[] { cantidad0, cantidad1, cantidad2, cantidad3, cantidad4, cantidad5, cantidad6, cantidad7, cantidad8 });
     grupos.AddRange(new Button[] { grupo0, grupo1, grupo2, grupo3, grupo4, grupo5, grupo6, grupo7, grupo8, grupo9, grupo10, grupo11, grupo12, grupo13, grupo14, grupo15, grupo16, grupo17 });
     platos.AddRange(new Button[] { plato1, plato2, plato3, plato4, plato5, plato6, plato7, plato8, plato9, plato10, plato11, plato12, plato13, plato14, plato15, plato16, plato17, plato18, plato19, plato20, plato21, plato22, plato23, plato24, plato25, plato26, plato27, plato28, plato29, plato30, plato31, plato32, plato33, plato34, plato35, plato36, plato37, plato38, plato39, plato40, plato41, plato42 });
     #endregion
     #region Eventos
     foreach (Button b in cantidades)
     {
         b.Click += new EventHandler(cantidad_Click);
     }
     foreach (Button b in grupos)
     {
         //    b.Visible = false;
         b.Click += new EventHandler(grupo_Click);
     }
     foreach (Button b in platos)
     {
         b.Font    = new Font("Tahoma", 9);
         b.Visible = false;
         b.Click  += new EventHandler(plato_Click);
     }
     this.KeyPreview            = true;
     this.KeyDown              += new KeyEventHandler(FrmCaja_KeyDown);
     this.gridControl1.KeyDown += new KeyEventHandler(gridControl1_KeyDown);
     this.btnImprimir.Visible   = FactoryUsuarios.UsuarioActivo.PuedePedirCorteDeCuenta.GetValueOrDefault(false);
     this.btnImprimir.Click    += new EventHandler(btnImprimir_Click);
     this.btnPagos.Visible      = FactoryUsuarios.UsuarioActivo.PuedeRegistrarPago.GetValueOrDefault(false);
     this.btnPagos.Click       += new EventHandler(Pagos_Click);
     this.btnGuardar.Click     += new EventHandler(btnGuardar_Click);
     this.btnCancelar.Click    += new EventHandler(btnCancelar_Click);
     this.txtPlato.Validating  += new CancelEventHandler(txtPlato_Validating);
     this.txtPlato.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(txtPlato_ButtonClick);
     if (FactoryUsuarios.UsuarioActivo.PuedeCambiarMesa.GetValueOrDefault(false) == true)
     {
         this.MesaTextEdit.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(MesaTextEdit_ButtonClick);
     }
     #endregion
     #region Enlazar
     if (mesaAbierta == null)
     {
         esNuevo              = true;
         mesaAbierta          = new MesasAbierta();
         mesaAbierta.IdMesa   = mesa.IdMesa;
         mesaAbierta.Mesa     = mesa.Descripcion;
         mesaAbierta.Apertura = DateTime.Now;
         mesaAbierta.Estatus  = "ABIERTA";
         mesaAbierta.Personas = 1;
     }
     else
     {
         mesonero    = FactoryUsuarios.Item(mesaAbierta.IdMesonero);
         mesaAbierta = FactoryMesas.MesaAbiertaItem(db, mesaAbierta);
         if (mesaAbierta.IdMesa != null)
         {
             mesaAbiertaPlatos = (from x in db.MesasAbiertasPlatos
                                  where x.IdMesaAbierta == mesaAbierta.IdMesaAbierta
                                  select x).ToList();
         }
     }
     mesasAbiertaBindingSource.DataSource = mesaAbierta;
     mesasAbiertaBindingSource.ResetBindings(true);
     mesasAbiertasPlatoBindingSource.DataSource = mesaAbiertaPlatos;
     mesasAbiertasPlatoBindingSource.ResetBindings(true);
     #endregion
     CargarGrupos();
     btnMas.Click           += new EventHandler(btnMas_Click);
     this.btnSeparar.Visible = FactoryUsuarios.UsuarioActivo.PuedeSepararCuentas.GetValueOrDefault(false);
     this.btnSeparar.Click  += new EventHandler(btnSeparar_Click);
     this.Height             = Screen.GetBounds(this).Height - 50;
     this.Width = Screen.GetBounds(this).Width - 50;
     this.CenterToScreen();
     txtPlato.Focus();
 }
コード例 #9
0
        void MesaTextEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            MesasAbierta       nuevaMesa = new MesasAbierta();
            FrmBuscarEntidades f         = new FrmBuscarEntidades();

            f.BuscarMesas("");
            Mesa item = (Mesa)f.registro;

            if (item != null)
            {
                DatosEntities newdb = new DatosEntities();
                //var temp = from xx in newdb.MesasAbiertas
                //                     where mesa.IdMesa == item.IdMesa
                //                     select xx;
                nuevaMesa = FactoryMesas.MesaAbierta(newdb, item);
                if (nuevaMesa == null)
                {
                    mesaAbierta.IdMesa = item.IdMesa;
                    mesaAbierta.Mesa   = item.Descripcion;
                    return;
                }
                if (MessageBox.Show("Mesa ocupada desea unirlas ?", "Atencion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                {
                    return;
                }
                foreach (var x in mesaAbierta.MesasAbiertasPlatos)
                {
                    MesasAbiertasPlato p = new MesasAbiertasPlato();
                    p.Cantidad           = x.Cantidad;
                    p.Codigo             = x.Codigo;
                    p.Comentarios        = x.Comentarios;
                    p.Contornos          = x.Contornos;
                    p.Costo              = x.Costo;
                    p.Descripcion        = x.Descripcion;
                    p.EnviarComanda      = x.EnviarComanda;
                    p.Grupo              = x.Grupo;
                    p.IdMesaAbiertaPlato = FactoryContadores.GetMax("IdMesaAbiertaPlato");
                    p.Idplato            = x.Idplato;
                    p.Precio             = x.Precio;
                    p.PrecioConIva       = x.PrecioConIva;
                    p.TasaIva            = x.TasaIva;
                    p.Total              = x.Total;
                    nuevaMesa.MesasAbiertasPlatos.Add(p);
                }
                try
                {
                    db.MesasAbiertas.DeleteObject(mesaAbierta);
                }
                catch { }
                //db.MesasAbiertas.AddObject(nuevaMesa);
                try
                {
                    db.SaveChanges();
                    nuevaMesa.Totalizar(mesa.CobraServicio.GetValueOrDefault(true), nuevaMesa.MesasAbiertasPlatos.ToList(), 0);
                    newdb.SaveChanges();
                    this.Close();
                }
                catch (Exception x)
                {
                    Basicas.ManejarError(x);
                }
            }
        }