// GET: Official/GetBoards?index=6&number=5
        public async Task <ActionResult> GetBoards(int?index, int?number)
        {
            int i = index ?? 0;
            int n = number ?? 5;

            var boards = await db.GetOfficialBoardsAsync();

            var list = new List <NoticeBoardIndexViewModel>();

            foreach (var nb in boards)
            {
                var temp = NoticeBoardMappings.To <NoticeBoardIndexViewModel>(nb);
                temp.IsSubscribed = await User.Identity.IsSubscribedToAsync(temp.Id);

                if (!temp.IsSubscribed)
                {
                    list.Add(temp);
                }
            }

            IEnumerable <NoticeBoardIndexViewModel> finalList = list.OrderBy(nb => nb.Title);

            finalList = finalList.Skip(i);
            finalList = finalList.Take(n);

            return(View(finalList));
        }
Exemple #2
0
        public async Task <ActionResult> Results(string q)
        {
            Tuple <List <NoticeBoardViewModel>, List <NoticeViewModel> > results = new Tuple <List <NoticeBoardViewModel>, List <NoticeViewModel> >(
                new List <NoticeBoardViewModel>(),
                new List <NoticeViewModel>()
                );

            using (NoticeBoardManager m = new NoticeBoardManager())
            {
                var boards = await m.SearchAsync(q);

                foreach (var i in boards)
                {
                    results.Item1.Add(NoticeBoardMappings.To <NoticeBoardViewModel>(i));
                }
            }

            using (NoticeManager m = new NoticeManager())
            {
                var notices = await m.SearchAsync(q);

                foreach (var i in notices)
                {
                    results.Item2.Add(NoticeMappings.To <NoticeViewModel>(i));
                }
            }

            return(View(results));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,Title,IsMandatory,Description")] NoticeBoardEditViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var notice = NoticeBoardMappings.From(vm);
                notice.IsOfficial = true;
                await db.UpdateAsync(notice);

                return(RedirectToAction("Index"));
            }
            return(View(vm));
        }
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NoticeBoard noticeBoard = await db.GetUnofficialBoardAsync(id.Value);

            if (noticeBoard == null)
            {
                return(HttpNotFound());
            }
            return(View(NoticeBoardMappings.To <NoticeBoardIndexViewModel>(noticeBoard)));
        }
        // GET: Boards
        /// <summary>
        /// Displays all the official notice boards that the user is subscribed to
        /// </summary>
        public async Task <ActionResult> Index()
        {
            var x = await db.GetOfficialBoardsAsync();

            var list = new List <NoticeBoardIndexViewModel>();

            foreach (var i in x)
            {
                var temp = NoticeBoardMappings.To <NoticeBoardIndexViewModel>(i);
                temp.IsSubscribed = await User.Identity.IsSubscribedToAsync(temp.Id);

                //if (temp.IsSubscribed)
                //{
                list.Add(temp);
                //}
            }
            return(View(list));
        }
        // GET: Boards/View/5
        public async Task <ActionResult> View(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NoticeBoard noticeBoard = await db.GetUnofficialBoardAsync(id.Value);

            if (noticeBoard == null)
            {
                return(HttpNotFound());
            }
            if (await User.Identity.IsSubscribedToAsync(id.Value))
            {
                ViewBag.Subscribed = true;
            }
            else
            {
                ViewBag.Subscribed = false;
            }
            return(View(NoticeBoardMappings.To <NoticeBoardViewModel>(noticeBoard)));
        }