/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }