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); }