public ActionResult GridListBalancesStatement() { try { long IdUser = long.Parse(User.Identity.GetUserId()); int? page = null; int pageNum = (page ?? 1); EmailSupportIndexViewModel model = new EmailSupportIndexViewModel(); if (User.IsInRole("AdminUser") || User.IsInRole("devuser") || User.IsInRole("supperadmin") || User.IsInRole("Mod")) { long[] listView = cms_db.GetlstContentView().Where(s => s.UserId == IdUser && s.ContentType == (int)EnumCore.ObjTypeId.emailsupport).Select(s => s.ContentId).ToArray(); IQueryable <EmailSupport> tmp = cms_db.GetlstEmailSupport(). Where(s => s.StateId != (int)EnumCore.EmailStatus.da_xoa && !listView.Contains(s.EmailId)); pageNum = 1; model.lstEmailSupport = tmp.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size); return(Json(model.lstEmailSupport, JsonRequestBehavior.AllowGet)); } else { long[] listView = cms_db.GetlstContentView().Where(s => s.UserId == IdUser && s.ContentType == (int)EnumCore.ObjTypeId.emailsupport).Select(s => s.ContentId).ToArray(); IQueryable <EmailSupport> tmp = cms_db.GetlstEmailSupport(). Where(s => s.StateId2 != (int)EnumCore.EmailStatus.da_xoa && (s.DestinationId == IdUser || s.CrtdUserId == IdUser) && !listView.Contains(s.EmailId)); pageNum = 1; model.lstEmailSupport = tmp.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size); return(Json(model.lstEmailSupport, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json("", JsonRequestBehavior.AllowGet)); } }
public ActionResult Index(int?page, int?EmailStatus, string EmailName, string Datetime) { try { int pageNum = (page ?? 1); EmailSupportIndexViewModel model = new EmailSupportIndexViewModel(); long IdUser = long.Parse(User.Identity.GetUserId()); //Nếu user đang dang nhập là admin if (User.IsInRole("AdminUser") || User.IsInRole("devuser") || User.IsInRole("supperadmin") || User.IsInRole("Mod")) { IQueryable <EmailSupport> tmp = cms_db.GetlstEmailSupport().Where(s => s.StateId != (int)EnumCore.EmailStatus.da_xoa && s.ParentId == null); if (EmailStatus.HasValue) { if (EmailStatus.Value == (int)EnumCore.EmailStatus.cho_ho_tro) { tmp = tmp.Where(s => s.DestinationId.Value < 0); } if (EmailStatus.Value == (int)EnumCore.EmailStatus.da_ho_tro) { tmp = tmp.Where(s => s.DestinationId.Value > 0); } } if (!String.IsNullOrEmpty(EmailName)) { tmp = tmp.Where(s => s.Subject.ToLower().Contains(EmailName.ToLower())); model.EmailName = EmailName; } 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); } //lấy danh sách email daxem cua user model.lstViewed = cms_db.GetlstContentView().Where(s => s.UserId == IdUser && s.ContentType == (int)EnumCore.ObjTypeId.emailsupport).Select(s => s.ContentId).ToArray(); pageNum = 1; model.pageNum = pageNum; model.lstMember = new SelectList(cms_db.GetUsersInRoleByLinkq("Member").Where(s => s.EmailConfirmed == true).OrderBy(s => s.EMail).ToList(), "Id", "EMail"); model.lstEmailSupport = tmp.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size); return(View(model)); } else { IQueryable <EmailSupport> tmp = cms_db.GetlstEmailSupport().Where(s => s.StateId2 != (int)EnumCore.EmailStatus.da_xoa && s.ParentId == null && (s.DestinationId.Value == IdUser || s.CrtdUserId == IdUser)); if (EmailStatus.HasValue) { if (EmailStatus.Value == (int)EnumCore.EmailStatus.cho_ho_tro) { tmp = tmp.Where(s => s.DestinationId.Value < 0); } if (EmailStatus.Value == (int)EnumCore.EmailStatus.da_ho_tro) { tmp = tmp.Where(s => s.DestinationId.Value > 0); } } //lấy danh sách email daxem cua user model.lstViewed = cms_db.GetlstContentView().Where(s => s.UserId == IdUser && s.ContentType == (int)EnumCore.ObjTypeId.emailsupport).Select(s => s.ContentId).ToArray(); pageNum = 1; model.pageNum = pageNum; model.lstMember = new SelectList(cms_db.GetUsersInRoleByLinkq("Member").Where(s => s.EmailConfirmed == true).OrderBy(s => s.EMail).ToList(), "Id", "EMail"); model.lstEmailSupport = tmp.OrderByDescending(c => c.CrtdDT).ToPagedList(pageNum, (int)EnumCore.BackendConst.page_size); return(View(model)); } } catch (Exception e) { cms_db.AddToExceptionLog("Index", "EmailManager", e.ToString(), long.Parse(User.Identity.GetUserId())); string AlertString = "Nội dung xem không khả dụng"; return(RedirectToAction("AlertPage", "Extension", new { AlertString = AlertString, type = (int)EnumCore.AlertPageType.FullScrenn })); } }