Esempio n. 1
0
        public ActionResult Index()
        {
            int         userID = WebSecurity.CurrentUserId;
            UserProfile user   = repository
                                 .Users
                                 .FirstOrDefault(u => u.UserId == userID);

            IEnumerable <Comment> comments = repository.Comments.Where(c => c.IsRead == 0 && c.UserID != userID).AsEnumerable();

            if (userID != 1 && !Roles.IsUserInRole("Administrator"))
            {
                if (Roles.IsUserInRole("Judge"))
                {
                    comments = comments
                               .Where(c => user.CanModifyProblems.Contains(c.Problem) || user.CanModifyTournaments.Contains(c.Tournament) ||
                                      (c.ParentComment != null ? c.ParentComment.UserID == userID : false));
                }
                else
                {
                    comments = comments
                               .Where(c => c.ParentComment != null ? c.ParentComment.UserID == userID : false);
                }
            }

            DiscussionsViewModel viewModel = new DiscussionsViewModel()
            {
                NewComments = comments.GroupBy(c => c.Tournament)
            };

            return(View(viewModel));
        }
Esempio n. 2
0
        protected override void OnReady(System.Windows.Navigation.NavigationEventArgs e)
        {
            if (!_alreadyNavigatedTo)
            {
                IDictionary <string, string> parameters = this.NavigationContext.QueryString;

                string defaultPanoramaItem;

                if (!parameters.TryGetValue("defaultPanoramaItem", out defaultPanoramaItem))
                {
                    defaultPanoramaItem = "PanHome";
                }

                var defaultItem = PanMain.FindName(defaultPanoramaItem) as PanoramaItem;
                PanMain.DefaultItem = defaultItem;
                UpdateSelectedPanoramaItem(defaultItem);
                _alreadyNavigatedTo = true;
            }
            else
            {
                //quick hack until i can figure out why the list isn't loading on back button
                var oldDiscussionsVM = _discussionsViewModel;
                _discussionsViewModel = new DiscussionsViewModel();
                _discussionsViewModel.DiscussionCourseFilter = oldDiscussionsVM.DiscussionCourseFilter;
                if (oldDiscussionsVM.LoadStarted)
                {
                    _discussionsViewModel.Load();
                }
                PanDiscussions.DataContext = _discussionsViewModel;
            }
        }
Esempio n. 3
0
        public virtual ActionResult Index(int?page, int?spage)
        {
            DiscussionsViewModel dcsreturn = new DiscussionsViewModel(page, spage, User.Identity.GetUserId());

            ViewBag.len2 = dcsreturn.Discussions.Count();

            EnquirerIndexViewModel eqindex = new EnquirerIndexViewModel()
            {
                discussions = dcsreturn
            };

            return(View(eqindex));
        }
Esempio n. 4
0
        public virtual ActionResult Index(int?page, int?spage)
        {
            //Initialize tabs
            ViewBag.liclassA  = "active";
            ViewBag.tabclassA = "tab-pane fade in active";
            ViewBag.liclassB  = "";
            ViewBag.tabclassB = "tab-pane fade";

            if (spage == null)
            {
                ViewBag.liclassA  = "active text-content";
                ViewBag.tabclassA = "tab-pane fade in active";
                ViewBag.liclassB  = "text-content";
                ViewBag.tabclassB = "tab-pane fade";
            }
            else
            {
                ViewBag.liclassA  = "text-content";
                ViewBag.tabclassA = "tab-pane fade";
                ViewBag.liclassB  = "active text-content";
                ViewBag.tabclassB = "tab-pane fade in active";
            }


            DiscussionsViewModel dcsreturn = new DiscussionsViewModel(page, spage, User.Identity.GetUserId());

            ViewBag.len2  = dcsreturn.Discussions.Count();
            ViewBag.slen2 = dcsreturn.PDsns.Count();

            EnquirerIndexViewModel eqindex = new EnquirerIndexViewModel()
            {
                discussions = dcsreturn
            };

            return(View(eqindex));
        }