/// <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="_Nombre">Parametro opcional que se usa cuando se quiere verificar que la categoria no este en uso.</param> /// <param name="_TipoDeFiltro">Especifica la regla de filtrado segun el parametro pasado.</param> /// <param name="_ID_Categoria">Variable que se utiliza para ignorar la misma categoria que se esta editando.</param> public List <CategoriaArticulo> LeerListado(ETipoListado _TipoDeFiltro, ref string _InformacionDelError, string _Nombre = "", int _ID_Categoria = 0) { using (BDRestauranteEntities BBDD = new BDRestauranteEntities()) { try { switch (_TipoDeFiltro) { case ETipoListado.Todo: return(BBDD.CategoriaArticulo.OrderBy(Identificador => Identificador.Nombre).ToList()); case ETipoListado.CategoriasActivas: return(BBDD.CategoriaArticulo.Where(Identificador => Identificador.ID_EstadoCategoriaArticulo == (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.Activo).OrderBy(Identificador => Identificador.Nombre).ToList()); case ETipoListado.CategoriasInactivas: return(BBDD.CategoriaArticulo.Where(Identificador => Identificador.ID_EstadoCategoriaArticulo == (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.inactivo).OrderBy(Identificador => Identificador.Nombre).ToList()); case ETipoListado.CategoriasRepetidas: _Nombre = _Nombre.ToLower(); return(BBDD.CategoriaArticulo.Where(Identificador => Identificador.Nombre.ToLower() == _Nombre && Identificador.ID_CategoriaArticulo != _ID_Categoria).OrderBy(Identificador => Identificador.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. /// </summary> /// <param name="_TipoDeFiltro">Especifica el tipo de listado que se va a realizar.</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="_ID_Cliente">Busca los datos de un cliente en especifico.</param> /// <param name="_ID_Pedido">Busca por el numero de pedido</param> public List <ClienteXPedido> LeerListado(ETipoListado _TipoDeFiltro, ref string _InformacionDelError, int _ID_Cliente = 0, int _ID_Pedido = 0) { using (BDRestauranteEntities BBDD = new BDRestauranteEntities()) { try { switch (_TipoDeFiltro) { case ETipoListado.AsistenciasSuperadas: { return(BBDD.ClienteXPedido.Include("EstadoClienteXPedido").Include("Pedido").Where(Identificador => Identificador.ID_Cliente == _ID_Cliente && Identificador.Pedido.Fecha == DateTime.Today.Date && Identificador.Pedido.ID_EstadoPedido != (int)ClsEstadosPedidos.EEstadosPedidos.Eliminado).ToList()); } case ETipoListado.BuscarParaEliminar: { return(BBDD.ClienteXPedido.Where(Identificador => Identificador.ID_Pedido == _ID_Pedido).ToList()); } case ETipoListado.ClientesPedido: { return(BBDD.ClienteXPedido.Where(Identificador => Identificador.ID_Pedido == _ID_Pedido).ToList()); } case ETipoListado.CantidadAsistencias: { return(BBDD.ClienteXPedido.Include("Pedido").Where(Identificador => Identificador.ID_Cliente == _ID_Cliente && Identificador.ID_EstadoClienteXPedido == (int)ClsEstadosClientesXPedidos.EEstadosClientesXPedidos.Disponible && Identificador.Pedido.ID_EstadoPedido == (int)ClsEstadosPedidos.EEstadosPedidos.Finalizado).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="_TipoDeFiltro">Especifica el tipo de listado que se va a realizar.</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="_EstadoArticuloBuscar">Parametro opcional que se establece si se va a aplicar el filtro sobre los articulos /// activos o inactivos.</param> /// <param name="_TextoFilto">Parametro opcional que se establece para hacer un filtrado por nombre.</param> /// <param name="_CategoriaFiltro">Parametro opcional que se establece para hacer un filtrado por categoria.</param> /// <param name="_Nombre">Parametro opcional que se usa cuando se quiere verificar que el articulo no este en uso.</param> /// <param name="_ID_Articulo">Parametro opcional que se usa para ignorar el articulo que se esta editando cuando se quiere buscar /// repetidos.</param> public List <Articulo> LeerListado(ETipoListado _TipoDeFiltro, ref string _InformacionDelError, ETipoListado _EstadoArticuloBuscar = ETipoListado.ArticulosActivos, string _TextoFilto = "", int _CategoriaFiltro = 0, string _Nombre = "", int _ID_Articulo = 0) { using (BDRestauranteEntities BBDD = new BDRestauranteEntities()) { try { switch (_TipoDeFiltro) { case ETipoListado.ArticulosActivos: return(BBDD.Articulo.Include("CategoriaArticulo").Where(Identificador => Identificador.ID_EstadoArticulo == (int)_EstadoArticuloBuscar && Identificador.CategoriaArticulo.ID_EstadoCategoriaArticulo == (int)_EstadoArticuloBuscar).OrderBy(Identificador => Identificador.CategoriaArticulo.Nombre).ThenBy(Identificador => Identificador.Nombre).ToList()); case ETipoListado.AritulosRepetidos: _Nombre = _Nombre.ToLower(); return(BBDD.Articulo.Include("CategoriaArticulo").Where(Identificador => Identificador.Nombre.ToLower() == _Nombre && Identificador.ID_Articulo != _ID_Articulo).OrderBy(Identificador => Identificador.CategoriaArticulo.Nombre).ThenBy(Identificador => Identificador.Nombre).ToList()); case ETipoListado.Filtro: { List <Func <Articulo, bool> > Predicado = new List <Func <Articulo, bool> >(); List <Articulo> ListaFiltrada = null; // En este caso armo un predicado por defecto (o todos los articulos activos o todos los inactivos) if ((int)_EstadoArticuloBuscar == (int)ETipoListado.ArticulosActivos) { ListaFiltrada = BBDD.Articulo.Include("CategoriaArticulo").Where(Identificador => Identificador.ID_EstadoArticulo == (int)_EstadoArticuloBuscar && Identificador.CategoriaArticulo.ID_EstadoCategoriaArticulo == (int)_EstadoArticuloBuscar).ToList(); } else { ListaFiltrada = BBDD.Articulo.Include("CategoriaArticulo").Where(Identificador => Identificador.ID_EstadoArticulo == (int)_EstadoArticuloBuscar || Identificador.CategoriaArticulo.ID_EstadoCategoriaArticulo == (int)_EstadoArticuloBuscar).ToList(); } // Agregar predicado de filtro por texto si hay if (_TextoFilto != string.Empty) { _TextoFilto = _TextoFilto.ToLower(); // Transformo el texto a filtrar 1 sola vez Predicado.Add(Identificador => Identificador.Nombre.ToLower().Contains(_TextoFilto)); } // Agregar predicado de filtro por categoria si hay if (_CategoriaFiltro > 0) { Predicado.Add(Identificador => Identificador.CategoriaArticulo.ID_CategoriaArticulo == _CategoriaFiltro); } foreach (Func <Articulo, bool> Elemento in Predicado) { ListaFiltrada = ListaFiltrada.Where(Elemento).ToList(); } // Retornar la lista return(ListaFiltrada.OrderBy(Identificador => Identificador.CategoriaArticulo.Nombre).ThenBy(Identificador => Identificador.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. /// </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="_Nombre">Parametro opcional para detrminar si ya hay un nombre en uso al editar o crear un usuario.</param> /// <param name="_Contraseña">Parametro opcional para detrminar si ya hay una contraseña en uso al editar o crear un usuario</param> /// <param name="_ID_UsuarioActual">Parametro opcional que se usa para ignorar el usuario que se esta editando cuando se quiere buscar /// repetidos.</param> public List <Usuario> LeerListado(ETipoListado _TipoDeFiltro, ref string _InformacionDelError, string _Nombre = "", string _Contraseña = "", int _ID_UsuarioActual = 0, string _Apellido = "") { using (BDRestauranteEntities BBDD = new BDRestauranteEntities()) { try { switch (_TipoDeFiltro) { case ETipoListado.UsuariosActivos: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo && Identificador.ID_Perfil != (int)ClsPerfiles.EPerfiles.Administrador).ToList()); case ETipoListado.UsuariosInactivos: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Inactivo && Identificador.ID_Perfil != (int)ClsPerfiles.EPerfiles.Administrador).ToList()); case ETipoListado.UsuariosGerYSubGer: return(BBDD.Usuario.Where(Identificador => Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.SubGerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Administrador && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.UsuariosGerentes: return(BBDD.Usuario.Where(Identificador => Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Administrador && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.UsuariosParaMesas: return(BBDD.Usuario.Where(Identificador => Identificador.ID_Perfil != (int)ClsPerfiles.EPerfiles.Chef && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo && Identificador.ID_Usuario != 1).ToList()); case ETipoListado.UsuariosChef: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Chef && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.ChefGerenteSubgerente: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Chef || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.SubGerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Administrador && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.GerenteSubGerenteMozoDueño: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_Usuario == _ID_UsuarioActual || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Gerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.SubGerente || Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Administrador && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.Desarrollador: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_Perfil == (int)ClsPerfiles.EPerfiles.Administrador && Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo).ToList()); case ETipoListado.DatosRepetidos: _Nombre = _Nombre.ToLower(); _Apellido = _Apellido.ToLower(); _Contraseña = _Contraseña.ToLower(); return(BBDD.Usuario.Include("Perfil").Where(Identificador => ((Identificador.Nombre.ToLower() == _Nombre && Identificador.Apellido.ToLower() == _Apellido) || Identificador.Contraseña.ToLower() == _Contraseña) && Identificador.ID_Usuario != _ID_UsuarioActual).ToList()); case ETipoListado.TodosLosUsuarios: return(BBDD.Usuario.Include("Perfil").Where(Identificador => Identificador.ID_EstadoUsuario == (int)ClsEstadosUsuarios.EEstadosUsuarios.Activo && Identificador.ID_Perfil != (int)ClsPerfiles.EPerfiles.Administrador).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="_TipoDeListado">Indica el tipo de listado que usara</param> /// <param name="_FechaDesde">Fecha de inicio desde que se buscara la coincidencia con el resto de filtros.</param> /// <param name="_FechaHasta">Fecha de fin donde que se buscara la coincidencia con el resto de filtros.</param> /// <param name="_ID_TipoDeMonto">Trae los montos que coincidan con lo pasado por parametro</param> /// <param name="_ID_Usuario">Trae los usuarios que coincidan con lo pasado por parametro</param> public List <Caja> LeerListado(ETipoListado _TipoDeListado, ref string _InformacionDelError, string _FechaDesde = "", string _FechaHasta = "", int _ID_TipoDeMonto = 0, int _ID_Usuario = 0, string _HoraInicio = "", string _HoraFin = "") { using (BDRestauranteEntities BBDD = new BDRestauranteEntities()) { try { switch (_TipoDeListado) { case ETipoListado.Filtrado: { List <Func <Caja, bool> > Predicado = new List <Func <Caja, bool> >(); List <Caja> ListaFiltrada = null; TimeSpan HoraInicio = TimeSpan.Parse(_HoraInicio); TimeSpan HoraFin = TimeSpan.Parse(_HoraFin).Add(new TimeSpan(0, 1, 0)); // agrego 1 minuto porque sino no me toma la fecha hasta por los segundos if (HoraFin >= new TimeSpan(1, 0, 0, 0)) { HoraFin = TimeSpan.Parse(_HoraFin); } if (_FechaDesde != string.Empty && _FechaHasta != string.Empty) { DateTime FechaDesde = Convert.ToDateTime(_FechaDesde).Date; DateTime FechaHasta = Convert.ToDateTime(_FechaHasta).Date; ListaFiltrada = BBDD.Caja.Include("EstadoCaja").Include("TipoDeMonto").Include("Usuario").Where(Identificador => (Identificador.Fecha > FechaDesde || (Identificador.Fecha == FechaDesde && Identificador.Hora >= HoraInicio)) && (Identificador.Fecha < FechaHasta || (Identificador.Fecha == FechaHasta && Identificador.Hora <= HoraFin)) && Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.Activo || Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta).ToList(); } else if (_FechaDesde != string.Empty) { DateTime FechaDesde = Convert.ToDateTime(_FechaDesde).Date; ListaFiltrada = BBDD.Caja.Include("EstadoCaja").Include("TipoDeMonto").Include("Usuario").Where(Identificador => Identificador.Fecha > FechaDesde || (Identificador.Fecha == FechaDesde && Identificador.Hora >= HoraInicio) && Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.Activo || Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta).ToList(); } else if (_FechaHasta != string.Empty) { DateTime FechaHasta = Convert.ToDateTime(_FechaHasta).Date; ListaFiltrada = BBDD.Caja.Include("EstadoCaja").Include("TipoDeMonto").Include("Usuario").Where(Identificador => Identificador.Fecha < FechaHasta || (Identificador.Fecha == FechaHasta && Identificador.Hora <= HoraFin) && Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.Activo || Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta).ToList(); } else { ListaFiltrada = BBDD.Caja.Include("EstadoCaja").Include("TipoDeMonto").Include("Usuario").Where(Identificador => Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.Activo || Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta).ToList(); } if (_ID_TipoDeMonto > 0) { Predicado.Add(Identificador => Identificador.TipoDeMonto.ID_TipoDeMonto == _ID_TipoDeMonto); } if (_ID_Usuario > 0) { Predicado.Add(Identificador => Identificador.Usuario.ID_Usuario == _ID_Usuario); } foreach (Func <Caja, bool> Elemento in Predicado) { ListaFiltrada = ListaFiltrada.Where(Elemento).ToList(); } return(ListaFiltrada.OrderBy(Identificador => Identificador.Fecha).ThenBy(Identificador => Identificador.Hora).ToList()); } case ETipoListado.CajaAbierta: { return(BBDD.Caja.Include("TipoDeMonto").Where(Identificador => Identificador.ID_EstadoCaja == (int)ClsEstadosCajas.EEstadosCajas.CajaAbierta).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); } } }