Example #1
0
        public ActionResult FilterAnnouncements(AnnouncementFilterModel filterModel)
        {
            DateTime trueEndDate = filterModel.EndDate.AddDays(1);

            using (var dbContext = GetDatabaseContext())
            {
                IEnumerable <Announcement> announcements = dbContext.Announcements.Where(announcement =>
                                                                                         announcement.Created >= filterModel.StartDate &&
                                                                                         announcement.Created < trueEndDate);

                if (filterModel.AnnouncementImportance != 6)
                {
                    announcements = announcements.Where(announcement => (announcement.AnnouncementImportance == filterModel.AnnouncementImportance));
                }

                // Create the view models to be passed to the announcements view
                List <AnnouncementModel> models =
                    announcements.OrderByDescending(announcement => announcement.Created).Select(announcement =>
                {
                    return(new AnnouncementModel
                    {
                        AnnouncementID = announcement.AnnouncementID,
                        AnnouncementContent = announcement.AnnouncementContent,
                        AnnouncementImportance = announcement.AnnouncementImportance,
                        AnnouncementTitle = announcement.AnnouncementTitle,
                        Created = announcement.Created,
                        User = announcement.User
                    });
                }).ToList();
                ViewBag.FilterModel = filterModel;
                return(View("Announcements", models));
            }
        }
Example #2
0
        /// <summary>
        /// Get the filter form view with a populated model/
        /// </summary>
        /// <returns>The view that contaisn the partial view model.;;</returns>
        public ActionResult AnnouncementFilterForm()
        {
            AnnouncementFilterModel filterModel = new AnnouncementFilterModel
            {
                StartDate = DateTime.Now.AddDays(-7),
                EndDate   = DateTime.Now,
                AnnouncementImportance = 6
            };

            return(PartialView("_AnnouncementFilterForm", filterModel));
        }
Example #3
0
        public void Announcement_ReturnsFilteredItems_OnDate()
        {
            Mock <AnnouncementController> controller  = GetMockedAnnouncementController();
            AnnouncementFilterModel       filterModel = new AnnouncementFilterModel
            {
                AnnouncementImportance = 3,
                StartDate = DateTime.Now.AddDays(-2),
                EndDate   = DateTime.Now.AddDays(2)
            };

            var result = controller.Object.FilterAnnouncements(filterModel) as ViewResult;

            Assert.That(result.Model, Has.Count.EqualTo(1));
        }
Example #4
0
        public void Announcement_ReturnsFilteredItems_OnImportance()
        {
            Mock <AnnouncementController> controller  = GetMockedAnnouncementController();
            AnnouncementFilterModel       filterModel = new AnnouncementFilterModel
            {
                AnnouncementImportance = 1,
                StartDate = new DateTime(2000, 1, 1),
                EndDate   = new DateTime(2050, 12, 31)
            };

            var result = controller.Object.FilterAnnouncements(filterModel) as ViewResult;

            Assert.That(result.Model, Has.Count.EqualTo(1));
            Assert.AreEqual(((List <AnnouncementModel>)result.Model).First().AnnouncementID, 3);
        }