Пример #1
0
        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));
            }
        }
Пример #2
0
        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 }));
            }
        }