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