public IQueryable BusquedaRapida(string nombres, string apellido, string segundoapellido, string cedula, long centroActual)
{
try
{
var query = (from p in entities.pacientes
where (p.nombres.Contains(nombres) && nombres != "") && p.centro_actual == centroActual
select new
{
Expediente = p.expediente,
Nombre = p.nombres,
PrimerApellido = p.primer_apellido,
SegundoApellido = p.segundo_apellido,
Cedula = p.cedula
}).Union
(from p1 in entities.pacientes
where (p1.primer_apellido.Contains(apellido) && apellido != "") && p1.centro_actual == centroActual
select new
{
Expediente = p1.expediente,
Nombre = p1.nombres,
PrimerApellido = p1.primer_apellido,
SegundoApellido = p1.segundo_apellido,
Cedula = p1.cedula
}).Union
(from p2 in entities.pacientes
where (p2.segundo_apellido.Contains(segundoapellido) && segundoapellido != "") && p2.centro_actual == centroActual
select new
{
Expediente = p2.expediente,
Nombre = p2.nombres,
PrimerApellido = p2.primer_apellido,
SegundoApellido = p2.segundo_apellido,
Cedula = p2.cedula
}).Union
(from p3 in entities.pacientes
where p3.cedula == cedula && p3.centro_actual == centroActual
select new
{
Expediente = p3.expediente,
Nombre = p3.nombres,
PrimerApellido = p3.primer_apellido,
SegundoApellido = p3.segundo_apellido,
Cedula = p3.cedula
});
return query;
}
catch (Exception ex)
{
throw new Exception(ex.ToString() + " --SeguimientoPacientes.cs / BusquedaRapida()");
}
}