Exemple #1
0
        private void LoadCourseDetail()
        {
            var courseId = CourseId;

            using (var helper = new DbHelper.Subject())
            {
                lnkAddSection1.NavigateUrl = "~/Views/Course/Section/CreateSection.aspx?SubId=" + courseId;
                var course = helper.Find(courseId);
                //lblTitle.Text = course.Name;
                //lblSummary.Text = course.Summary;
                if (course != null)
                {
                    var sections = course.SubjectSections;
                    if (sections != null)
                    {
                        var user      = Page.User as CustomPrincipal;
                        var elligible = false;
                        if (user != null)
                        {
                            using (var chelper = new DbHelper.Classes())
                            {
                                var roles = user.GetRoles();
                                //Context.UserClass.Any(x=>x.subje)
                                // var roles = user.GetRoles().Select(x => x.Role.RoleName).ToList();
                                if (roles.Contains(DbHelper.StaticValues.Roles.CourseEditor.ToString()) ||
                                    roles.Contains(DbHelper.StaticValues.Roles.Manager.ToString()) ||
                                    roles.Contains(DbHelper.StaticValues.Roles.Admin) ||
                                    roles.Contains("teacher"))
                                {
                                    elligible = true;
                                }
                                //else
                                //{
                                //    //teacher
                                //    elligible = (chelper.IsUserElligibleToViewSubjectSection(SubjectId, UserId));
                                //}

                                var unVoidedSections = sections.Where(x => !(x.Void ?? false)).OrderBy(x => x.Position);

                                using (var ahelper = new DbHelper.ActAndRes())
                                    foreach (var subjectSection in unVoidedSections)
                                    {
                                        var canView = elligible;
                                        if (!canView)
                                        {
                                            canView = ahelper.EvaluateRestriction(null, subjectSection.Restriction, user.Id);
                                        }
                                        if (canView) //
                                        {
                                            SectionUc sectionuc =
                                                (SectionUc)Page.LoadControl("~/Views/Course/Section/SectionUc.ascx");
                                            sectionuc.AddActResClicked += sectionuc_AddActResClicked;

                                            //sectionuc.EditEnabled = EditEnabled;
                                            //sectionuc.SummaryVisible = subjectSection.ShowSummary ?? false;
                                            //sectionuc.SubjectId = subjectSection.SubjectId;
                                            //sectionuc.SectionId = subjectSection.Id;
                                            //sectionuc.SectionName = subjectSection.Name;

                                            sectionuc.SetData(EditEnabled, subjectSection.ShowSummary ?? false
                                                              , subjectSection.SubjectId, subjectSection.Id
                                                              , subjectSection.Name, UserId, elligible);

                                            var sectionlbl = new Literal()
                                            {
                                                Text = "<a  name='section_" + subjectSection.Id + "'></a>"
                                            };
                                            pnlSections.Controls.Add(sectionlbl);
                                            pnlSections.Controls.Add(sectionuc);
                                        }
                                    }
                            }
                        }
                    }
                }
            }
            //CreateSectionUc uc = (CreateSectionUc)Page.LoadControl("~/Views/Course/Section/CreateSectionUc.ascx");

            //uc.ID = "createSection";
            //uc.Visible = false;
            //uc.SubjectId = CourseId;
            //uc.OnSaveEvent += uc_OnSaveEvent;
            //pnlSections.Controls.Add(uc);
        }
Exemple #2
0
        public void LoadCourses()
        {
            var date  = DateTime.Now;
            var count = 0;

            using (var aHelper = new DbHelper.ActAndRes())
                using (var helper = new DbHelper.Subject())
                    using (var clsHelper = new DbHelper.Classes())
                    {
                        try
                        {
                            //aHelper.ListActivitiesAndResourcesOfSection()
                            var fromDashboard = FromDashboard;

                            var user = Page.User as CustomPrincipal;
                            if (user != null)
                            {
                                //var subjects = helper.GetCurrentRegularSubjectsOfUser(user.Id);
                                //var subjectsArray = helper.ListCurrentAndEarlierCoursesOfUser(user.Id);
                                List <Academic.DbEntities.Subjects.Subject> subjectsArray;
                                bool earlier = false;
                                if (hidLoadType.Value == "earlier")
                                {
                                    earlier = true;
                                    var subArray = helper.GetEarlierAndCurrentCourseAndClassesForManagerAndTeacherV3(user.Id,
                                                                                                                     false);
                                    subjectsArray = subArray[1];//.Keys.ToList();

                                    //subjectsArray = helper.ListEarlierSubjectClasses(user.Id)
                                    //    .Select(x => (x.IsRegular) ? x.SubjectStructure.Subject : x.Subject).ToList();
                                }
                                else
                                {
                                    var subArray = helper.GetEarlierAndCurrentCourseAndClassesForManagerAndTeacherV3(user.Id,
                                                                                                                     true);
                                    subjectsArray = subArray[0];//.Keys.ToList();
                                    //subjectsArray = helper.ListCurrentSubjectClasses(user.Id)
                                    //    .Select(x => (x.IsRegular) ? x.SubjectStructure.Subject : x.Subject).ToList();
                                }
                                //foreach (var c in subjects[loadType])
                                //foreach (var c in subjectsArray[loadType])
                                foreach (var c in subjectsArray.Distinct())
                                {
                                    //if (!lblHeading.Visible && fromDashboard)
                                    //{
                                    //    lblHeading.Visible = true;
                                    //}
                                    CourseUc uc =
                                        (CourseUc)Page.LoadControl("~/ViewsSite/DashBoard/Student/CourseOverView/CourseUc.ascx");
                                    var navigationUrl = "~/Views/Course/Section/?SubId="
                                                        + c.Id;

                                    uc.TitleNavigationTarget = navigationUrl;

                                    uc.Id    = c.FullName + "_" + c.Id;
                                    uc.Title = c.FullName;

                                    //classes calculation

                                    var userclasses = clsHelper.GetCurrentUserClassesOfUser(c.Id, user.Id);

                                    //var clsIds = classes.Select(x => x.SubjectClass.Id).ToList();

                                    var roles     = user.GetRoles();
                                    var elligible = false;
                                    //Context.UserClass.Any(x=>x.subje)
                                    // var roles = user.GetRoles().Select(x => x.Role.RoleName).ToList();

                                    //if ()
                                    {
                                        elligible = user.IsElligibleForManagement;

                                        //roles.Contains(DbHelper.StaticValues.Roles.CourseEditor.ToString())
                                        //                        || roles.Contains(DbHelper.StaticValues.Roles.Manager.ToString())
                                        //                        || roles.Contains(DbHelper.StaticValues.Roles.Admin.ToString())
                                        //                        || roles.Contains("teacher");
                                    }
                                    var enterSubject = false;

                                    //Messages
                                    //Restriction calculation is not done yet
                                    if (!earlier)
                                    {
                                        foreach (var sec in c.SubjectSections.AsEnumerable().Where(x => !(x.Void ?? false)))
                                        {
                                            var canView = elligible;
                                            if (!canView)
                                            {
                                                canView = aHelper.EvaluateRestriction(null, sec.Restriction, user.Id);
                                            }
                                            if (canView) //
                                            {
                                                foreach (var act in sec.ActivityResources.AsEnumerable()
                                                         .Where(x => x.ActivityOrResource && !(x.Void ?? false)))//only activity
                                                {
                                                    if (!elligible)
                                                    {
                                                        canView = aHelper.EvaluateRestriction(null, act.Restriction, user.Id);
                                                    }
                                                    if (canView) //
                                                    {
                                                        foreach (var ac in act.ActivityClasses)
                                                        {
                                                            //ac.ActivityResourceViews.Where(x=>x.)
                                                            var usrCls = userclasses.FirstOrDefault(x => x.SubjectClassId == ac.SubjectClassId);
                                                            if (usrCls != null)
                                                            {
                                                                //check for activity view
                                                                var viewed = ac.ActivityResourceViews.FirstOrDefault(a => a.UserClassId == usrCls.Id);
                                                                //!cls.ActivityResourceViews.ToList().Exists(x => x.UserClassId == classMatch.Id)
                                                                if (!(user.IsInRole("manager") || user.IsInRole("teacher")))
                                                                {
                                                                    if (viewed != null)
                                                                    {
                                                                        if ((date - viewed.ViewedDate).TotalDays < 1)
                                                                        {
                                                                            enterSubject = true;
                                                                            var cuc = (CourseMessageUC)
                                                                                      Page.LoadControl("~/ViewsSite/DashBoard/Student/CourseOverView/CourseMessageUC.ascx");
                                                                            var thisIcon = ActivityResourceValues.RetriveMethod(actOrRes: true, actResType: (byte)(act.ActivityResourceType));
                                                                            if (thisIcon != null)
                                                                            {
                                                                                cuc.ImageLink   = thisIcon.IconPath;
                                                                                cuc.Text        = @"You have new  """ + (thisIcon.Name) + @"""";
                                                                                cuc.NavigateUrl = navigationUrl + "#section_" + sec.Id;
                                                                                cuc.ToolTip     = act.Name;
                                                                                uc.AddMessages(cuc);
                                                                                //if (fromDashboard)
                                                                                //{
                                                                                //    if (!pnlCourseList.Visible)
                                                                                //    {
                                                                                //        pnlCourseList.Visible = true;
                                                                                //    }
                                                                                //}
                                                                            }
                                                                            break;
                                                                        }
                                                                    }
                                                                    else //(!ac.ActivityResourceViews.ToList().Exists(x => x.UserClassId == usrCls.Id))// && x.ActivityClassId == ac.Id)
                                                                    {
                                                                        //then don't display
                                                                        enterSubject = true;
                                                                        var cuc = (CourseMessageUC)
                                                                                  Page.LoadControl("~/ViewsSite/DashBoard/Student/CourseOverView/CourseMessageUC.ascx");
                                                                        //var thisType = Enum.GetNames(typeof(Enums.Activities))[act.ActivityResourceType-1];
                                                                        var thisIcon = ActivityResourceValues.RetriveMethod(actOrRes: true, actResType: (byte)(act.ActivityResourceType));
                                                                        if (thisIcon != null)
                                                                        {
                                                                            cuc.ImageLink = thisIcon.IconPath;
                                                                            cuc.Text      = "You have new \"" + (thisIcon.Name) + "\"";
                                                                            //cuc.NavigateUrl = thisIcon.ViewUrl
                                                                            //                    + "?SubId=" + c.Id +
                                                                            //                    "&arId=" + act.ActivityResourceId +
                                                                            //                    "&secId=" + sec.Id +
                                                                            //                    "&edit=0";
                                                                            cuc.NavigateUrl = navigationUrl + "#section_" + sec.Id;
                                                                            cuc.ToolTip     = act.Name;
                                                                            uc.AddMessages(cuc);
                                                                        }
                                                                        break;
                                                                    }
                                                                }



                                                                #region Submission

                                                                //var actres = ahelper.GetActivityResource(true
                                                                //    , (byte)(Enums.Activities.Assignment + 1), AssignmentId);
                                                                if (usrCls.Role.RoleName == "teacher" || usrCls.Role.RoleName == "manager")
                                                                {
                                                                    if (act.ActivityOrResource
                                                                        &&
                                                                        act.ActivityResourceType == (byte)(Enums.Activities.Assignment + 1) &&
                                                                        !(act.Void ?? false))
                                                                    {
                                                                        //then its assignment .. check for new submission
                                                                        var ass = aHelper.GetAssignment(act.ActivityResourceId);
                                                                        if (ass != null)
                                                                        {
                                                                            //its definitely assignment
                                                                            var users    = ass.Submissions.Count;      //.OrderByDescending(x => x.SubmittedDate).Select(x => x.UserClassId).ToList();
                                                                            var gradings = act.ActivityGradings.Count; //.Select(x=>x.UserClassId).ToList();
                                                                            //var anyUnGraded = act.ActivityGradings.Any(x =>
                                                                            //    !users.Contains(x.UserClassId));
                                                                            if (users > gradings)
                                                                            {
                                                                                enterSubject = true;
                                                                                var cuc = (CourseMessageUC)Page.LoadControl
                                                                                              ("~/ViewsSite/DashBoard/Student/CourseOverView/CourseMessageUC.ascx");
                                                                                var thisIcon = ActivityResourceValues.AssignmentActivity();
                                                                                //ActivityResourceValues.RetriveMethod(actOrRes: true, actResType: (byte)(act.ActivityResourceType));
                                                                                if (thisIcon != null)
                                                                                {
                                                                                    cuc.ImageLink   = "~/Content/Icons/ActivityResource/Assignment/document_submit_icon.png"; //thisIcon.IconPath;
                                                                                    cuc.Text        = "You have new Submission";                                              //+ (thisIcon.Name);
                                                                                    cuc.NavigateUrl = navigationUrl + "#section_" + sec.Id;
                                                                                    cuc.ToolTip     = act.Name;
                                                                                    uc.AddMessages(cuc);
                                                                                }
                                                                                break;
                                                                            }
                                                                        }
                                                                    }
                                                                }

                                                                #endregion
                                                            }
                                                        }
                                                    }
                                                }
                                            }

                                            //Messages list
                                        }
                                    }

                                    if (!fromDashboard)
                                    {
                                        this.pnlCourseList.Controls.Add(uc);
                                        count++;
                                    }
                                    else
                                    {
                                        if (enterSubject)
                                        {
                                            if (!lblHeading.Visible)
                                            {
                                                lblHeading.Visible = fromDashboard;
                                            }
                                            this.pnlCourseList.Controls.Add(uc);
                                            count++;
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception e) { }
                    }

            this.Visible = count != 0;
        }
Exemple #3
0
        //DbHelper.ActAndRes ahelper,
        private void PopulateClasses(CustomPrincipal user)
        {
            using (var ahelper = new DbHelper.ActAndRes())
            {
                var actres = ahelper.GetActivityResource(true, (byte)(Enums.Activities.Assignment + 1), AssignmentId);

                if (actres != null)
                {
                    ahelper.SetActivityResourceView(actres.Id, SubjectId, user.Id);
                    var submitButtonVisiblity = true;
                    var colorChange           = false;
                    //Color backColor = Color.White;
                    //Color foreColor = Color.Black;
                    var status  = "";
                    var grade   = "N/A";
                    var remarks = "";

                    var assignmentId = AssignmentId;

                    #region Restriction and all codes

                    var elligible = false;
                    var roles     = user.GetRoles();
                    if (roles.Contains(DbHelper.StaticValues.Roles.CourseEditor.ToString()) ||
                        roles.Contains(DbHelper.StaticValues.Roles.Manager.ToString()) ||
                        roles.Contains(DbHelper.StaticValues.Roles.Admin) ||
                        roles.Contains("teacher"))
                    {
                        elligible = true;
                    }

                    var canView = elligible;
                    if (!canView)
                    {
                        canView = ahelper.EvaluateRestriction(null, actres.Restriction, user.Id);
                    }
                    //else
                    //    submitButtonVisiblity = false;

                    if (canView)
                    {
                        #region Assignment Load

                        var date = DateTime.Now;
                        var ass  = ahelper.GetAssignment(assignmentId);
                        if (ass != null)
                        {
                            var timeRemaining = "N/A";
                            //actres will be used for restriction n class
                            lblName.Text        = ass.Name;
                            lblPageTitle.Text   = ass.Name;
                            lblDescription.Text = ass.Description;

                            #region Date and time Calculation

                            if (ass.SubmissionFrom != null)
                            {
                                if (ass.SubmissionFrom > date)
                                {
                                    var rem = (ass.SubmissionFrom.Value - date);
                                    timeRemaining = (rem.Days > 0 ? (rem.Days + " days ") : "")
                                                    + (rem.Hours > 0 ? (rem.Hours + " hours ") : "")
                                                    + (rem.Minutes > 0 ? (rem.Minutes + " minutes ") : "")
                                                    + " for submission start.";
                                    submitButtonVisiblity = false;
                                }
                            }

                            if (ass.DueDate != null)
                            {
                                lblDueDate.Text = ass.DueDate.Value.ToString("f");
                                if (ass.DueDate < date)
                                {
                                    var rem = (date - ass.DueDate.Value);
                                    timeRemaining = (rem.Days > 0 ? (rem.Days + " days ") : "")
                                                    + (rem.Hours > 0 ? (rem.Hours + " hours ") : "")
                                                    + (rem.Minutes > 0 ? (rem.Minutes + " minutes ") : "")
                                                    + " elapsed since due date.";
                                    //timeRemaining = "Due date finished on " + ass.DueDate.Value.ToString("f");
                                    colorChange = true;
                                    //backColor = Color.DeepPink;
                                    //foreColor = Color.White;
                                }
                                else
                                {
                                    var rem = (ass.DueDate.Value - date);
                                    timeRemaining = (rem.Days > 0 ? (rem.Days + " days ") : "")
                                                    + (rem.Hours > 0 ? (rem.Hours + " hours ") : "")
                                                    + (rem.Minutes > 0 ? (rem.Minutes + " minutes ") : "")
                                                    + " for submission end.";
                                }
                            }
                            else
                            {
                                lblDueDate.Text = "N/A";
                            }
                            if (ass.CutOffDate != null && ass.CutOffDate < date)
                            {
                                timeRemaining         = "Sumission period end.";
                                submitButtonVisiblity = false;
                            }
                            lblTimeRemaining.Text = timeRemaining;


                            #endregion


                            #endregion

                            foreach (var c in actres.ActivityClasses)
                            {
                                var userclass = c.SubjectClass.ClassUsers.FirstOrDefault(y => y.UserId == user.Id);
                                if (userclass != null)
                                {
                                    #region Each class view initialize

                                    var subCls  = c.SubjectClass;
                                    var classUc = (ClassGradeDisplayUc)
                                                  Page.LoadControl("~/Views/ActivityResource/Grading/ClassGradeDisplayUc.ascx");
                                    classUc.SetData(subCls.IsRegular ? subCls.GetName : subCls.Name);
                                    if (subCls.SessionComplete ?? false)
                                    {
                                        classUc.Enable = false;
                                    }
                                    pnlGradeList.Controls.Add(classUc);
                                    // pnlGradeList.Controls.Add(new Literal() {Text = "<br />"});
                                    //pnlGradeList.Controls.Add(new Literal() {Text = "<br />"});

                                    #endregion

                                    if (userclass.Role.RoleName == "student")
                                    {
                                        #region submit view display

                                        classUc.ShowStudentListTableHeading = false;
                                        if (!(subCls.SessionComplete ?? false))
                                        {
                                            //disable the submit button
                                            var stdGradeUc = (StudentGradeDispalyUc)
                                                             Page.LoadControl(
                                                "~/Views/ActivityResource/Grading/StudentGradeDispalyUc.ascx");

                                            //stdGradeUc.RedirectUrl = "~/Views/ActivityResource/Grading/?actResId=" + actres.Id +
                                            //                                "&SubId=" + SubjectId +
                                            //                                "&secId=" + SectionId;

                                            stdGradeUc.RedirectUrl = "~/Views/ActivityResource/Assignments/SubmitAssignmentCreate.aspx?arId="
                                                                     + AssignmentId + "&SubId=" + SubjectId + "&secId=" +
                                                                     SectionId + "&ucId=" + userclass.Id;

                                            stdGradeUc.SubmitButtonVisible = ass.FileSubmission || ass.OnlineText;

                                            #region Submissions

                                            var subm = ass.Submissions.FirstOrDefault(x => x.UserClass.UserId == user.Id);
                                            var submissionEnabled = true;
                                            if (subm != null)
                                            {
                                                status = "Submitted on : "
                                                         +
                                                         ((subm.ModifiedDate == null)
                                                             ? subm.SubmittedDate.ToString("f")
                                                             : subm.ModifiedDate.Value.ToString("f"));
                                                stdGradeUc.SubmitButtonText = "Edit Submission";
                                                var obtgrade = actres.ActivityGradings.FirstOrDefault(
                                                    x => x.UserClassId == subm.UserClassId);
                                                if (obtgrade != null)
                                                {
                                                    if (obtgrade.ObtainedGradeId != null)
                                                    {
                                                        grade = obtgrade.ObtainedGrade.Value;
                                                    }
                                                    else
                                                    {
                                                        grade = (obtgrade.ObtainedGradeMarks ?? 0).ToString("F");
                                                    }
                                                    submissionEnabled = false;//since already graded
                                                    remarks           = obtgrade.Remarks;
                                                }
                                            }
                                            else
                                            {
                                                status = "Not submitted yet";
                                            }



                                            #endregion

                                            classUc.AddControlsOusideOfTable(stdGradeUc);
                                            stdGradeUc.SubmitButtonVisible = submitButtonVisiblity;
                                            if (colorChange)
                                            {
                                                stdGradeUc.SubmitDueIndicator = true;

                                                lblTimeRemaining.ForeColor = Color.Red;

                                                //lblTimeRemaining.ForeColor = foreColor;

                                                //stdGradeUc.SubmitButtonBackColor = backColor;
                                                //stdGradeUc.SubmitButtonForeColor = foreColor;
                                            }
                                            stdGradeUc.SetData(status, grade, remarks, submissionEnabled, ass.ShowGradeToStudents);
                                        }


                                        #endregion

                                        //ucStdRole.Add(userclass);
                                    }
                                    else if (userclass.Role.RoleName == "teacher" ||
                                             userclass.Role.RoleName == "manager")
                                    {
                                        //grade uc display for that class

                                        #region Grading view display , start of teacher role

                                        classUc.ShowStudentListTableHeading = true;
                                        var any = false;
                                        foreach (var clsUser in subCls.ClassUsers.Where(x => !(x.Void ?? false)))
                                        {
                                            //initialize each user uc
                                            if (clsUser.Role.RoleName == "student" && !(clsUser.Void ?? false))
                                            {
                                                var userUc = (UserGradeDisplayUc)
                                                             Page.LoadControl(
                                                    "~/Views/ActivityResource/Grading/UserGradeDisplayUc.ascx");
                                                userUc.SectionId = SectionId;
                                                userUc.SubjectId = SubjectId;
                                                userUc.SetData(clsUser, actres.Id, ass.Id, actres.ActivityResourceType);
                                                classUc.AddControls(userUc);
                                                any = true;
                                            }
                                        }

                                        if (!any)
                                        {
                                            classUc.AddControlsInsideTable(new Literal()
                                            {
                                                Text = "<tr>" +
                                                       "<td>" +
                                                       "No students found." +
                                                       "</td>" +
                                                       "</tr>"
                                            }, false);
                                        }

                                        #endregion of teacher role
                                    }
                                }
                            } //foreach end
                        }
                        else
                        {
                            Response.Redirect("~/");
                        }
                    }
                    else
                    {
                        Response.Redirect("~/");
                    }

                    #endregion
                }
                else
                {
                    Response.Redirect("~/");
                }
            }
        }