private IEnumerable <PartnerTranWithLevel> GetPartnerTransWithLevel(int level) { var partners = PayDAO.GetAllPartners(); var partnerTrans = PayDAO.GetAllAgencyTransactions(); var partnerTransByLevel = from a in partnerTrans from b in partners.Where(p => (p.GameAccountId == a.SenderID) || p.GameAccountId == a.RecvID) .DefaultIfEmpty() select new PartnerTranWithLevel() { ID = a.ID, CreatedTime = a.CreatedTime, Amount = a.Amount, Fee = a.Fee, Sender = a.Sender, SenderID = a.SenderID, Recv = a.Recv, RecvID = a.RecvID, Description = a.Description, Note = a.Note, CreateTimeInt = a.CreateTimeInt, State = a.State, Level = b.Level }; return(partnerTransByLevel.Where(x => x.Level == level)); }
public ActionResult AgencyTransactionLevel1Statistics(DateTime from, DateTime to, List <int> filterId = null) // Thống kê giao dịch đại lý cấp 1 { var partnerTransLevel = GetPartnerTransWithLevel(1); var partners = PayDAO.GetAllPartners(); var level1Partners = partners.Where(x => x.Level == 1); partnerTransLevel = partnerTransLevel.Where(x => x.CreatedTime >= from && x.CreatedTime <= to); // filter by date if (filterId != null) { partnerTransLevel.Where(x => filterId.Any(y => y == x.SenderID || y == x.RecvID)); // filter by ids partners.Where(x => filterId.Any(y => y == x.GameAccountId)); // filter by ids } var data = new List <PartnerTranWithLevel>(); return(View()); }