private void GetAllChildAssignmentsForParent(
     CommentedAssignmentTreeViewItem currentTop,
     List <ejsAssignment> list)
 {
     foreach (CommentedAssignmentTreeViewItem catvi in currentTop.Items)
     {
         this.GetAllChildAssignmentsForParent(catvi, list);
         list.Add(catvi.Assignment);
         //list.Add(currentTop.Assignment);
     }
 }
예제 #2
0
 /// <summary>
 /// Called to update the branches of the tree once the root nodes
 /// have been added. This method is meant to be called recursively.
 /// </summary>
 /// <param name="root">Root node</param>
 /// <param name="child">Current Child</param>
 /// <param name="branchRoot">Original root of this branch</param>
 private void BuildAssignmentTree(AssignmentTreeViewItem root,
                                  ejsAssignment child, AssignmentTreeViewItem branchRoot)
 {
     if (root.Assignment.ExternalAssignmentId == child.ParentAssignmentId)
     {
         CommentedAssignmentTreeViewItem cat = new CommentedAssignmentTreeViewItem(child);
         cat.BranchRoot    = branchRoot;
         cat.DefaultImage  = new BitmapImage(new Uri("pack://application:,,,/imgData/caTvS.png"));
         cat.SelectedImage = new BitmapImage(new Uri("pack://application:,,,/imgData/caTvD.png"));
         root.Items.Add(cat);
         //Add up the total number of comments in this branch..
         branchRoot.Assignment.CommentCount += child.CommentCount;
     }
     else
     {
         foreach (AssignmentTreeViewItem childItem in root.Items)
         {
             this.BuildAssignmentTree(childItem, child, branchRoot);
         }
     }
 }
예제 #3
0
        private void _tv_Assignments_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            if (e.NewValue is AssignmentTreeViewItem)
            {
                AssignmentTreeViewItem selAss = e.NewValue as AssignmentTreeViewItem;
                this._b_OpenAssignment.IsEnabled = true;

                //Do not enable anything else...
                if (this.OpenForMerge)
                {
                    return;
                }

                this._b_OpenCommentedAssignment.IsEnabled = true;

                if (App._currentEjpStudent.Id == selAss.Assignment.OwnerUserId)
                {
                    this._b_DeleteAssignment.IsEnabled = true;
                    if (selAss.Items.Count != 0)
                    {
                        this._b_MergeAndOpen.IsEnabled = true;
                    }
                    else
                    {
                        this._b_MergeAndOpen.IsEnabled = false;
                    }
                }
                else
                {
                    this._b_DeleteAssignment.IsEnabled = false;
                    this._b_MergeAndOpen.IsEnabled     = false;
                }

                //Version Check
                if (selAss.Assignment.ExternalAssignmentId ==
                    Guid.Empty)
                {
                    this._b_OpenCommentedAssignment.IsEnabled = false;
                }
            }
            if (e.NewValue is CommentedAssignmentTreeViewItem)
            {
                //Do not enable anything...
                if (this.OpenForMerge)
                {
                    return;
                }

                CommentedAssignmentTreeViewItem selAss = e.NewValue as CommentedAssignmentTreeViewItem;
                this._b_OpenAssignment.IsEnabled          = false;
                this._b_OpenCommentedAssignment.IsEnabled = true;
                this._b_MergeAndOpen.IsEnabled            = false;

                if (selAss.BranchRoot.Assignment.OwnerUserId == App._currentEjpStudent.Id)
                {
                    this._b_DeleteAssignment.IsEnabled = true;
                }
                else
                {
                    this._b_DeleteAssignment.IsEnabled = false;
                }

                //Version Check
                if (selAss.Assignment.ExternalAssignmentId ==
                    Guid.Empty)
                {
                    this._b_OpenCommentedAssignment.IsEnabled = false;
                }
            }
        }