/// <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);
                }
            }
        }
Exemple #2
0
        /// <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);
                }
            }
        }
Exemple #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="_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);
                }
            }
        }
Exemple #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="_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);
                }
            }
        }