public int GetResumenFacturasByFilterCount(int? ID_FACTURACION, int? ID_TIPO_FACTURA, string RUT_CLIENTE, string NOMBRE_CLIENTE,
            DateTime? FECHA_EMISION, int? NUMERO_FACTURA, bool? PAGADA)
        {
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioVISTA_REPORTE_FACTURA _RepositorioVISTA_REPORTE_FACTURA = new RepositorioVISTA_REPORTE_FACTURA(context);

                    return (from f in _RepositorioVISTA_REPORTE_FACTURA.GetByFilter(ID_FACTURACION, ID_TIPO_FACTURA, FECHA_EMISION, "", null, null, null,
                            PAGADA, NOMBRE_CLIENTE, RUT_CLIENTE, "", "", NUMERO_FACTURA, null, "", "", "", null, null, null)
                            select f).Count();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }
 public List<VISTA_REPORTE_FACTURA> GetByFilter(int? ID_FACTURACION = null, int? ID_TIPO_FACTURA = null, System.DateTime? FECHA_FACTURACION = null, string RUT_LABORATORIO = "", int? NETO = null, int? IVA = null, int? TOTAL = null, bool? PAGADA = null, string NOMBRE_CLIENTE = "", string RUT_CLIENTE = "", string DIRECCION = "", string NOMBRE_COMUNA = "", int? NUMERO_FACTURA = null, int? DESCUENTO = null, string FONO = "", string GIRO = "", string DETALLE = "", int? VALOR_PAGADO = null, int? PAGOS_REGISTRADOS = null, int? SALDO_DEUDOR = null)
 {
     Init();
     try
     {
         using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioVISTA_REPORTE_FACTURA repositorio = new RepositorioVISTA_REPORTE_FACTURA(context);
             return repositorio.GetByFilter(ID_FACTURACION, ID_TIPO_FACTURA, FECHA_FACTURACION, RUT_LABORATORIO, NETO, IVA, TOTAL, PAGADA, NOMBRE_CLIENTE, RUT_CLIENTE, DIRECCION, NOMBRE_COMUNA, NUMERO_FACTURA, DESCUENTO, FONO, GIRO, DETALLE, VALOR_PAGADO, PAGOS_REGISTRADOS, SALDO_DEUDOR).OrderBy(i => i.ID).ToList();
         }
     }
     catch (Exception ex)
     {
          ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
        public List<DTO_RESUMEN_FACTURA> GetResumenFacturasByFilter(int? ID_FACTURACION, int? ID_TIPO_FACTURA, string RUT_CLIENTE, string NOMBRE_CLIENTE,
            DateTime? FECHA_EMISION, int? NUMERO_FACTURA, bool? PAGADA, int PageIndex, int PageSize)
        {
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioVISTA_REPORTE_FACTURA _RepositorioVISTA_REPORTE_FACTURA = new RepositorioVISTA_REPORTE_FACTURA(context);

                    return (from f in _RepositorioVISTA_REPORTE_FACTURA.GetByFilter(ID_FACTURACION, ID_TIPO_FACTURA, FECHA_EMISION, "", null, null, null,
                            PAGADA, NOMBRE_CLIENTE, RUT_CLIENTE, "", "", NUMERO_FACTURA, null, "", "", "", null, null, null)
                            .OrderBy(f => f.FECHA_FACTURACION).ThenBy(f => f.NUMERO_FACTURA)
                            .Skip((PageIndex - 1) * PageSize).Take(PageSize)
                            select new DTO_RESUMEN_FACTURA
                            {
                                ID_FACTURA = f.ID,
                                NUMERO_FACTURA = f.NUMERO_FACTURA,
                                RUT_CLIENTE = f.RUT_CLIENTE,
                                NOMBRE_CLIENTE = f.NOMBRE_CLIENTE,
                                FECHA_EMISION = f.FECHA_FACTURACION,
                                VALOR_TOTAL = f.TOTAL,
                                VALOR_PAGADO = f.VALOR_PAGADO ?? 0,
                                PAGOS_REGISTRADOS = f.PAGOS_REGISTRADOS ?? 0,
                                SALDO_DEUDOR = f.SALDO_DEUDOR ?? 0,
                                PAGADA = f.PAGADA
                            }).ToList();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }