示例#1
0
        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);
     }
 }