Exemplo n.º 1
0
        static void FormasDeConstruirEnumeradoresEncadenados( )
        {
            Console.WriteLine("DEMOSTRACIÓN Diferentes maneras de construir un enumerador encadenado\n");

            IEnumerador m1 = new Filtrar(new Pares(new Numeros(10)), i => i < 7);

            Mostrar(m1, "INSTANCIAS ANIDADAS");

            IEnumerador m2 = FiltrarE(ParesE(NumerosE(10)), i => i < 7);

            Mostrar(m2, "FUNCIONES ANIDADAS");

            IEnumerador m3 = new Numeros(10);

            m3 = new Pares(m3);
            m3 = new Filtrar(m3, i => i < 7);
            Mostrar(m3, "SECUENCIAL");


            IEnumerador m4 = NumerosE(10);

            m4 = ParesE(m4);
            m4 = FiltrarE(m4, i => i < 7);
            Mostrar(m4, "SECUENCIALES con FUNCIÓN AUXILIAR");


            IEnumerador m5 = NumerosE(10)             // Tambien se puede escribir como "10.NumerosE()"
                             .ParesE()
                             .FiltrarE(i => i < 7);

            Mostrar(m5, "ENCADENADA con EXTENCIÓN DE MÉTODOS");


            Console.ReadLine();
        }
Exemplo n.º 2
0
        protected override IQueryable <CalleDtm> AplicarFiltros(IQueryable <CalleDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            foreach (ClausulaDeFiltrado filtro in filtros)
            {
                if (filtro.Clausula.Equals(nameof(CalleDto.IdPais), StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = registros.Where(x => x.Municipio.Provincia.Pais.Id == filtro.Valor.Entero());
                }

                if (filtro.Clausula.Equals(ltrCallejero.iso2Pais, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleIso2);
                }

                if (filtro.Clausula.Equals(ltrCallejero.codigoProvincia, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigoProvincia);
                }

                if (filtro.Clausula.Equals(ltrCallejero.codigoMunicipio, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigoMunicipio);
                }

                if (filtro.Clausula.Equals(ltrCallejero.codigoCalle, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleCodigo);
                }


                if (filtro.Clausula.Equals(ltrCallejero.nombreProvincia, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombreProvincia);
                }

                if (filtro.Clausula.Equals(ltrCallejero.nombreMunicipio, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombreMunicipio);
                }

                if (filtro.Clausula.Equals(ltrCallejero.nombreCalle, StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, ltrCallejero.CalleNombre);
                }

                //if (filtro.Clausula.ToLower() == nameof(CpsDeUnCalleDtm.CodigoPostal).ToLower())
                //{
                //    registros = filtro.Valor.Length == 5
                //    ? registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo == filtro.Valor))
                //    : registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo.StartsWith(filtro.Valor)));
                //}
            }

            return(registros);
        }
Exemplo n.º 3
0
        protected override IQueryable <MunicipioDtm> AplicarFiltros(IQueryable <MunicipioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            foreach (ClausulaDeFiltrado filtro in filtros)
            {
                if (filtro.Clausula.Equals(nameof(MunicipioDto.IdProvincia), StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = registros.Where(x => x.Provincia.Id == filtro.Valor.Entero());
                }

                if (filtro.Clausula.ToLower() == nameof(MunicipioDto.IdPais).ToLower())
                {
                    registros = registros.Where(x => x.Provincia.Pais.Id == filtro.Valor.Entero());
                }

                if (filtro.Clausula.ToLower() == "iso2Pais".ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Pais.ISO2");
                }

                if (filtro.Clausula.ToLower() == "codigoProvincia".ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Codigo");
                }

                if (filtro.Clausula.ToLower() == "codigoMunicipio".ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(MunicipioDtm.Codigo));
                }

                if (filtro.Clausula.ToLower() == "nombreProvincia".ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, "Provincia.Nombre");
                }

                if (filtro.Clausula.ToLower() == "nombreMunicipio".ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(MunicipioDtm.Nombre));
                }

                if (filtro.Clausula.ToLower() == nameof(CpsDeUnMunicipioDtm.CodigoPostal).ToLower())
                {
                    registros = filtro.Valor.Length == 5
                    ? registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo == filtro.Valor))
                    : registros.Where(x => x.Cps.Any(y => y.CodigoPostal.Codigo.StartsWith(filtro.Valor)));
                }
            }

            return(registros);
        }
Exemplo n.º 4
0
        protected override IQueryable <TrabajoDeUsuarioDtm> AplicarFiltros(IQueryable <TrabajoDeUsuarioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            foreach (ClausulaDeFiltrado filtro in filtros)
            {
                if (filtro.Clausula.Equals(nameof(ElementoDtm.Nombre), StringComparison.CurrentCultureIgnoreCase))
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, $"{nameof(TrabajoDeUsuarioDtm.Trabajo)}.{nameof(TrabajoDeUsuarioDtm.Trabajo.Nombre)}");
                }
            }

            return(registros);
        }
        protected override IQueryable <CpsDeUnaProvinciaDtm> AplicarFiltros(IQueryable <CpsDeUnaProvinciaDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            if (HayFiltroPorId)
            {
                return(registros);
            }

            foreach (ClausulaDeFiltrado filtro in filtros.Where(filtro => filtro.Clausula.Equals(nameof(CpsDeUnaProvinciaDtm.CodigoPostal), StringComparison.CurrentCultureIgnoreCase)))
            {
                registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, $"{nameof(CpsDeUnaProvinciaDtm.CodigoPostal)}.{nameof(CodigoPostalDtm.Codigo)}");
            }
            return(registros);
        }
Exemplo n.º 6
0
        public void Buscar()
        {
            if (Filtrar == OOB.LibInventario.Visor.Existencia.Enumerados.enumFiltrarPor.SinDefinir)
            {
                return;
            }

            var filtro = new OOB.LibInventario.Visor.Existencia.Filtro();

            filtro.autoDepartamento = Departamento;
            filtro.autoDeposito     = Deposito;
            filtro.filtrarPor       = Filtrar;

            _filtros  = "";
            _filtros += Filtrar.ToString();
            if (Departamento.Trim() != "")
            {
                var ent = lDepart.FirstOrDefault(f => f.auto == Departamento);
                if (ent != null)
                {
                    _filtros += ", Departamento: " + ent.nombre;
                }
            }
            if (Deposito.Trim() != "")
            {
                var ent = lDeposito.FirstOrDefault(f => f.auto == Deposito);
                if (ent != null)
                {
                    _filtros += ", Deposito: " + ent.nombre;
                }
            }

            var r01 = Sistema.MyData.Visor_Existencia(filtro);

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return;
            }

            lista.Clear();
            foreach (var rg in r01.Lista.OrderBy(o => o.nombrePrd).ToList())
            {
                lista.Add(new data(rg, Filtrar));
            }
            bs.CurrencyManager.Refresh();
        }
Exemplo n.º 7
0
        protected override IQueryable <CpsDeUnMunicipioDtm> AplicarFiltros(IQueryable <CpsDeUnMunicipioDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            if (HayFiltroPorId)
            {
                return(registros);
            }

            foreach (ClausulaDeFiltrado filtro in filtros)
            {
                if (filtro.Clausula.ToLower() == nameof(CpsDeUnMunicipioDtm.CodigoPostal).ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(CpsDeUnMunicipioDtm.CodigoPostal));
                }
            }
            return(registros);
        }
        protected override IQueryable <CorreoDtm> AplicarFiltros(IQueryable <CorreoDtm> registros, List <ClausulaDeFiltrado> filtros, ParametrosDeNegocio parametros)
        {
            registros = base.AplicarFiltros(registros, filtros, parametros);

            foreach (ClausulaDeFiltrado filtro in filtros)
            {
                if (filtro.Clausula.ToLower() == nameof(ElementoDtm.Nombre).ToLower())
                {
                    registros = Filtrar.AplicarFiltroDeCadena(registros, filtro, nameof(CorreoDtm.Asunto));
                }

                if (filtro.Clausula.ToLower() == ltrFltCorreosDto.seHaEnviado.ToLower())
                {
                    registros = Filtrar.AplicarFiltroPorFechaNoNula(registros, nameof(CorreoDtm.Enviado));
                }

                if (filtro.Clausula.ToLower() == ltrFltCorreosDto.NoSeHaEnviado.ToLower())
                {
                    registros = Filtrar.AplicarFiltroPorFechaNula(registros, nameof(CorreoDtm.Enviado));
                }
            }

            return(registros);
        }
Exemplo n.º 9
0
        /// <summary>
        /// funcao - carrega os menus 
        /// </summary>
        /// <param name="filtrar"></param>
        /// <param name="pesquisar"></param>
        public static void CarregarMenus(Filtrar filtrar,
                                         Pesquisar pesquisar)
        {
            if (_connection.State != ConnectionState.Closed)
            {
                _connection.Close();
                _connection.Dispose();
            }
            try
            {
                ArrayList.Clear();
                using (_connection = new MySqlConnection(MainWindow.Interface.ConnectionString))
                {

                    _connection.Open();
                    var comandosql = @"SELECT `MOD.TIPO`," +
                                     "`MOD.NOME`," +
                                     "`MOD.DESCRICAO`," +
                                     "`MOD.PRIVILEGIO`" +
                                     "FROM   `v101_tab_modulo`";
                    switch (filtrar)
                    {

                        case Filtrar.Todos:
                            if (LikeByText != string.Empty)
                            {
                                switch (pesquisar)
                                {
                                    case Pesquisar.Modulo:
                                        comandosql = string.Concat(comandosql,
                                        " WHERE `MOD.NOME` LIKE '%" + LikeByText + "%'");
                                        break;
                                    case Pesquisar.Descricao:
                                        comandosql = string.Concat(comandosql,
                                        " WHERE `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'");
                                        break;
                                    case Pesquisar.Privilegio:
                                        comandosql = string.Concat(comandosql,
                                        " WHERE `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'");
                                        break;
                                }
                            }
                            break;
                        case Filtrar.Aplicacao:
                            comandosql = string.Concat(comandosql,
                            " WHERE `MOD.TIPO` = 'APLICACAO'");
                            break;
                        case Filtrar.Modulo:
                            comandosql = string.Concat(comandosql,
                            " WHERE `MOD.TIPO` = 'MENU'");
                            break;
                    }
                    switch (pesquisar)
                    {
                       case Pesquisar.Modulo:
                            if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                            {
                                comandosql = string.Concat(comandosql,
                                " AND `MOD.NOME` LIKE '%" + LikeByText + "%'");
                            }
                            break;
                       case Pesquisar.Descricao:
                            if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                            {
                                comandosql = string.Concat(comandosql,
                                " AND `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'");
                            }
                            break;
                       case Pesquisar.Privilegio:
                            if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                            {
                                comandosql = string.Concat(comandosql,
                                " AND `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'");
                            }
                            break;
                    }
                    using (MySqlCommand command = new MySqlCommand(comandosql,_connection))
                    {
                        MySqlDataReader sqlDataReader = command.ExecuteReader();
                        while (sqlDataReader.Read())
                        {
                            if (sqlDataReader.GetString(1) != @"MNU000")
                            {
                                var t = new UiMenu()
                                {
                                    Tipo = sqlDataReader.GetString(0),
                                    Modulo = sqlDataReader.GetString(1),
                                    Descricao = sqlDataReader.GetString(2),
                                    Privilegio = sqlDataReader.GetString(3)
                                };
                                ArrayList.Add(t);
                            }
                        }
                    }
                }
            }
            catch (MySqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                if (_connection.State != ConnectionState.Closed)
                {
                    _connection.Close();
                    _connection.Dispose();
                }
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// funcao - carrega os menus
        /// </summary>
        /// <param name="filtrar"></param>
        /// <param name="pesquisar"></param>
        public static void CarregarMenus(Filtrar filtrar,
                                         Pesquisar pesquisar)
        {
            if (_connection.State != ConnectionState.Closed)
            {
                _connection.Close();
                _connection.Dispose();
            }
            try
            {
                ArrayList.Clear();
                using (_connection = new MySqlConnection(MainWindow.Interface.ConnectionString))
                {
                    _connection.Open();
                    var comandosql = @"SELECT `MOD.TIPO`," +
                                     "`MOD.NOME`," +
                                     "`MOD.DESCRICAO`," +
                                     "`MOD.PRIVILEGIO`" +
                                     "FROM   `v101_tab_modulo`";
                    switch (filtrar)
                    {
                    case Filtrar.Todos:
                        if (LikeByText != string.Empty)
                        {
                            switch (pesquisar)
                            {
                            case Pesquisar.Modulo:
                                comandosql = string.Concat(comandosql,
                                                           " WHERE `MOD.NOME` LIKE '%" + LikeByText + "%'");
                                break;

                            case Pesquisar.Descricao:
                                comandosql = string.Concat(comandosql,
                                                           " WHERE `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'");
                                break;

                            case Pesquisar.Privilegio:
                                comandosql = string.Concat(comandosql,
                                                           " WHERE `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'");
                                break;
                            }
                        }
                        break;

                    case Filtrar.Aplicacao:
                        comandosql = string.Concat(comandosql,
                                                   " WHERE `MOD.TIPO` = 'APLICACAO'");
                        break;

                    case Filtrar.Modulo:
                        comandosql = string.Concat(comandosql,
                                                   " WHERE `MOD.TIPO` = 'MENU'");
                        break;
                    }
                    switch (pesquisar)
                    {
                    case Pesquisar.Modulo:
                        if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                        {
                            comandosql = string.Concat(comandosql,
                                                       " AND `MOD.NOME` LIKE '%" + LikeByText + "%'");
                        }
                        break;

                    case Pesquisar.Descricao:
                        if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                        {
                            comandosql = string.Concat(comandosql,
                                                       " AND `MOD.DESCRICAO` LIKE '%" + LikeByText + "%'");
                        }
                        break;

                    case Pesquisar.Privilegio:
                        if (LikeByText != string.Empty && filtrar != Filtrar.Todos)
                        {
                            comandosql = string.Concat(comandosql,
                                                       " AND `MOD.PRIVILEGIO` LIKE '%" + LikeByText + "%'");
                        }
                        break;
                    }
                    using (MySqlCommand command = new MySqlCommand(comandosql, _connection))
                    {
                        MySqlDataReader sqlDataReader = command.ExecuteReader();
                        while (sqlDataReader.Read())
                        {
                            if (sqlDataReader.GetString(1) != @"MNU000")
                            {
                                var t = new UiMenu()
                                {
                                    Tipo       = sqlDataReader.GetString(0),
                                    Modulo     = sqlDataReader.GetString(1),
                                    Descricao  = sqlDataReader.GetString(2),
                                    Privilegio = sqlDataReader.GetString(3)
                                };
                                ArrayList.Add(t);
                            }
                        }
                    }
                }
            }
            catch (MySqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                if (_connection.State != ConnectionState.Closed)
                {
                    _connection.Close();
                    _connection.Dispose();
                }
            }
        }