private bool BuscarUsuariosAtendiendoMesa(int _Indice)
        {
            string InformacionDelError = string.Empty;

            ClsMesas    Mesas = new ClsMesas();
            List <Mesa> BuscarUsuariosConMesaAsignada = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasOcupadas, ref InformacionDelError);;

            if (BuscarUsuariosConMesaAsignada != null)
            {
                foreach (Mesa Elemento in BuscarUsuariosConMesaAsignada)
                {
                    if (Elemento.ID_Usuario == (int)dgvDatosUsuarios.Rows[_Indice].Cells[(int)ENumColDGVUsuarios.ID_Usuario].Value)
                    {
                        return(true);
                    }
                }
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al buscar si usuarios que esten atendiendo mesas", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(true);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Busca las mesas pertenecientes a la planta alta, que estan en estado activo.
        /// </summary>
        /// <returns>Cantidad de mesas que esten activas.</returns>
        private int ListarMesasActivasPA()
        {
            string InformacionDelError = string.Empty;

            ClsMesas Mesas = new ClsMesas();

            List <Mesa> ListarMesasPA = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPA, ref InformacionDelError);

            if (ListarMesasPA != null)
            {
                return(ListarMesasPA.Count);
            }
            else if (InformacionDelError != string.Empty)
            {
                FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar calcular las mesas de la PA");
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            return(-1);
        }
Ejemplo n.º 3
0
        /// <summary>Carga el DGV.</summary>
        private void CargarDGVListarMesas(ClsMesas.ETipoDeListado _TipoDeListado)
        {
            dgvListarMesas.Rows.Clear();

            string InformacionDelError = string.Empty;

            ClsMesas Mesas = new ClsMesas();

            List <Mesa> ListarMesas = Mesas.LeerListado(_TipoDeListado, ref InformacionDelError);

            if (ListarMesas != null)
            {
                int CapacidadTotal = 0;

                foreach (Mesa Elemento in ListarMesas)
                {
                    int NumeroDeFila = dgvListarMesas.Rows.Add();

                    dgvListarMesas.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.ID_Mesa].Value   = Elemento.ID_Mesa;
                    dgvListarMesas.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Numero].Value    = Elemento.Numero;
                    dgvListarMesas.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Capacidad].Value = Elemento.Capacidad;

                    CapacidadTotal += Elemento.Capacidad;
                }
                dgvListarMesas.Sort(dgvListarMesas.Columns[(int)ENumColDGVMesa.Numero], ListSortDirection.Ascending);

                lblResultadoCapacidadTotal.Text = Convert.ToString(CapacidadTotal);
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al comprobar si trabaja con planta alta", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        private void CargarDGVMesasDisponibles(ClsMesasXReservas.EMesasDisponibles _TipoDeFiltro)
        {
            dgvSeleccionarMesaReserva.Rows.Clear();

            lblResultadoCapacidadTotal.Text = "0";

            string InformacionDelError = string.Empty;

            ClsMesasXReservas   MesasXReservas       = new ClsMesasXReservas();
            List <MesaXReserva> ListaMesasReservadas = MesasXReservas.LeerListado(_TipoDeFiltro, ref InformacionDelError, FechaParaReservar.Date);

            ClsMesas    Mesas            = new ClsMesas();
            List <Mesa> MesasDisponibles = null;

            // Trae la lista por planta
            if (_TipoDeFiltro == ClsMesasXReservas.EMesasDisponibles.MesasDisponiblesPB)
            {
                MesasDisponibles = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPB, ref InformacionDelError);
            }
            else
            {
                MesasDisponibles = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPA, ref InformacionDelError);
            }

            if (MesasDisponibles != null && ListaMesasReservadas != null)
            {
                // Recorro todas las mesas activas
                foreach (Mesa Elemento in MesasDisponibles)
                {
                    bool MesaNoReservada = true;

                    // Elimino de la lista las mesas que encuentre en la lista de las reservadas
                    foreach (MesaXReserva ElementoSecundario in ListaMesasReservadas)
                    {
                        if (Elemento.ID_Mesa == ElementoSecundario.ID_Mesa && ElementoSecundario.ID_Reserva != ID_Reserva)
                        {
                            MesaNoReservada = false;
                        }
                    }

                    if (MesaNoReservada)
                    {
                        bool MarcarMesaReservada = false;
                        int  NumeroDeFila        = dgvSeleccionarMesaReserva.Rows.Add();

                        dgvSeleccionarMesaReserva.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.ID_Mesa].Value   = Elemento.ID_Mesa;
                        dgvSeleccionarMesaReserva.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Numero].Value    = Elemento.Numero;
                        dgvSeleccionarMesaReserva.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Capacidad].Value = Elemento.Capacidad;

                        // Marca las mesas ya reservadas al editar una reserva
                        foreach (MesaXReserva ElementoSecundario in ListaMesasReservadas)
                        {
                            if (Elemento.ID_Mesa == ElementoSecundario.ID_Mesa)
                            {
                                MarcarMesaReservada             = true;
                                lblResultadoCapacidadTotal.Text = Convert.ToString(Convert.ToInt32(lblResultadoCapacidadTotal.Text) + Elemento.Capacidad);
                            }
                        }

                        dgvSeleccionarMesaReserva.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Seleccionar].Value = MarcarMesaReservada;

                        if (MarcarMesaReservada)
                        {
                            ClsColores.MarcarFilaDGV(dgvSeleccionarMesaReserva, NumeroDeFila, true);
                        }
                        else
                        {
                            ClsColores.MarcarFilaDGV(dgvSeleccionarMesaReserva, NumeroDeFila, false);
                        }
                    }
                }

                UltimaFilaSeleccionada = -1;

                dgvSeleccionarMesaReserva.Sort(dgvSeleccionarMesaReserva.Columns[(int)ENumColDGVMesa.Numero], ListSortDirection.Ascending);
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show($"Ocurrio un fallo al cargar las mesas reservadas", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        private void BtnEliminar_Click(object sender, EventArgs e)
        {
            if (nudCantidadMesasAEliminar.Value > 0)
            {
                string InformacionDelError = string.Empty;

                ClsMesas Mesas = new ClsMesas();

                List <Mesa> MesasActivas;

                MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasOcupadas, ref InformacionDelError);

                if (MesasActivas != null)
                {
                    if (MesasActivas.Count == 0)
                    {
                        MesasActivas = null;

                        if (rbnPlantaBaja.Checked)
                        {
                            MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPB, ref InformacionDelError);
                        }
                        else
                        {
                            MesasActivas = Mesas.LeerListado(ClsMesas.ETipoDeListado.MesasActivasPA, ref InformacionDelError);
                        }

                        if (MesasActivas != null)
                        {
                            MesasActivas.Reverse();

                            int Contador = 0;

                            foreach (Mesa Elemento in MesasActivas)
                            {
                                Elemento.ID_EstadoMesa = (int)ClsEstadosMesas.EEstadosMesas.Inactivo;

                                if (Mesas.Actualizar(Elemento, ref InformacionDelError) != 0)
                                {
                                    FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Mesa/s eliminada/s";
                                }
                                else if (InformacionDelError == string.Empty)
                                {
                                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa");
                                    MessageBox.Show("Error al intentar eliminar la mesa", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                                else
                                {
                                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa");
                                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }

                                Contador++;

                                if (Contador == nudCantidadMesasAEliminar.Value)
                                {
                                    break;
                                }
                            }

                            // Actualizo los NUD con los nuevos valores
                            ActualizarControles();

                            FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Mesa/s eliminada/s";
                        }
                        else if (InformacionDelError == string.Empty)
                        {
                            FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa");
                        }
                        else
                        {
                            FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa");
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    else
                    {
                        using (FrmInformacion FormInformacion = new FrmInformacion($"No puede eliminar mesas, el sistema se detectó que hay en uso actualmente para pedidos. Finalize " +
                                                                                   $"los mismo e intente nuevamente.", ClsColores.Blanco, 250, 300))
                        {
                            FormInformacion.ShowDialog();
                        }
                    }
                }
                else if (InformacionDelError != string.Empty)
                {
                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar eliminar la mesa");
                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
Ejemplo n.º 6
0
        private void CargarDGVCrearMesas(ClsMesas.ETipoDeListado _TipoDeListado)
        {
            dgvCrearMesa.Rows.Clear();
            lblResultadoCapacidadTotal.Text = "0";

            string InformacionDelError = string.Empty;

            ClsMesas    Mesas = new ClsMesas();
            List <Mesa> CargarMesasDisponibles = Mesas.LeerListado(_TipoDeListado, ref InformacionDelError);

            if (CargarMesasDisponibles != null)
            {
                bool MesasOcupadasCargadas = false;

                foreach (Mesa Elemento in CargarMesasDisponibles)
                {
                    int NumeroDeFila = dgvCrearMesa.Rows.Add();

                    dgvCrearMesa.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.ID_Mesa].Value     = Elemento.ID_Mesa;
                    dgvCrearMesa.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Numero].Value      = Elemento.Numero;
                    dgvCrearMesa.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Capacidad].Value   = Elemento.Capacidad;
                    dgvCrearMesa.Rows[NumeroDeFila].Cells[(int)ENumColDGVMesa.Seleccionar].Value = false;

                    if (MesasEditar.Count > 0 && !MesasOcupadasCargadas)
                    {
                        if (ClsMesas.ETipoDeListado.MesasDisponiblesPB == _TipoDeListado && PlantaBaja)
                        {
                            CargarMesasViejas();
                        }
                        else if (ClsMesas.ETipoDeListado.MesasDisponiblesPA == _TipoDeListado && !PlantaBaja)
                        {
                            CargarMesasViejas();
                        }
                        MesasOcupadasCargadas = true;
                    }
                }

                if (CargarMesasDisponibles.Count == 0)
                {
                    if (MesasEditar.Count > 0 && !MesasOcupadasCargadas)
                    {
                        if (ClsMesas.ETipoDeListado.MesasDisponiblesPB == _TipoDeListado && PlantaBaja)
                        {
                            CargarMesasViejas();
                        }
                        else if (ClsMesas.ETipoDeListado.MesasDisponiblesPA == _TipoDeListado && !PlantaBaja)
                        {
                            CargarMesasViejas();
                        }
                    }
                }
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Ocurrio un fallo al cargar el filtro de estados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            dgvCrearMesa.Sort(dgvCrearMesa.Columns[(int)ENumColDGVMesa.Numero], ListSortDirection.Ascending);
        }