private async void botonSeleccionar_Click(object sender, EventArgs e)
        {
            btnBlanco.Visible = false;
            lblBoton.Visible  = false;
            carga.Visible     = true;
            lblCarga.BringToFront();
            flechaDer.Visible = true;
            flechaIzq.Visible = false;
            lblCarga.Visible  = true;
            Transition t = new Transition(new TransitionType_EaseInEaseOut(500));

            t.add(panelPrueba, "Left", 111);
            t.run();
            await NuevoListar();



            panelInicio.Visible = false;
            btnBlanco.Visible   = true;
            lblBoton.Visible    = true;
            carga.Visible       = false;
            lblCarga.Visible    = false;



            TiempoEspera.Start();
        }
        private bool PedirConfirmacion(string nombre)
        {
            Label        mensaje      = new Label();
            Confirmacion confirmacion = new Confirmacion();

            confirmacion.lblMensaje.Font     = new System.Drawing.Font("Tw Cen MT Condensed Extra Bold", 32, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            confirmacion.lblMensaje.Text     = "¿Esta seguro que desea seleccionar" + " la " + nombre + "?";
            confirmacion.lblMensaje.Location = new Point(12, 41);
            TiempoEspera.Stop();
            var resultado = confirmacion.ShowDialog();

            if (resultado == DialogResult.OK)
            {
                confirmacion.Dispose();
                return(true);
            }
            else
            {
                confirmacion.Dispose();
                TiempoEspera.Start();
                return(false);
            }
        }
 private void btnSalir_Click(object sender, EventArgs e)
 {
     TiempoEspera.Stop();
     panelInicio.Visible = true;
     LimpiarBotones();
 }
        public async Task <ActionResult> Create(ReservaView ReservaView, string RCM)
        {
            string   idMesa    = "";
            Guid     IdCliente = new Guid();
            int      codMesas  = 0;
            int      CMesas    = db.Mesas.ToList().Count();
            var      addr      = new AddR();
            DateTime hora      = DateTime.Now;

            if (RCM == "Reservar con menu")
            {
                RCM = Convert.ToString("1");
            }
            else
            {
                RCM = null;
            }
            if (ReservaView.MesasOcupadas.Fecha_MesasO < DateTime.Now.Date)
            {
                ModelState.AddModelError(string.Empty, "Ingrese una fecha mayor o igual ala actual");
                ViewBag.Error  = true;
                ViewBag.CMesas = CantidadMesas.CMesas(db);
                return(View(ReservaView));
            }
            //if (db.Restaurantes.FirstOrDefault().HoraCierre < TiempoEspera.Salida(ReservaView.MesasOcupadas.HoraIngreso_MesasO, db))
            //{
            //    ModelState.AddModelError(string.Empty, "Ingrese una fecha mayor posterior ala actual, por que el restaurante cierra alas "+ db.Restaurantes.FirstOrDefault().HoraCierre.ToString("hh:mm:ss"));
            //    ViewBag.Error = true;
            //    ViewBag.CMesas = CantidadMesas.CMesas(db);
            //    return View(ReservaView);
            //}
            if (ReservaView.MesasOcupadas.HoraIngreso_MesasO.TimeOfDay.Hours <= hora.TimeOfDay.Hours &&
                ReservaView.MesasOcupadas.HoraIngreso_MesasO.TimeOfDay.Minutes <= hora.TimeOfDay.Minutes &&
                DateTime.Now.Date == ReservaView.MesasOcupadas.Fecha_MesasO)
            {
                ModelState.AddModelError(string.Empty, "Ingrese una hora mayor ala actual");
                ViewBag.Error  = true;
                ViewBag.CMesas = CantidadMesas.CMesas(db);
                return(View(ReservaView));
            }
            if (ReservaView.MesasOcupadas.CPersonas_Mesas <= 0)
            {
                ModelState.AddModelError(string.Empty, "Ingrese una cantidad de personas mayor a cero");
                ViewBag.Error  = true;
                ViewBag.CMesas = CantidadMesas.CMesas(db);
                return(View(ReservaView));
            }
            if (ModelState.IsValid)
            {
                using (var transacion = db.Database.BeginTransaction())
                {
                    try
                    {
                        int cantida = CantidadMesas.CMesa(ReservaView.MesasOcupadas.Fecha_MesasO, ReservaView.MesasOcupadas.HoraIngreso_MesasO, db);
                        int i2      = 1;
                        if ((ReservaView.MesasOcupadas.CPersonas_Mesas % 4) == 0)
                        {
                            IdCliente = Cliente.idCliente(ReservaView.Clientes.Correo_Cli, ReservaView.Clientes.Nombres_Cli, ReservaView.Clientes.Apellidos_Cli, ReservaView.Clientes.Telefono_Cli, db);
                            int CRMesas = (ReservaView.MesasOcupadas.CPersonas_Mesas / 4);
                            if (CRMesas > cantida && ReservaView.MesasOcupadas.Fecha_MesasO == DateTime.Now.Date)
                            {
                                ModelState.AddModelError(string.Empty, string.Format("No hay mesas suficiente para hacer su reserva, por favor seleciones una fecha posterior a esta {0} y maximo de {1} persona", ReservaView.MesasOcupadas.Fecha_MesasO.ToString("dd/MM/yyyy"), (CMesas * 4)));
                                ViewBag.Error  = true;
                                ViewBag.CMesas = CantidadMesas.CMesas(db);
                                return(View(ReservaView));
                            }
                            else if (CRMesas > cantida && ReservaView.MesasOcupadas.Fecha_MesasO > DateTime.Now.Date)
                            {
                                ModelState.AddModelError(string.Empty, string.Format("No hay mesas suficiente para hacer su reserva, maximo de {0}", (CMesas * 4)));
                                ViewBag.Error  = true;
                                ViewBag.CMesas = CantidadMesas.CMesas(db);
                                return(View(ReservaView));
                            }
                            for (int i = 1; i <= CMesas; i++)
                            {
                                if (i2 <= CRMesas)
                                {
                                    var Nmesa = ("M " + i);
                                    var mesa  = db.Mesas.Where(m => m.Numero_Mesa == Nmesa).ToList();
                                    foreach (var item in mesa)
                                    {
                                        int valor = MesasOcupada.Lista(item.Cod_Mesa, ReservaView.MesasOcupadas.Fecha_MesasO, db, ReservaView.MesasOcupadas.HoraIngreso_MesasO).Count();
                                        if (valor == 0)
                                        {
                                            //int HoraS = ReservaView.MesasOcupadas.HoraIngreso_MesasO.TimeOfDay.Hours;
                                            //HoraS = HoraS + 2;
                                            var mesasO = new MesasOcupadas
                                            {
                                                Cod_Mesa           = item.Cod_Mesa,
                                                Estado_MesasO      = true,
                                                ConfirmarMesa      = false,
                                                Reservada          = "PaginaWeb",
                                                CPersonas_Mesas    = ReservaView.MesasOcupadas.CPersonas_Mesas,
                                                Fecha_MesasO       = ReservaView.MesasOcupadas.Fecha_MesasO,
                                                HoraIngreso_MesasO = ReservaView.MesasOcupadas.HoraIngreso_MesasO,
                                                HoraSalida_MesasO  = TiempoEspera.Salida(ReservaView.MesasOcupadas.HoraIngreso_MesasO, db)
                                                                     //HoraSalida_MesasO = new DateTime(ReservaView.MesasOcupadas.HoraIngreso_MesasO.Year, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Month, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Day,
                                                                     //                                  HoraS, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Minute, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Second)
                                            };
                                            db.MesasOcupadas.Add(mesasO);
                                            db.SaveChanges();
                                            codMesas = MesasOcupada.Lista(item.Cod_Mesa, ReservaView.MesasOcupadas.Fecha_MesasO, db, ReservaView.MesasOcupadas.HoraIngreso_MesasO).Max(mo => mo.Cod_MesasO);
                                            idMesa   = codMesas + "," + idMesa;
                                            i2++;
                                        }
                                    }
                                }
                                else
                                {
                                    i = CMesas;
                                }
                            }
                        }
                        else
                        {
                            IdCliente = Cliente.idCliente(ReservaView.Clientes.Correo_Cli, ReservaView.Clientes.Nombres_Cli, ReservaView.Clientes.Apellidos_Cli, ReservaView.Clientes.Telefono_Cli, db);
                            int CRMesas = (ReservaView.MesasOcupadas.CPersonas_Mesas / 4) + 1;
                            if (CRMesas >= cantida && ReservaView.MesasOcupadas.Fecha_MesasO == DateTime.Now.Date)
                            {
                                ModelState.AddModelError(string.Empty, string.Format("No hay mesas suficiente para hacer su reserva, por favor seleciones una fecha posterior a esta {0}", ReservaView.MesasOcupadas.Fecha_MesasO.ToString("dd/MM/yyyy")));
                                ViewBag.Error  = true;
                                ViewBag.CMesas = CantidadMesas.CMesas(db);
                                return(View(ReservaView));
                            }
                            else if (CRMesas > cantida && ReservaView.MesasOcupadas.Fecha_MesasO > DateTime.Now.Date)
                            {
                                ModelState.AddModelError(string.Empty, string.Format("No hay mesas suficiente para hacer su reserva, maximo de {0} personas", (CMesas * 4)));
                                ViewBag.Error  = true;
                                ViewBag.CMesas = CantidadMesas.CMesas(db);
                                return(View(ReservaView));
                            }
                            for (int i = 1; i <= CMesas; i++)
                            {
                                if (i2 <= CRMesas)
                                {
                                    var Nmesa = ("M " + i);
                                    var mesa  = db.Mesas.Where(m => m.Numero_Mesa == Nmesa).ToList();
                                    foreach (var item in mesa)
                                    {
                                        int codMesa = item.Cod_Mesa;
                                        int valor   = MesasOcupada.Lista(item.Cod_Mesa, ReservaView.MesasOcupadas.Fecha_MesasO, db, ReservaView.MesasOcupadas.HoraIngreso_MesasO).Count();
                                        if (valor == 0)
                                        {
                                            //int HoraS = ReservaView.MesasOcupadas.HoraIngreso_MesasO.TimeOfDay.Hours;
                                            //HoraS = HoraS + 2;
                                            var mesasO = new MesasOcupadas
                                            {
                                                Cod_Mesa           = item.Cod_Mesa,
                                                Estado_MesasO      = true,
                                                ConfirmarMesa      = false,
                                                Reservada          = "PaginaWeb",
                                                CPersonas_Mesas    = ReservaView.MesasOcupadas.CPersonas_Mesas,
                                                Fecha_MesasO       = ReservaView.MesasOcupadas.Fecha_MesasO,
                                                HoraIngreso_MesasO = ReservaView.MesasOcupadas.HoraIngreso_MesasO,
                                                HoraSalida_MesasO  = TiempoEspera.Salida(ReservaView.MesasOcupadas.HoraIngreso_MesasO, db)
                                                                     //HoraSalida_MesasO = new DateTime(ReservaView.MesasOcupadas.HoraIngreso_MesasO.Year, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Month, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Day,
                                                                     //                                  HoraS, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Minute, ReservaView.MesasOcupadas.HoraIngreso_MesasO.Second)
                                            };
                                            db.MesasOcupadas.Add(mesasO);
                                            db.SaveChanges();
                                            codMesas = MesasOcupada.Lista(item.Cod_Mesa, ReservaView.MesasOcupadas.Fecha_MesasO, db, ReservaView.MesasOcupadas.HoraIngreso_MesasO).Max(mo => mo.Cod_MesasO);
                                            idMesa   = codMesas + "," + idMesa;
                                            i2++;
                                        }
                                    }
                                }
                                else
                                {
                                    i = CMesas;
                                }
                            }
                        }
                        string[] MenuCantidad = new string[db.Menus.Count()];
                        int      IdMesasO     = 0;
                        string   ramdo        = Ramdon.Numero();
                        Reserva.DetalleMenuCliente(IdCliente, "," + idMesa, "PaginaWeb-" + ramdo, db, SeparadorMenu.Menu(MenuCantidad, MenuCantidad), IdMesasO, null);
                        addr = new AddR
                        {
                            add      = RCM,
                            CPersona = ReservaView.MesasOcupadas.CPersonas_Mesas.ToString(),
                            IdC      = IdCliente,
                            IdM      = codMesas,
                            IdMesaO  = codMesas,
                            NCF      = "PaginaWeb-" + ramdo
                        };
                        if (RCM == null)
                        {
                            await SendEmail.ConfirmarReserva(IdCliente, "PaginaWeb-" + ramdo, db);

                            transacion.Commit();
                        }
                        else
                        {
                            transacion.Commit();
                            return(RedirectToAction("MenuVista", "Menus", addr));
                        }
                        return(RedirectToAction("ConReserva", "MesasOcupadas", addr));
                    }
                    catch (Exception ex)
                    {
                        ViewBag.CMesas = CantidadMesas.CMesas(db);
                        transacion.Rollback();
                        ModelState.AddModelError(string.Empty, "Error al Reservar " + ex.Message);
                        ViewBag.Error = true;
                        return(View(ReservaView));
                    }
                }
            }
            ViewBag.CMesas = CantidadMesas.CMesas(db);
            return(View(ReservaView));
        }
Пример #5
0
 private void TiempoEspera_Tick(object sender, EventArgs e)
 {
     TiempoEspera.Stop();
     this.Close();
 }
Пример #6
0
 private void Splash_Load(object sender, EventArgs e)
 {
     TiempoEspera.Start();
 }