public static List <GrupoBeneficiarioClass> ListarGrupoBeneficiariosPorNombre(string nombre) { List <GrupoBeneficiarioClass> r = new List <GrupoBeneficiarioClass>(); saluddbEntities mctx = new saluddbEntities(); GrupoBeneficiarioClass x; var cur = from ben in mctx.grupoes where ben.nombre.Contains(nombre) select ben; foreach (var f in cur) { 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); }
/// <summary> /// Lista los Grupos que el beneficiario pertenece /// </summary> /// <param name="id_beneficiario">Id del beneficiario a buscar en los grupos</param> /// <returns>Retorna una lista de grupos de beneficiarios</returns> public static List <GrupoBeneficiarioClass> ListarGruposPorBeneficiario(int id_beneficiario) { List <GrupoBeneficiarioClass> r = new List <GrupoBeneficiarioClass>(); saluddbEntities mctx = new saluddbEntities(); GrupoBeneficiarioClass x; var cur = from g in mctx.grupoes join bg in mctx.beneficiario_grupo on g.id_grupo equals bg.id_gupo where bg.id_beneficiario == id_beneficiario orderby g.nombre select g; foreach (var f in cur) { 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); }
/// <summary> /// Busca el grupo según el criterio de busqueda y el parametro /// </summary> /// <param name="criterio"></param> /// <returns>Retorna el Beneficiario. Null en otro caso</returns> public static GrupoBeneficiarioClass BuscarGrupo(String parametro, CriterioBusqueda criterio) { GrupoBeneficiarioClass r = new GrupoBeneficiarioClass(); saluddbEntities ctx = new saluddbEntities(); switch (criterio) { case CriterioBusqueda.Busqueda_ID: int id = 0; Int32.TryParse(parametro, out id); var cur = from g in ctx.grupoes where g.id_grupo == id select g; if (cur.Count() > 0) { var f = cur.First(); r._id_grupo = f.id_grupo; r._descripcion = f.descripcion; r._nombre = f.nombre; r._beneficiarios = BeneficiarioClass.ListarBeneficiariosPorGrupo(f.id_grupo); return(r); } break; case CriterioBusqueda.Busqueda_Nombre: var cur3 = from g in ctx.grupoes where g.nombre == parametro select g; if (cur3.Count() > 0) { var f = cur3.First(); r._id_grupo = f.id_grupo; r._descripcion = f.descripcion; r._nombre = f.nombre; r._beneficiarios = BeneficiarioClass.ListarBeneficiariosPorGrupo(f.id_grupo); return(r); } break; } return(null); }
/// <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); }