public List <CXC_011_Info> get_list(int IdEmpresa, int IdSucursal, decimal IdCliente, int Idtipo_cliente, DateTime fechaCorte, bool MostrarSoloCarteraVencida, int DiasVencimiento) { try { int IdSucursalIni = IdSucursal; int IdSucursalFin = IdSucursal == 0 ? 999999 : IdSucursal; int IdClienteIni = Convert.ToInt32(IdCliente); int IdClienteFin = IdCliente == 0 ? 999999999 : Convert.ToInt32(IdCliente); decimal Idtipo_clienteIni = Idtipo_cliente; decimal Idtipo_clienteFin = Idtipo_cliente == 0 ? 9999999 : Idtipo_cliente; fechaCorte = fechaCorte.Date; List <CXC_011_Info> Lista; using (Entities_reportes Context = new Entities_reportes()) { var lst = (from q in Context.SPCXC_011(IdEmpresa, IdSucursalIni, IdSucursalFin, IdClienteIni, IdClienteFin, Idtipo_clienteIni, Idtipo_clienteFin, fechaCorte, MostrarSoloCarteraVencida, DiasVencimiento) select new CXC_011_Info { IdEmpresa = q.IdEmpresa, IdSucursal = q.IdSucursal, IdBodega = q.IdBodega, IdCliente = q.IdCliente, Codigo = q.Codigo, IdCbteVta = q.IdCbteVta, CodCbteVta = q.CodCbteVta, vt_fecha = q.vt_fecha, vt_fech_venc = q.vt_fech_venc, vt_NumFactura = q.vt_NumFactura, vt_Observacion = q.vt_Observacion, vt_plazo = q.vt_plazo, vt_serie1 = q.vt_serie1, vt_serie2 = q.vt_serie2, vt_tipoDoc = q.vt_tipoDoc, Su_Descripcion = q.Su_Descripcion, pe_cedulaRuc = q.pe_cedulaRuc, pe_telefonoOfic = q.pe_telefonoOfic, pe_nombreCompleto = q.pe_nombreCompleto, Valor_Original = q.Valor_Original, Valor_vencido = q.Valor_vencido, Valor_x_Vencer = q.Valor_x_Vencer, Vencer_30_Dias = q.Vencer_30_Dias, Vencer_60_Dias = q.Vencer_60_Dias, Vencer_90_Dias = q.Vencer_90_Dias, Dias_Vencidos = q.Dias_Vencidos, Idtipo_cliente = q.Idtipo_cliente, Mayor_a_90Dias = q.Mayor_a_90Dias, Saldo = q.Saldo, Total_Pagado = q.Total_Pagado, TelefonoContacto = q.TelefonoContacto, NomContacto = q.NomContacto, Descripcion_tip_cliente = q.Descripcion_tip_cliente, Orden = (q.Dias_Vencidos < 0 ? 1 : 2), Grupo = (q.Dias_Vencidos < 0 ? "VENCIDO" : "POR VENCER") }).ToList(); var lstA = lst.GroupBy(q => new { q.Orden, q.IdCliente }).Select(q => new { Orden = q.Key.Orden, IdCliente = q.Key.IdCliente, MaximoDias = q.Min(g => g.Dias_Vencidos) }).ToList(); Lista = (from g in lstA join q in lst on new { g.Orden, g.IdCliente } equals new { q.Orden, q.IdCliente } select new CXC_011_Info { IdEmpresa = q.IdEmpresa, IdSucursal = q.IdSucursal, IdBodega = q.IdBodega, IdCliente = q.IdCliente, Codigo = q.Codigo, IdCbteVta = q.IdCbteVta, CodCbteVta = q.CodCbteVta, vt_fecha = q.vt_fecha, vt_fech_venc = q.vt_fech_venc, vt_NumFactura = q.vt_NumFactura, vt_Observacion = q.vt_Observacion, vt_plazo = q.vt_plazo, vt_serie1 = q.vt_serie1, vt_serie2 = q.vt_serie2, vt_tipoDoc = q.vt_tipoDoc, Su_Descripcion = q.Su_Descripcion, pe_cedulaRuc = q.pe_cedulaRuc, pe_telefonoOfic = q.pe_telefonoOfic, pe_nombreCompleto = q.pe_nombreCompleto, Valor_Original = q.Valor_Original, Valor_vencido = q.Valor_vencido, Valor_x_Vencer = q.Valor_x_Vencer, Vencer_30_Dias = q.Vencer_30_Dias, Vencer_60_Dias = q.Vencer_60_Dias, Vencer_90_Dias = q.Vencer_90_Dias, Dias_Vencidos = q.Dias_Vencidos, Idtipo_cliente = q.Idtipo_cliente, Mayor_a_90Dias = q.Mayor_a_90Dias, Saldo = q.Saldo, Total_Pagado = q.Total_Pagado, TelefonoContacto = q.TelefonoContacto, NomContacto = q.NomContacto, Descripcion_tip_cliente = q.Descripcion_tip_cliente, Orden = q.Orden, Grupo = q.Grupo, MaximoDias = g.MaximoDias }).ToList(); } return(Lista); } catch (Exception EX) { throw; } }