public ActionResult TrackingFinance(int?page, int?Packageid, string FillterName, string Datetime) { int pageNum = (page ?? 1); TrackingFinanceViewModel model = new TrackingFinanceViewModel(); IQueryable <UserPackage> tmp = cms_db.GetlstUserPackageIquery().Where(s => s.StateId == (int)EnumCore.StateType.cho_phep); if (!String.IsNullOrEmpty(FillterName)) { tmp = tmp.Where(s => s.UpgradeUserName == FillterName); model.FillterName = FillterName; } if (Packageid.HasValue) { tmp = tmp.Where(s => s.PackageId == Packageid); model.Packageid = Packageid.Value; } if (!String.IsNullOrEmpty(Datetime)) { model.Datetime = Datetime; model.StartDT = this.SpritDateTime(model.Datetime)[0]; model.EndDT = this.SpritDateTime(model.Datetime)[1]; tmp = tmp.Where(s => s.CrtdDT > model.StartDT && s.CrtdDT < model.EndDT); } model.lstMainUserPackage = tmp.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size); if (tmp.Count() < (int)EnumCore.BackendConst.page_size) { pageNum = 1; } model.pageNum = pageNum; model.lstPackage = new SelectList(cms_db.GetObjSelectListPackage(), "value", "text"); return(View(model)); }
public FileResult Export(int?page, int?Packageid, string FillterName, string Datetime) { try { int pageNum = (page ?? 1); TrackingFinanceViewModel model = new TrackingFinanceViewModel(); IQueryable <UserPackage> tmp = cms_db.GetlstUserPackageIquery().Where(s => s.StateId == (int)EnumCore.StateType.cho_phep); if (!String.IsNullOrEmpty(FillterName)) { tmp = tmp.Where(s => s.UpgradeUserName == FillterName); } if (Packageid.HasValue) { if (Packageid.Value > 0) { tmp = tmp.Where(s => s.PackageId == Packageid); } } if (!String.IsNullOrEmpty(Datetime)) { model.Datetime = Datetime; model.StartDT = this.SpritDateTime(model.Datetime)[0]; model.EndDT = this.SpritDateTime(model.Datetime)[1]; tmp = tmp.Where(s => s.CrtdDT > model.StartDT && s.CrtdDT < model.EndDT); } List <UserPackage> dataexport = new List <UserPackage>(); dataexport = tmp.OrderByDescending(c => c.CrtdDT).Skip((pageNum - 1) * 50).Take(50).ToList(); DataTable dt = new DataTable("Grid"); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("Tên"), new DataColumn("Ngày nâng cấp"), new DataColumn("Gói nâng cấp"), new DataColumn("Tiền"), new DataColumn("Lịch sử") }); double sum = 0; foreach (UserPackage item in dataexport) { dt.Rows.Add(item.UpgradeUserName, item.CrtdDT, item.PackageName, item.Price, item.OldPackageName + "->" + item.PackageName); sum = sum + item.Price.Value; } dt.Rows.Add("", "", "Tổng tiền", sum, ""); using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dt); using (MemoryStream stream = new MemoryStream()) { wb.SaveAs(stream); return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "ncoin_history.xlsx")); } } } catch (Exception e) { cms_db.AddToExceptionLog("Export", "PackageManager", e.ToString(), long.Parse(User.Identity.GetUserId())); return(null); } }