コード例 #1
0
        public IActionResult Index(NewsSearchViewModel searchModel)
        {
            var data = _adminService.GetNews(searchModel.ToDto());

            List <SelectListItem> pageSizeSelector = new List <SelectListItem>();

            pageSizeSelector.Add(new SelectListItem("10", "10", searchModel.PageSize == 10));
            pageSizeSelector.Add(new SelectListItem("20", "20", searchModel.PageSize == 20));
            pageSizeSelector.Add(new SelectListItem("30", "30", searchModel.PageSize == 30));
            pageSizeSelector.Add(new SelectListItem("40", "40", searchModel.PageSize == 40));
            pageSizeSelector.Add(new SelectListItem("50", "50", searchModel.PageSize == 50));

            List <SelectListItem> typeSelector = new List <SelectListItem>();

            typeSelector.Add(new SelectListItem("نوع خبر", ""));
            typeSelector.Add(new SelectListItem("اخبار محله", NewsType.Mahal.ToString(), searchModel.Type == NewsType.Mahal));
            typeSelector.Add(new SelectListItem("سیاسی", NewsType.Siasi.ToString(), searchModel.Type == NewsType.Siasi));
            typeSelector.Add(new SelectListItem("اقتصادی", NewsType.Eghtesadi.ToString(), searchModel.Type == NewsType.Eghtesadi));
            typeSelector.Add(new SelectListItem("فرهنگی", NewsType.Farhangi.ToString(), searchModel.Type == NewsType.Farhangi));


            ViewBag.PageSizeSelector = pageSizeSelector;
            ViewBag.TypeSelector     = typeSelector;

            return(View(new SearchModel <NewsSearchViewModel, PaginationViewModel <NewsViewModel> >(searchModel, data.ToVewModel())));
        }
コード例 #2
0
 public static NewsSearchDto ToDto(this NewsSearchViewModel source)
 {
     return new NewsSearchDto
     {
         PageNumber = source.PageNumber,
         PageSize = source.PageSize,
         Title = source.Title,
         Type = source.Type
     };
 }
コード例 #3
0
        public async Task <IActionResult> Index(NewsSearchViewModel searchModel)
        {
            var model = await _newsRepository.LoadAsyncCount(
                this.CurrentPage,
                this.PageSize,
                searchModel);

            this.TotalNumber = model.Item1;

            ViewBag.SearchModel = searchModel;

            return(View(model.Item2));
        }
コード例 #4
0
        public async Task <Tuple <int, List <NewsDTO> > > LoadAsyncCount(
            int skip = -1,
            int take = -1,
            NewsSearchViewModel model = null)
        {
            var query = Entities.ProjectTo <NewsDTO>();


            if (model.Id != null)
            {
                query = query.Where(x => x.Id == model.Id);
            }

            if (!string.IsNullOrEmpty(model.Title))
            {
                query = query.Where(x => x.Title.Contains(model.Title));
            }


            if (!string.IsNullOrEmpty(model.SummeryNews))
            {
                query = query.Where(x => x.SummeryNews.Contains(model.SummeryNews));
            }


            if (model.Date != DateTime.MinValue)
            {
                query = query.Where(x => x.Date.Equals(model.Date));
            }


            int Count = query.Count();

            query = query.OrderByDescending(x => x.Id);


            if (skip != -1)
            {
                query = query.Skip((skip - 1) * take);
            }

            if (take != -1)
            {
                query = query.Take(take);
            }



            return(new Tuple <int, List <NewsDTO> >(Count, await query.ToListAsync()));
        }
コード例 #5
0
        public async Task <IActionResult> Index(string searchKey = "")
        {
            //=========================================================================
            NewsSearchViewModel searchModel = new NewsSearchViewModel();

            searchModel.Title = searchKey;
            //=========================================================================

            var result = await _newsRepository.LoadAsyncCount(
                this.CurrentPage,
                this.PageSize,
                searchModel);

            this.TotalNumber = result.Item1;
            return(View(result.Item2));
        }
コード例 #6
0
        public async Task <IActionResult> Index(string searchKey = "")
        {
            //=========================================================================
            NewsSearchViewModel searchModel = new NewsSearchViewModel();

            searchModel.Title = searchKey;
            //=========================================================================

            var result = await _newsRepository.LoadAsyncCount(
                this.CurrentPage,
                this.PageSize,
                searchModel);

            var test = _configuration.GetSection(nameof(SiteSettings)).Get <SiteSettings>();

            ViewBag.Url = test.SiteConfig.UrlAddress;

            this.TotalNumber = result.Item1;
            return(View(result.Item2));
        }