SWAEntities Db = new SWAEntities();
Expression<Func<Wallet, bool>> whereClause = AdminBuildDynamicWhereClauseTransit(Db, columns, createdby);
var result =Db.SW_Wallet.Join(Db.NLP_RegistrationSW, w=>w.CreatedBy , t=>t.ID , (w,t)=>new {wallet=w, trader=t })
.Join(Db.SW_OrgPdLink , x=>x.trader.ID , pd=>pd.OrgId ,(x,pd)=>new {Pdacc=pd, x.wallet , x.trader })
.Where(m=>m.wallet.CreatedBy == createdby && (m.wallet.Isdeleted == false ||m.wallet.Isdeleted == null))
.Select(m => new
{
m.wallet.Status,
m.wallet.CreatedDate,
m.wallet.TransactionDate,
m.wallet.Amount,
m.wallet.Currency,
m.wallet.BankName,
m.wallet.Remarks,
m.wallet.Documents,
m.trader.FirstName,
m.trader.LastName,
m.Pdacc.PDAAccountId
})
.OrderBy(sortBy, sortDir)
.Skip(skip)
.Take(take)
.AsEnumerable()
.Select(m =>
new Wallet
{
TransactionDate = m.TransactionDate,
Status = m.Status,
CreatedDate = m.CreatedDate?.ToString("dd/MM/yyyy"),
Amount = m.Amount,
Currency = m.Currency,
bankName=m.BankName,
Remark=m.Remarks,
Document=m.Documents,
TraderFname=m.FirstName,
TraderLname=m.LastName
})
.ToList();
totalResultsCount = result.AsQueryable().Count();
filteredResultsCount = result.AsQueryable().Where(whereClause).Count();
result = result.AsQueryable().Where(whereClause).ToList();
if (take == -1)
{
take = filteredResultsCount;
}
return result;
Expression<Func<Wallet, bool>> whereClause = AdminBuildDynamicWhereClauseTransit(Db, columns, createdby);
var result =Db.SW_Wallet.Join(Db.NLP_RegistrationSW, w=>w.CreatedBy , t=>t.ID , (w,t)=>new {wallet=w, trader=t })
.Join(Db.SW_OrgPdLink , x=>x.trader.ID , pd=>pd.OrgId ,(x,pd)=>new {Pdacc=pd, x.wallet , x.trader })
.Where(m=>m.wallet.CreatedBy == createdby && (m.wallet.Isdeleted == false ||m.wallet.Isdeleted == null))
.Select(m => new
{
m.wallet.Status,
m.wallet.CreatedDate,
m.wallet.TransactionDate,
m.wallet.Amount,
m.wallet.Currency,
m.wallet.BankName,
m.wallet.Remarks,
m.wallet.Documents,
m.trader.FirstName,
m.trader.LastName,
m.Pdacc.PDAAccountId
})
.OrderBy(sortBy, sortDir)
.Skip(skip)
.Take(take)
.AsEnumerable()
.Select(m =>
new Wallet
{
TransactionDate = m.TransactionDate,
Status = m.Status,
CreatedDate = m.CreatedDate?.ToString("dd/MM/yyyy"),
Amount = m.Amount,
Currency = m.Currency,
bankName=m.BankName,
Remark=m.Remarks,
Document=m.Documents,
TraderFname=m.FirstName,
TraderLname=m.LastName
})
.ToList();
totalResultsCount = result.AsQueryable().Count();
filteredResultsCount = result.AsQueryable().Where(whereClause).Count();
result = result.AsQueryable().Where(whereClause).ToList();
if (take == -1)
{
take = filteredResultsCount;
}
return result;