示例#1
0
        /// <summary>
        /// Busca todos los datos del registro en cuestion para ser mostrados.
        /// </summary>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        public List <TipoDeMonto> LeerListado(ETipoDeListado _TipoDeListado, ref string _InformacionDelError)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeListado)
                    {
                    case ETipoDeListado.Todo:
                    {
                        return(BBDD.TipoDeMonto.Include("TipoDeMovimiento").ToList());
                    }

                    case ETipoDeListado.CrearRegistro:
                    {
                        return(BBDD.TipoDeMonto.Include("TipoDeMovimiento").Where(Identificador => Identificador.ID_TipoDeMonto > 9 ||
                                                                                  Identificador.ID_TipoDeMonto == (int)ETiposDeMontos.AperturaCaja || Identificador.ID_TipoDeMonto == (int)ETiposDeMontos.CierreCaja).ToList());
                    }

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }
        /// <summary>
        /// Busca todos los datos del registro en cuestion para ser mostrados.
        /// </summary>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        public List <PedidoXMesa> LeerListado(ETipoDeListado _TipoDeListado, ref string _InformacionDelError, int _PedidoBuscar = 0)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeListado)
                    {
                    case ETipoDeListado.EliminarPorID: return(BBDD.PedidoXMesa.Where(Identificador => Identificador.ID_Pedido == _PedidoBuscar).ToList());

                    case ETipoDeListado.CargarPorID:
                        return(BBDD.PedidoXMesa.Include("Mesa.Usuario").Include("Pedido").Where(Identificador => Identificador.Pedido.ID_EstadoPedido != (int)ClsEstadosPedidos.EEstadosPedidos.Eliminado &&
                                                                                                Identificador.Pedido.ID_EstadoPedido != (int)ClsEstadosPedidos.EEstadosPedidos.Finalizado).ToList());

                    case ETipoDeListado.BuscarMesasYMozo:
                        return(BBDD.PedidoXMesa.Include("Mesa.Usuario").Include("Pedido").Where(Identificador => Identificador.ID_Pedido == _PedidoBuscar).ToList());

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }
示例#3
0
        /// <summary>
        /// Busca y devuelve los datos del registro especificado mediente el ID proporcionado.
        /// </summary>
        /// <param name="_MesaBuscar">ID del registro que se desea traer su informacion (pasar como parametro -1
        /// si no se va a buscar por numero de mesa o ID.</param>
        /// <param name="_TipoDeFiltro">Busca una mesa en particular (La primer mesa inactiva de cada planta es para determinar
        ///  si se tiene que crear una mesa o cambiar el estado).</param>
        ///<param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        public Mesa LeerPorNumero(int _MesaBuscar, ETipoDeListado _TipoDeFiltro, ref string _InformacionDelError)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeFiltro)
                    {
                    case ETipoDeListado.PorID: return(BBDD.Mesa.SingleOrDefault(Identificador => Identificador.ID_Mesa == _MesaBuscar));

                    case ETipoDeListado.PorNumeroDeMesa: return(BBDD.Mesa.SingleOrDefault(Identificador => Identificador.Numero == _MesaBuscar));

                    case ETipoDeListado.PrimerMesaInactivaPB:
                        return(BBDD.Mesa.FirstOrDefault(Identificador => Identificador.ID_EstadoMesa == (int)ClsEstadosMesas.EEstadosMesas.Inactivo &&
                                                        Identificador.Numero <= 99));

                    case ETipoDeListado.PrimerMesaInactivaPA:
                        return(BBDD.Mesa.FirstOrDefault(Identificador => Identificador.ID_EstadoMesa == (int)ClsEstadosMesas.EEstadosMesas.Inactivo &&
                                                        Identificador.Numero >= 100));

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Busca todos los datos del registro en cuestion para ser mostrados.
        /// </summary>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        /// <param name="_TipoDeFiltro">Filtra la lista segun la enumeracion proporcionada.</param>
        ///         /// <param name="ID_Mesas">ID de mesas.</param>
        public List <Mesa> LeerListado(ETipoDeListado _TipoDeFiltro, ref string _InformacionDelError, List <int> _ID_Mesas = null)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeFiltro)
                    {
                    case ETipoDeListado.Todo: return(BBDD.Mesa.ToList());

                    case ETipoDeListado.MesasActivasPB:
                        return(BBDD.Mesa.Where(Identificador => Identificador.ID_EstadoMesa != (int)ClsEstadosMesas.EEstadosMesas.Inactivo &&
                                               Identificador.Numero <= 99).ToList());

                    case ETipoDeListado.MesasActivasPA:
                        return(BBDD.Mesa.Where(Identificador => Identificador.ID_EstadoMesa != (int)ClsEstadosMesas.EEstadosMesas.Inactivo &&
                                               Identificador.Numero >= 100).ToList());

                    case ETipoDeListado.MesasDisponiblesPB:
                        return(BBDD.Mesa.Where(Identificador => Identificador.ID_EstadoMesa == (int)ClsEstadosMesas.EEstadosMesas.Activo_Disponible &&
                                               Identificador.Numero <= 99).ToList());

                    case ETipoDeListado.MesasDisponiblesPA:
                        return(BBDD.Mesa.Where(Identificador => Identificador.ID_EstadoMesa == (int)ClsEstadosMesas.EEstadosMesas.Activo_Disponible &&
                                               Identificador.Numero >= 100).ToList());

                    case ETipoDeListado.MesasOcupadas: return(BBDD.Mesa.Include("Usuario").Where(Identificador => Identificador.ID_EstadoMesa == (int)ClsEstadosMesas.EEstadosMesas.Ocupada).ToList());

                    case ETipoDeListado.MesasAOcuparLiberar: return(BBDD.Mesa.Where(Identificador => _ID_Mesas.Contains(Identificador.ID_Mesa)).ToList());

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }
示例#5
0
        /// <summary>
        /// Busca todos los datos del registro en cuestion para ser mostrados.
        /// </summary>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        /// <param name="_ID_CategoriaQueSeEditara">Busca si se esta usando la categoria que se editara.</param>
        public List <Detalle> LeerListado(int _ID_Pedido, ETipoDeListado _TipoDeFiltro, ref string _InformacionDelError, int _ID_CategoriaQueSeEditara = 0)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeFiltro)
                    {
                    case ETipoDeListado.PorIDPedido:
                        return(BBDD.Detalle.Include("Articulo.CategoriaArticulo").Include("Pedido").Where(Identificador => Identificador.ID_Pedido == _ID_Pedido)
                               .OrderBy(Identificador => Identificador.Articulo.CategoriaArticulo.Nombre)
                               .ThenBy(Identificador => Identificador.Articulo.Nombre).ToList());

                    case ETipoDeListado.ParaCocina:
                        return(BBDD.Detalle.Include("Articulo.CategoriaArticulo").Include("Pedido").Where(Identificador => Identificador.ID_Pedido == _ID_Pedido &&
                                                                                                          (Identificador.ID_EstadoDetalle == (int)ClsEstadoDetalle.EEstadoDetalle.NoCocinado || Identificador.ID_EstadoDetalle == (int)ClsEstadoDetalle.EEstadoDetalle.CantidadAumentada)).ToList());

                    case ETipoDeListado.CategoriaEnUso:
                        return(BBDD.Detalle.Include("Articulo.CategoriaArticulo").Include("Pedido").Where(Identificador => Identificador.Articulo.ID_CategoriaArticulo == _ID_CategoriaQueSeEditara &&
                                                                                                          Identificador.Pedido.ID_EstadoPedido != (int)ClsEstadosPedidos.EEstadosPedidos.Eliminado &&
                                                                                                          Identificador.Pedido.ID_EstadoPedido != (int)ClsEstadosPedidos.EEstadosPedidos.Finalizado).ToList());

                    case ETipoDeListado.NoEntregados:
                        return(BBDD.Detalle.Include("Articulo.CategoriaArticulo").Include("Pedido").Where(Identificador => Identificador.ID_Pedido == _ID_Pedido &&
                                                                                                          Identificador.ID_ArticuloEntregado == (int)ClsArticulosEntregados.EArticuloEntregado.NoEntregado &&
                                                                                                          Identificador.Articulo.CategoriaArticulo.ParaCocina == (int)ClsCategoriasArticulos.EParaCocina.Si)
                               .OrderBy(Identificador => Identificador.Articulo.CategoriaArticulo.Nombre)
                               .ThenBy(Identificador => Identificador.Articulo.Nombre).ToList());

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }
示例#6
0
        /// <summary>
        /// Busca todos los datos del registro en cuestion para ser mostrados. Pasar los parametros opcionales
        /// que se requieran, los qeu no, pasar el valor por defecto.
        /// </summary>
        /// <param name="_TipoDeListado"></param>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        /// <param name="_FechaDesde">Desde la fecha en que se buscara.</param>
        /// <param name="_FechaHasta">Hasta la fecha en que se buscara.</param>
        /// <param name="_NombreCliente">Nombre del cliente que se quiere buscar.</param>
        /// <param name="_EstadoDelivery">El estado del delivery que se necesite buscar.</param>
        /// <param name="_DeliveryEnCocinaNoEntregado">Pasar true si se quieren los deliveries entregados como los que no (no
        /// necesita que se pase un "_EstadoDelivery" como parametro opcional).</param>
        public List <Pedido> LeerListado(ETipoDeListado _TipoDeListado, ref string _InformacionDelError, string _FechaDesde = "", string _FechaHasta = "", string _NombreCliente = "", int _EstadoDelivery = 0, bool _DeliveryEnCocinaNoEntregado = false)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    switch (_TipoDeListado)
                    {
                    case ETipoDeListado.todos:
                        return(BBDD.Pedido.ToList());

                    case ETipoDeListado.PedidosEnProceso:
                    {
                        return(BBDD.Pedido.Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.ID_EstadoPedido == (int)ClsEstadosPedidos.EEstadosPedidos.EnProceso)
                               .OrderBy(Identificador => Identificador.TiempoEspera).ToList());
                    }

                    case ETipoDeListado.DeliveryNoEntregado:
                    {
                        return(BBDD.Pedido.Include("Cliente").Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.ID_Delivery != null &&
                                                                                                       Identificador.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.ParaEntrega)
                               .OrderBy(Identificador => Identificador.Fecha)
                               .ThenBy(Identificador => Identificador.Hora).ToList());
                    }

                    case ETipoDeListado.FiltroDelivery:
                    {
                        List <Func <Pedido, bool> > Predicado = new List <Func <Pedido, bool> >();
                        List <Pedido> ListaFiltrada           = null;

                        // Como pre filtro uso la fecha desde que generalmente esta disponible siempre, si no lo esta, realiza el filtrado sobre
                        // todos los registros (Siempre ignorando las reservas eliminadas)

                        if (_FechaDesde != string.Empty && _FechaHasta != string.Empty)
                        {
                            DateTime FechaDesde = Convert.ToDateTime(_FechaDesde).Date;
                            DateTime FechaHasta = Convert.ToDateTime(_FechaHasta).Date;

                            ListaFiltrada = BBDD.Pedido.Include("Cliente").Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.Fecha >= FechaDesde &&
                                                                                                                    Identificador.Fecha <= FechaHasta &&
                                                                                                                    Identificador.ID_Delivery != null).ToList();
                        }
                        else if (_FechaDesde != string.Empty)
                        {
                            DateTime FechaDesde = Convert.ToDateTime(_FechaDesde).Date;

                            ListaFiltrada = BBDD.Pedido.Include("Cliente").Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.Fecha >= FechaDesde &&
                                                                                                                    Identificador.ID_Delivery != null).ToList();
                        }
                        else if (_FechaHasta != string.Empty)
                        {
                            DateTime FechaHasta = Convert.ToDateTime(_FechaHasta).Date;

                            ListaFiltrada = BBDD.Pedido.Include("Cliente").Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.Fecha <= FechaHasta &&
                                                                                                                    Identificador.ID_Delivery != null).ToList();
                        }
                        else
                        {
                            ListaFiltrada = BBDD.Pedido.Include("Cliente").Include("Delivery.EstadoDelivery").Where(Identificador => Identificador.ID_Delivery != null).ToList();
                        }

                        if (_NombreCliente != string.Empty)
                        {
                            _NombreCliente = _NombreCliente.ToLower();         // Transformo el texto a filtrar 1 sola vez
                            Predicado.Add(Identificador => Identificador.Cliente.Nombre.ToLower().StartsWith(_NombreCliente));
                        }

                        if (!_DeliveryEnCocinaNoEntregado)
                        {
                            if (_EstadoDelivery > 0)
                            {
                                Predicado.Add(Identificador => Identificador.Delivery.ID_EstadoDelivery == _EstadoDelivery);
                            }
                        }
                        else
                        {
                            Predicado.Add(Identificador => Identificador.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.EnCocina ||
                                          Identificador.Delivery.ID_EstadoDelivery == (int)ClsEstadosDeliveries.EEstadosDeliveries.ParaEntrega);
                        }

                        foreach (Func <Pedido, bool> Elemento in Predicado)
                        {
                            ListaFiltrada = ListaFiltrada.Where(Elemento).ToList();
                        }

                        // Retornar la lista filtrada y ordenada
                        return(ListaFiltrada.OrderBy(Identificador => Identificador.Fecha).ThenBy(Identificador => Identificador.Hora).ToList());
                    }

                    default: return(null);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(null);
                }
            }
        }