/// <summary>
        ///  Over rides OnPreRender.
        /// </summary>
        /// <param name="e">An EventArgs that contains the event data.</param>
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            string exceptionMessage = string.Empty;

            try
            {
                this.SetResourceText();

                AssignmentProperties assignmentProperties = SlkStore.LoadAssignmentProperties(AssignmentItemIdentifier, SlkRole.Instructor);

                using (SPSite site = new SPSite(assignmentProperties.SPSiteGuid, SPContext.Current.Site.Zone))
                {
                    using (SPWeb web = site.OpenWeb(assignmentProperties.SPWebGuid))
                    {
                        if (!(SlkStore.IsInstructor(web)))
                        {
                            exceptionMessage = PageCulture.Resources.CommentedFilesNoAccessException;

                            throw new SafeToDisplayException(exceptionMessage);
                        }
                    }
                }

                //Checks if all learners have completed the assignment.
                if (!IsPostBack)
                {
                    bool isAssignmentsCompleted = true;
                    m_assignmentProperties = SlkStore.GetGradingProperties(AssignmentItemIdentifier);
                    ReadOnlyCollection <LearnerAssignmentProperties> learnersGradingCollection = m_assignmentProperties.Results;
                    foreach (LearnerAssignmentProperties learnerGrading in learnersGradingCollection)
                    {
                        if (learnerGrading.Status != LearnerAssignmentState.Completed)
                        {
                            isAssignmentsCompleted = false;
                        }
                    }
                    if (!isAssignmentsCompleted)
                    {
                        exceptionMessage = PageCulture.Resources.CommentedFilesAssignmnetsNotCompleted;

                        throw new SafeToDisplayException(exceptionMessage);
                    }
                }
            }
            catch (Exception ex)
            {
                this.contentPanel.Visible = false;
                this.errorBanner.Clear();
                this.errorBanner.AddError(ErrorType.Error, ex.Message);
            }
        }
        /// <summary>
        ///  Over rides OnPreRender.
        /// </summary>
        /// <param name="e">An EventArgs that contains the event data.</param>
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (!Page.IsPostBack)
            {
                try
                {
                    this.SetResourceText();


                    if (
                            (SlkStore.IsInstructor(SPWeb) && (Status == LearnerAssignmentState.Completed || Status == LearnerAssignmentState.Final))
                            || SlkStore.IsLearner(SPWeb) ||
                            (SlkStore.IsObserver(SPWeb) && Status == LearnerAssignmentState.Final)
                        )
                    {
                        BuildPageContent();
                    }
                    else
                    {
                        string exceptionMessage;

                        if (SlkStore.IsInstructor(SPWeb))
                        {
                            exceptionMessage = PageCulture.Resources.SubmittedFilesTeacherNoAccessException;
                        }
                        else
                        {
                            exceptionMessage = PageCulture.Resources.SubmittedFilesLearnerNoAccessException;
                        }

                        throw new SafeToDisplayException(exceptionMessage);
                    }
                }
                catch (Exception ex)
                {
                    this.contentPanel.Visible = false;
                    this.errorBanner.Clear();
                    this.errorBanner.AddException(SlkStore, ex);
                }
            }
        }
        bool Show()
        {
            if (showEvaluated == false)
            {
                if (AlwaysShow)
                {
                    show = true;
                }
                else
                {
                    SPWeb    web   = SPContext.Current.Web;
                    SlkStore store = SlkStore.GetStore(web);
                    show = store.IsInstructor(web);
                }

                showEvaluated = true;
            }

            return(show);
        }
        void LoadAssignmentProperties()
        {
            if (SlkStore.IsInstructor(SPWeb))
            {
                this.assignmentProperties = SlkStore.LoadAssignmentPropertiesForLearner(LearnerAssignmentGuid, SlkRole.Instructor);
            }
            else if (SlkStore.IsLearner(SPWeb))
            {
                this.assignmentProperties = SlkStore.LoadAssignmentPropertiesForLearner(LearnerAssignmentGuid, SlkRole.Learner);
            }
            else if (SlkStore.IsObserver(SPWeb))
            {
               this.assignmentProperties = SlkStore.LoadAssignmentPropertiesForLearner(LearnerAssignmentGuid, SlkRole.Learner);
            }
            else
            {
                this.assignmentProperties = SlkStore.LoadAssignmentPropertiesForLearner(LearnerAssignmentGuid, SlkRole.None);
            }

            learnerAssignmentProperties = assignmentProperties.Results[0];
        }