예제 #1
0
        public IActionResult Index(NoticeFilter filter = null)
        {
            try
            {
                var notices = _noticeRepo.getQueryable();

                if (!string.IsNullOrWhiteSpace(filter.title))
                {
                    notices = notices.Where(a => a.title.Contains(filter.title));
                }

                notices = notices.Where(a => a.notice_date >= filter.from_date && a.notice_date <= filter.to_date);

                ViewBag.pagerInfo = _paginatedMetaService.GetMetaData(notices.Count(), filter.page, filter.number_of_rows);


                notices = notices.Skip(filter.number_of_rows * (filter.page - 1)).Take(filter.number_of_rows);

                var noticeDetails = notices.ToList();

                return(View(noticeDetails));
            }
            catch (Exception ex)
            {
                AlertHelper.setMessage(this, ex.Message, messageType.error);
                return(Redirect("/admin"));
            }
        }
예제 #2
0
 public List <NoticeModel> GetNotList(NoticeFilter filter, out int total, bool isPage = true)
 {
     using (DataProvider dp = new DataProvider())
     {
         var list = data.GetNotList(dp, filter, out total, isPage);
         return(list);
     }
 }
예제 #3
0
        public IActionResult Index(NoticeFilter filter = null)
        {
            var setupValues = _setupRepo.getQueryable().ToList();

            ViewBag.setup = setupValues;
            var notices = _noticeRepo.getQueryable().Where(a => a.is_closed == false);

            ViewBag.pagerInfo = _paginatedMetaService.GetMetaData(notices.Count(), filter.page, 5);
            notices           = notices.Skip(filter.number_of_rows * (filter.page - 1)).Take(5);

            return(View(notices.ToList()));
        }
예제 #4
0
        public List <NoticeModel> GetNotList(DataProvider dp, NoticeFilter filter, out int total, bool IsPage = true)
        {
            var list = from not in dp.PM_Notice.Where(m => !m.IsDel)
                       join user1 in dp.System_User.Where(m => m.IsDel == false) on not.CreateUser equals user1.Id
                       join user2 in dp.System_User.Where(m => m.IsDel == false) on not.UpdateUser equals user2.Id
                       into user2dc from user2dci in user2dc.DefaultIfEmpty()
                       join dic in dp.System_DicItem.Where(m => !m.IsDel) on not.NoticeType equals dic.Id
                       select new NoticeModel
            {
                Id             = not.Id,
                CreateTime     = not.CreateTime,
                CreateUser     = not.CreateUser,
                CreateUserName = user1.TrueName,
                IsEnabled      = not.IsEnabled,
                NoticeTitle    = not.NoticeTitle,
                NoticeType     = not.NoticeType,
                NoticeTypeName = dic.ItemDesc,
                Priority       = not.Priority,
                Remarks        = not.Remarks,
                UpdateTime     = not.UpdateTime,
                UpdateUser     = not.UpdateUser,
                UpdateUserName = user2dci.TrueName
            };

            if (filter.NoticeTitle.IsNotNullOrWhiteSpace())
            {
                list = list.Where(m => m.NoticeTitle.Contains(filter.NoticeTitle));
            }
            if (filter.NoticeType.IsNotNullAndCountGtZero())
            {
                list = list.Where(m => filter.NoticeType.Contains(m.NoticeType));
            }

            list  = list.OrderByDescending(m => m.Priority).ThenByDescending(m => m.CreateTime);
            total = list.Count();
            if (IsPage)
            {
                return(list.Skip(filter.Skip).Take(filter.PageSize).ToList());
            }
            else
            {
                return(list.ToList());
            }
        }
예제 #5
0
 async public Task <object> GetPagingNotcieForViewList(Paging paging, NoticeFilter filter)
 {
     return(await Db.GetPagingListSpAsync <VTFNNoticeCanView, NoticeFilter>(paging, filter, $"TFNNoticeCanView({CurrentUser.Id})"));
 }
예제 #6
0
 async public Task <object> GetPagingNoticeForManageList(Paging paging, NoticeFilter filter)
 {
     //只能管理自己发送的通知
     filter.SendorId = CurrentUser.Id;
     return(await Db.GetPagingListSpAsync <VNotice, NoticeFilter>(paging, filter));
 }
예제 #7
0
        public ActionResult GetNotList(NoticeFilter filter)
        {
            var data = business.GetNotList(filter, out int total);

            return(Json(new TableDataModel(total, data)));
        }