public IEnumerable<SG_KARDEX_CLIENTE> ObtenerKardexCliente(PagingInfo paginacion, FiltrosModel<KardexClienteModel> filtros, ConsumoAmortizacionModel consumos = null)
        {
            IQueryable<SG_KARDEX_CLIENTE> result = null;
            ExecuteManager(uow =>
            {
                var manager = new SG_KARDEX_CLIENTEManager(uow);
                //obtener todos los registros
                result = manager.BuscarTodos();
                filtros.FiltrarDatos();
                result = filtros.Diccionario.Count() > 0 ? result.Where(filtros.Predicado, filtros.Diccionario.Values.ToArray()) : result;
                if (filtros.FECHA_INICIAL != null) {
                    result = result.Where(x => x.FECHA >= filtros.FECHA_INICIAL);
                }
                if (filtros.FECHA_FINAL != null) {
                    DateTime fecha = (DateTime)filtros.FECHA_FINAL;
                    fecha = fecha.AddDays(1);
                    result = result.Where(x => x.FECHA < fecha);
                }
                paginacion.total = result.Count();
                consumos.consumo = result.Sum(x => x.CONSUMO);
                consumos.amortizacion = result.Sum(x => x.AMORTIZACION);

                result = manager.QueryPaged(result, paginacion.limit, paginacion.start, paginacion.sort, paginacion.dir);

            });
            return result;
        }
 public ActionResult ObtenerKardexClientePaginado(PagingInfo paginacion, FiltrosModel<KardexClienteModel> filtros, KardexClienteModel Kardex)
 {
     filtros.Entidad = Kardex;
     ConsumoAmortizacionModel cons = new ConsumoAmortizacionModel();
     var kardexd = _serKar.ObtenerKardexCliente(paginacion, filtros ,cons);
     var formatData = kardexd.Select(x => new
     {
         ID_CLIENTE = x.ID_CLIENTE,
         ID_KARDEX = x.ID_KARDEX,
         FECHA = x.FECHA,
         CONSUMO = x.CONSUMO,
         AMORTIZACION = x.AMORTIZACION,
         SALDO = x.SALDO,
         DETALLE = x.DETALLE,
         TOTAL_AMOR  = cons.amortizacion,
         TOTAL_CONS = cons.consumo
     });
    
     formatData = formatData.OrderBy(x => x.FECHA).ThenByDescending(x => x.ID_KARDEX);
     JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
     string callback1 = paginacion.callback + "(" + javaScriptSerializer.Serialize(new { Rows = formatData, Total = paginacion.total ,consumo = cons.consumo , amortizacion = cons.amortizacion}) + ");";
     return JavaScript(callback1);
 }