コード例 #1
0
        /// <summary>
        /// Lista los Beneficios por criterio
        /// </summary>
        /// <param name="parametro">Parámetro con el que se compara para listar</param>
        /// <param name="criterio">Criterio de búsqueda</param>
        /// <returns>Lista de Beneficios</returns>
        public static List <BeneficioClass> ListarBeneficioPorCriterio(string parametro, CriterioBusqueda criterio)
        {
            List <BeneficioClass> r    = new List <BeneficioClass>();
            saluddbEntities       mctx = new saluddbEntities();
            BeneficioClass        x;



            var cur = from b in mctx.beneficios
                      select b;

            foreach (var f in cur)
            {
                bool agregar = false;
                switch (criterio)
                {
                case CriterioBusqueda.Busqueda_ID:
                    int id = 0;
                    Int32.TryParse(parametro, out id);
                    if (f.id_beneficio == id)
                    {
                        agregar = true;
                    }
                    else
                    {
                        agregar = false;
                    }

                    break;

                case CriterioBusqueda.Busqueda_Nombre_Beneficio:
                    agregar = f.nombre.Contains(parametro);
                    break;

                case CriterioBusqueda.Busqueda_Dni:
                    List <BeneficiarioClass> listaBenef     = BeneficiarioClass.ListarBeneficiarioPorCriterio(parametro, CriterioBusqueda.Busqueda_Dni);
                    List <BeneficioClass>    listaBeneficio = new List <BeneficioClass>();
                    foreach (BeneficiarioClass b in listaBenef)
                    {
                        List <BeneficioClass> listaGrupoBenf = BeneficioClass.ListarBeneficiosPorBeneficiario(b.Id_beneficiario);

                        foreach (BeneficioClass g in listaGrupoBenf)
                        {
                            if (listaBeneficio.Contains(g))
                            {
                            }
                            else
                            {
                                listaBeneficio.Add(g);
                            }
                        }
                    }


                    BeneficioClass benef = listaBeneficio.Find(b => b.Id_beneficio == f.id_beneficio);

                    if (benef != null)
                    {
                        agregar = true;
                    }

                    break;

                case CriterioBusqueda.Busqueda_Nombre:
                    List <BeneficiarioClass> listaBen = BeneficiarioClass.ListarBeneficiarioPorCriterio(parametro, CriterioBusqueda.Busqueda_Nombre);
                    List <BeneficioClass>    listaB   = new List <BeneficioClass>();
                    foreach (BeneficiarioClass b in listaBen)
                    {
                        List <BeneficioClass> listaBeneficiario = BeneficioClass.ListarBeneficiosPorBeneficiario(b.Id_beneficiario);

                        foreach (BeneficioClass g in listaBeneficiario)
                        {
                            if (listaB.Contains(g))
                            {
                            }
                            else
                            {
                                listaB.Add(g);
                            }
                        }
                    }


                    BeneficioClass ben = listaB.Find(b => b.Id_beneficio == f.id_beneficio);

                    if (ben != null)
                    {
                        agregar = true;
                    }

                    break;
                }

                if (agregar)
                {
                    x = new BeneficioClass();

                    x._id_beneficio          = f.id_beneficio;
                    x._descripcion_beneficio = f.descripcion;
                    x._nombre_beneficio      = f.nombre;

                    r.Add(x);
                }
            }

            return(r);
        }
コード例 #2
0
        /// <summary>
        /// Lista los grupos por criterio
        /// </summary>
        /// <param name="parametro">Parámetro con el que se compara para listar</param>
        /// <param name="criterio">Criterio de búsqueda</param>
        /// <returns>Lista de grupos</returns>
        public static List <GrupoBeneficiarioClass> ListarGruposPorCriterio(string parametro, CriterioBusqueda criterio)
        {
            List <GrupoBeneficiarioClass> r = new List <GrupoBeneficiarioClass>();
            saluddbEntities        mctx     = new saluddbEntities();
            GrupoBeneficiarioClass x;


            var cur = from g in mctx.grupoes
                      select g;

            foreach (var f in cur)
            {
                bool agregar = false;
                switch (criterio)
                {
                case CriterioBusqueda.Busqueda_ID:
                    int id = 0;
                    Int32.TryParse(parametro, out id);
                    if (f.id_grupo == id)
                    {
                        agregar = true;
                    }
                    else
                    {
                        agregar = false;
                    }

                    break;

                case CriterioBusqueda.Busqueda_Nombre_Grupo:
                    agregar = f.nombre.Contains(parametro);
                    break;

                case CriterioBusqueda.Busqueda_Dni:
                    List <BeneficiarioClass>      listaBenef = BeneficiarioClass.ListarBeneficiarioPorCriterio(parametro, CriterioBusqueda.Busqueda_Dni);
                    List <GrupoBeneficiarioClass> listaGrup  = new List <GrupoBeneficiarioClass>();
                    foreach (BeneficiarioClass b in listaBenef)
                    {
                        List <GrupoBeneficiarioClass> listaGrupoBenf = GrupoBeneficiarioClass.ListarGruposPorBeneficiario(b.Id_beneficiario);

                        foreach (GrupoBeneficiarioClass g in listaGrupoBenf)
                        {
                            if (listaGrup.Contains(g))
                            {
                            }
                            else
                            {
                                listaGrup.Add(g);
                            }
                        }
                    }


                    GrupoBeneficiarioClass grupo = listaGrup.Find(g => g.Id_grupo == f.id_grupo);

                    if (grupo != null)
                    {
                        agregar = true;
                    }

                    break;

                case CriterioBusqueda.Busqueda_Nombre:
                    List <BeneficiarioClass>      listaBen = BeneficiarioClass.ListarBeneficiarioPorCriterio(parametro, CriterioBusqueda.Busqueda_Nombre);
                    List <GrupoBeneficiarioClass> listaG   = new List <GrupoBeneficiarioClass>();
                    foreach (BeneficiarioClass b in listaBen)
                    {
                        List <GrupoBeneficiarioClass> listaGrupoBenf = GrupoBeneficiarioClass.ListarGruposPorBeneficiario(b.Id_beneficiario);

                        foreach (GrupoBeneficiarioClass g in listaGrupoBenf)
                        {
                            if (listaG.Contains(g))
                            {
                            }
                            else
                            {
                                listaG.Add(g);
                            }
                        }
                    }


                    GrupoBeneficiarioClass gru = listaG.Find(g => g.Id_grupo == f.id_grupo);

                    if (gru != null)
                    {
                        agregar = true;
                    }

                    break;
                }

                if (agregar)
                {
                    x = new GrupoBeneficiarioClass();

                    x._id_grupo    = f.id_grupo;
                    x._descripcion = f.descripcion;
                    x._nombre      = f.nombre;

                    x._beneficiarios = BeneficiarioClass.ListarBeneficiariosPorGrupo(f.id_grupo);

                    r.Add(x);
                }
            }

            return(r);
        }