Пример #1
0
        public ActionResult Index(SearchMessagesModel search, int page = 1)
        {
            // Return all Messages
            // If not a post-back (i.e. initial load) set the searchModel to session
            if (Request.Form.Count <= 0)
            {
                if (search.IsEmpty() && Session["SearchMessagesModel"] != null)
                {
                    search = (SearchMessagesModel)Session["SearchMessagesModel"];
                }
            }

            var helper = new MessageHelper();

            var model = helper.GetMessageList(search, search.ParsePage(page));

            using (WebClient client = new WebClient())
            {
                var url = "http://boxuganda.com/balance.php?user=phlyp&password=Uganda.01";
                model.MessagesBalance = client.DownloadString(url);
            }

            Session["SearchMessagesModel"] = search;

            return(View(model));
        }
Пример #2
0
        public MessageListViewModel GetMessageList(SearchMessagesModel searchModel, int page = 1)
        {
            int pageSize = 20;

            if (page < 1)
            {
                page = 1;
            }

            IEnumerable <Message> records = db.Messages.ToList();

            // Remove any default information
            //searchModel.ParseRouteInfo();

            if (!String.IsNullOrEmpty(searchModel.Description))
            {
                string name = searchModel.Description.ToLower();
                records = records.Where(x => x.MessageDescription.ToLower().Contains(name));
            }

            if (searchModel.StartDate.HasValue)
            {
                records = records.Where(x => x.Scheduled.HasValue && x.Scheduled.Value >= searchModel.StartDate.Value);
            }

            if (searchModel.EndDate.HasValue)
            {
                records = records.Where(x => x.Scheduled.HasValue && x.Scheduled.Value <= searchModel.EndDate.Value);
            }

            return(new MessageListViewModel
            {
                Messages = records
                           .OrderByDescending(o => o.Added)
                           .Skip((page - 1) * pageSize)
                           .Take(pageSize),
                SearchModel = searchModel,
                PagingInfo = new PagingInfo
                {
                    CurrentPage = page,
                    PageSize = pageSize,
                    TotalItems = records.Count()
                }
            });
        }