/// <summary> /// Lista los beneficio de la base de datos que contiene el nombre pasado como parametro en su nombre /// </summary> /// <param name="nombre">nombre del Beneficio</param> /// <returns>Retorna una lista (ordenada por nombre de artículo) con los beneficios</returns> public static List <BeneficioClass> ListarBeneficiosPorNombre(string nombre) { List <BeneficioClass> r = new List <BeneficioClass>(); saluddbEntities mctx = new saluddbEntities(); BeneficioClass x; var cur = from b in mctx.beneficios where b.nombre.Contains(nombre) orderby b.nombre select b; foreach (var f in cur) { x = new BeneficioClass(); x._id_beneficio = f.id_beneficio; x._nombre_beneficio = f.nombre; x._descripcion_beneficio = f.descripcion; r.Add(x); } return(r); }
///<summary> /// Lista todos los beneficios registrados en la base de datos que están asociados al beneficiario (id_beneficiario) /// </summary> /// <returns>Retorna una lista de objetos de la clase BeneficioClass</returns> /// <param name="id_beneficiario">Id del beneficiario</param> /// <returns>Retorna una lista de objetos de la clase ArticulosClass</returns> public static List <BeneficioClass> ListarBeneficiosPorBeneficiario(long id_beneficiario) { List <BeneficioClass> r = new List <BeneficioClass>(); saluddbEntities mctx = new saluddbEntities(); BeneficioClass x; //une las tablas articulos, itemEntregas y ordenEntregas mediante un Join para obtener los articulos de un determinado beneficiario var cur = from bb in mctx.beneficiario_beneficio join b in mctx.beneficios on bb.id_beneficio equals b.id_beneficio where bb.id_beneficiario == id_beneficiario select b; foreach (var f in cur) { x = new BeneficioClass(); x._id_beneficio = f.id_beneficio; x._nombre_beneficio = f.nombre; x._descripcion_beneficio = f.descripcion; r.Add(x); } return(r); }
/// <summary> /// Busca un Beneficio por Id_beneficio /// </summary> /// <param name="id_beneficio">ID del beneficio a buscar</param> /// <returns>Retorna un objeto BeneficioClass</returns> public static BeneficioClass BuscarBeneficioPorId(int id_beneficio) { BeneficioClass r = new BeneficioClass(); saluddbEntities mctx = new saluddbEntities(); var cur = from b in mctx.beneficios where b.id_beneficio == id_beneficio select b; if (cur.Count() > 0) { var f = cur.First(); r._id_beneficio = f.id_beneficio; r._nombre_beneficio = f.nombre; r._descripcion_beneficio = f.descripcion; } else { r = null; } return(r); }
/// <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); }