public IHttpActionResult Get(string lambda, int?skip, int?take) { return(Execute <IHttpActionResult>(delegate { if (!base.ValidateLambdaSring(lambda)) { return base.BadRequest("incorrect lambda"); } var filter = ExpressionParser.CompileBolleanFunc <ICreditTransaction>(lambda); filter = EnhanceFilterByAuthorizedLocations(filter); var discriminator = new CreditTransactionDiscriminator() { Filter = filter }; if (skip.HasValue) { discriminator.Skip = skip.Value; } if (take.HasValue) { discriminator.Take = take.Value; } return base.Ok(Db.FindCreditTransaction(discriminator)); })); }
public CreditTransactionContract[] FindCreditTransaction(CreditTransactionDiscriminator d) { try { var records = RepositoryFactory.GetCreditTransaction(); if (d != null) { records.Discriminator = d; return(records.Skip(d.Skip).Take(d.Take).Select(r => new CreditTransactionContract() { CreditTransaction = r }).ToArray()); } else { return(records.Take(DEFAULT_MAX_RECORDS).Select(r => new CreditTransactionContract() { CreditTransaction = r }).ToArray()); } } catch (Exception ex) { HandleMyException(ex); return(null); } }