コード例 #1
0
 private void createAssignmentGradeIfMissing(string code, ref AssignmentGrade grade)
 {
     if (grade == null)
     {
         grade = new AssignmentGrade()
         {
             Code = code
         };
         //grade.Assignments.Add(grade);
     }
 }
コード例 #2
0
        public static void CreateAssignmentGrade(string grade, string comment, Assignment assignment)
        {
            Common.EnsureNotNull(grade, comment, assignment);
            if (!Common.ValidGrades.Contains(grade))
            {
                throw new InvalidGradeException();
            }
            Commands.InsertInto("AssignmentGrade", "NULL", assignment.ID.ToString(), grade, comment);
            AssignmentGrade assignmentGrade = AssignmentGrade.GetLatest(1).Single();

            Commands.SetValue("Assignment", assignment.ID, "GradeID", assignmentGrade.ID.ToString());
        }
コード例 #3
0
        public void AssignmentGradeNew_ValidParameters_ValuesMatch()
        {
            // Arrange
            var assignment = Assignment.New(Instances.AssignmentDescription, Instances.Student, Instances.Comment, Instances.Filepaths);

            // Act
            var assignmentGrade = AssignmentGrade.New(Instances.Grade, Instances.Comment, assignment);

            // Assert
            Assert.AreEqual(Instances.Grade, assignmentGrade.Grade);
            Assert.AreEqual(Instances.Comment, assignmentGrade.Comment);
            Assert.AreEqual(assignment.ID, assignmentGrade.Assignment.ID);
        }
コード例 #4
0
        public void RemoverRemoveAssignmentGrade_ValidParameters_AssignmentGradeRemoved()
        {
            // Arrange
            var assignment = Assignment.New(Instances.AssignmentDescription, Instances.Student, Instances.Comment,
                                            Instances.Filepaths);
            var assignmentGrade   = AssignmentGrade.New(Instances.Grade, Instances.Comment, assignment);
            var assignmentGradeid = assignmentGrade.ID;

            // Act
            assignmentGrade.Remove();

            // Assert
            try
            {
                AssignmentGrade.GetByID(assignmentGradeid);
                Assert.Fail();
            }
            catch (InvalidIDException) { }
        }
コード例 #5
0
        //private void updateGrade(string code, string value)
        private void updateGrade(string[] data)
        {
            //Console.WriteLine($"updateGrade: {code} - val: {value}");
            Console.WriteLine($"updateGrade: {data[0]} - val: {data[1]}");
            int val = 0;

            Int32.TryParse(data[1], out val);
            string code = data[0];

            AssignmentGrade ag = findAssignmentGradeByCode(code);

            if (ag != null && ag.Score != val)
            {
                ag.Score = val;

                dataLayer.SaveGradeData();
            }

            /*DataDTO<Assignment, Module, AssignmentGrade> data = new DataDTO<Assignment, Module, AssignmentGrade> { Data = assignment, Parent = item };
             *
             * router.navTo(Routings.AssignmentSummary, data);*/
        }
コード例 #6
0
        private void populateView()
        {
            List <Assignment> assignments = item.Assignments;

            view.ItemTitle       = item.Title;
            view.ItemYear        = item.Year.ToString();
            view.ItemCode        = item.Code;
            view.ItemDescription = item.Description;

            if (assignments != null && assignments.Count > 0)
            {
                string[][] data;

                data = assignments.Select(assignment => {
                    AssignmentGrade ag = grade.Assignments.Find(agItem => agItem.Code == assignment.Code);

                    return(new string[] { assignment.Title, assignment.Description, assignment.Code, ag.Score.ToString() });
                }).ToArray();

                view.SetChildItems(data);
            }
        }
コード例 #7
0
        public void RemoverRemoveAssignmentGrade_ValidParameters_AssignmentGradeRemoved()
        {
            // Arrange
            Creator.CreateCourse(Instances.Name, Instances.Description);
            Course course = Course.GetByID(1);

            Creator.CreateAssignmentDescription(course, Instances.Description, Instances.Date, Instances.Filepaths);
            Creator.CreateStudent(Instances.Name, Instances.Username, Instances.Password);
            AssignmentDescription assignmentDescription = AssignmentDescription.GetByID(1);
            Student student = Person.GetByID(2) as Student;

            Creator.CreateAssignment(assignmentDescription, student, Instances.Comment, Instances.Filepaths);
            Assignment assignment = Assignment.GetByID(1);

            Creator.CreateAssignmentGrade(Instances.Grade, Instances.Comment, assignment);
            AssignmentGrade assignmentGrade = AssignmentGrade.GetByID(1);

            // Act
            Remover.RemoveAssignmentGrade(assignmentGrade);

            // Assert
            Assert.AreEqual(null, assignment.Grade);
            Assert.AreEqual(0, AssignmentGrade.GetAll().Count);
        }
コード例 #8
0
        public void AssignmentFindAssignmentGrade()
        {
            Department comc                = this.school.FindDepartment("COMC");
            Course     comc2750            = new Course(100003, "2750", "UML Modeling and Iterative Process", 2, comc);
            Term       term2020spr         = school.FindTerm(2020, TermsEnum.Spr);
            Section    section2750_2020spr = new Section(100002, 24, comc2750, term2020spr);

            // Add Assignments
            new Assignment(10000001, "1A", "Worksheet, identify student grade info classes",
                           10, DateTime.Parse("1/23/2020"), AssignmentTypesEnum.E, section2750_2020spr);
            new Assignment(10000002, "1B", "UML domain model, library books",
                           10, DateTime.Parse("1/29/2020"), AssignmentTypesEnum.E, section2750_2020spr);
            new Assignment(10000003, "1C", "UML Student Info domain model w/associations",
                           10, DateTime.Parse("1/30/2020"), AssignmentTypesEnum.E, section2750_2020spr);
            new Assignment(10000004, "1D", "Modify 1B (Library system): add attributes & operations",
                           10, DateTime.Parse("2/1/2020"), AssignmentTypesEnum.E, section2750_2020spr);
            new Assignment(10000005, "Q1", "Quiz 1",
                           50, DateTime.Parse("2/2/2020"), AssignmentTypesEnum.Q, section2750_2020spr);

            // Add enrollments
            new Enrollment(10000001, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000011), section2750_2020spr);
            new Enrollment(10000002, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000013), section2750_2020spr);
            new Enrollment(10000003, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000015), section2750_2020spr);
            new Enrollment(10000004, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000017), section2750_2020spr);
            new Enrollment(10000005, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000019), section2750_2020spr);
            new Enrollment(10000006, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000021), section2750_2020spr);
            new Enrollment(10000007, GradeTypesEnum.AF, GradesEnum.Z, school.FindStudent(10000023), section2750_2020spr);

            // Add AssignmentGrades
            new AssignmentGrade(10000001, 10, DateTime.Parse("1/20/2019"),
                                section2750_2020spr.FindEnrollment(10000011), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000002, 9, DateTime.Parse("1/21/2019"),
                                section2750_2020spr.FindEnrollment(10000013), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000003, 8, DateTime.Parse("1/22/2019"),
                                section2750_2020spr.FindEnrollment(10000015), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000004, 7, DateTime.Parse("1/23/2019"),
                                section2750_2020spr.FindEnrollment(10000017), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000005, 10, DateTime.Parse("1/20/2019"),
                                section2750_2020spr.FindEnrollment(10000019), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000006, 9, DateTime.Parse("1/21/2019"),
                                section2750_2020spr.FindEnrollment(10000021), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000007, 8, DateTime.Parse("1/22/2019"),
                                section2750_2020spr.FindEnrollment(10000023), section2750_2020spr.FindAssignment("1A"));
            new AssignmentGrade(10000008, 10, DateTime.Parse("1/23/2019"),
                                section2750_2020spr.FindEnrollment(10000011), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000009, 9, DateTime.Parse("1/24/2019"),
                                section2750_2020spr.FindEnrollment(10000013), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000010, 8, DateTime.Parse("1/25/2019"),
                                section2750_2020spr.FindEnrollment(10000015), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000011, 7, DateTime.Parse("1/26/2019"),
                                section2750_2020spr.FindEnrollment(10000017), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000012, 8, DateTime.Parse("1/24/2019"),
                                section2750_2020spr.FindEnrollment(10000019), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000013, 9, DateTime.Parse("1/25/2019"),
                                section2750_2020spr.FindEnrollment(10000021), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000014, 10, DateTime.Parse("1/23/2019"),
                                section2750_2020spr.FindEnrollment(10000023), section2750_2020spr.FindAssignment("1B"));
            new AssignmentGrade(10000015, 9, DateTime.Parse("1/28/2019"),
                                section2750_2020spr.FindEnrollment(10000011), section2750_2020spr.FindAssignment("1C"));
            new AssignmentGrade(10000016, 8, DateTime.Parse("1/29/2019"),
                                section2750_2020spr.FindEnrollment(10000015), section2750_2020spr.FindAssignment("1C"));
            new AssignmentGrade(10000017, 7, DateTime.Parse("1/30/2019"),
                                section2750_2020spr.FindEnrollment(10000017), section2750_2020spr.FindAssignment("1C"));

            Assignment      a = section2750_2020spr.FindAssignment("1B");
            AssignmentGrade g = a.FindAssignmentGrade(10000013);

            Assert.AreEqual(10000009, g.Id);
        }
コード例 #9
0
ファイル: kurser.aspx.cs プロジェクト: fiskero94/DS308E16
        private void SetupCourseView(Course course)
        {
            string tabString = Request.QueryString["fane"];

            if (tabString == null)
            {
                Response.Redirect("/kurser.aspx?kursus=" + course.ID + "&fane=lektioner");
            }
            // Back Button
            HtmlGenericControl formGroup = new HtmlGenericControl("div");

            formGroup.Attributes["class"] = "form-group";
            Button backButton = new Button {
                Text = "Tilbage til kurser"
            };

            backButton.Attributes["class"] = "btn btn-default";
            backButton.Click += BackButton_Click;
            formGroup.Controls.Add(backButton);
            CoursePanel.Controls.Add(formGroup);
            // Header
            HtmlGenericControl jumbotron = new HtmlGenericControl("div");

            jumbotron.Attributes["class"] = "jumbotron col-sm-12";
            jumbotron.Controls.Add(new HtmlGenericControl("h2")
            {
                InnerText = course.Name
            });
            jumbotron.Controls.Add(new HtmlGenericControl("p")
            {
                InnerText = course.Description
            });
            CoursePanel.Controls.Add(jumbotron);
            // Tab Menu
            HtmlGenericControl tabMenu = new HtmlGenericControl("ul");

            tabMenu.Attributes["class"] = "nav nav-tabs";
            HtmlGenericControl lessonsTab = new HtmlGenericControl("li")
            {
                InnerHtml =
                    "<a href=\"/kurser.aspx?kursus=" + course.ID + "&fane=lektioner\">Lektioner</a>"
            };
            HtmlGenericControl assignmentDescriptionsTab = new HtmlGenericControl("li")
            {
                InnerHtml =
                    "<a href=\"/kurser.aspx?kursus=" + course.ID + "&fane=afleveringsbeskrivelser\">Afleveringsbeskrivelser</a>"
            };
            HtmlGenericControl documentsTab = new HtmlGenericControl("li")
            {
                InnerHtml =
                    "<a href=\"/kurser.aspx?kursus=" + course.ID + "&fane=dokumenter\">Dokumenter</a>"
            };
            HtmlGenericControl studentsTab = new HtmlGenericControl("li")
            {
                InnerHtml =
                    "<a href=\"/kurser.aspx?kursus=" + course.ID + "&fane=kursister\">Kursister</a>"
            };
            HtmlGenericControl teachersTab = new HtmlGenericControl("li")
            {
                InnerHtml =
                    "<a href=\"/kurser.aspx?kursus=" + course.ID + "&fane=laerer\">Lærer</a>"
            };

            switch (tabString)
            {
            case "lektioner": lessonsTab.Attributes["class"] = "active"; break;

            case "afleveringsbeskrivelser": assignmentDescriptionsTab.Attributes["class"] = "active"; break;

            case "dokumenter": documentsTab.Attributes["class"] = "active"; break;

            case "kursister": studentsTab.Attributes["class"] = "active"; break;

            case "laerer": teachersTab.Attributes["class"] = "active"; break;

            default: Response.Redirect("/kurser.aspx?kursus=" + course.ID + "&fane=lektioner"); break;
            }
            tabMenu.Controls.Add(lessonsTab);
            tabMenu.Controls.Add(assignmentDescriptionsTab);
            tabMenu.Controls.Add(documentsTab);
            tabMenu.Controls.Add(studentsTab);
            tabMenu.Controls.Add(teachersTab);
            CoursePanel.Controls.Add(tabMenu);
            // Tab Content Start
            HtmlGenericControl tabContent = new HtmlGenericControl("div");

            tabContent.Attributes["class"] = "tab-content";
            // Lessons Tab
            HtmlGenericControl lessonsTabContent = new HtmlGenericControl("div");

            lessonsTabContent.Attributes["class"] = tabString == "lektioner" ? "tab-pane active" : "tab-pane";
            Table lessonsTable = new Table {
                CssClass = "table table-striped table-hover table-bordered"
            };
            TableHeaderRow lessonsTableHeaderRow = new TableHeaderRow();

            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Lokaler"
            });
            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Dato"
            });
            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Online"
            });
            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Aflyst"
            });
            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Dokumenter"
            });
            lessonsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Beskrivelse"
            });
            lessonsTable.Rows.Add(lessonsTableHeaderRow);
            foreach (Lesson lesson in course.Lessons.OrderBy(o => o.DateTime))
            {
                TableRow lessonRow = new TableRow();
                if (lesson.Documents.Count > 0 || lesson.Description.Length > 0)
                {
                    lessonRow.Attributes["class"]       = "clickable";
                    lessonRow.Attributes["data-toggle"] = "collapse";
                    lessonRow.Attributes["data-target"] = "#lessonaccordion" + lesson.ID;
                }
                string[] roomNames = lesson.Rooms.Select(room => room.Name).ToArray();
                string   rooms     = "";
                Common.AppendStringArray(ref rooms, ", ", roomNames);
                lessonRow.Cells.Add(new TableCell {
                    Text = rooms
                });
                lessonRow.Cells.Add(new TableCell {
                    Text = lesson.DateTime.ToString()
                });
                lessonRow.Cells.Add(new TableCell {
                    Text = lesson.Online ? "Ja" : "Nej"
                });
                lessonRow.Cells.Add(new TableCell {
                    Text = lesson.Cancelled ? "Ja" : "Nej"
                });
                lessonRow.Cells.Add(new TableCell {
                    Text = lesson.Documents.Count > 0 ? "Ja" : "Nej"
                });
                lessonRow.Cells.Add(new TableCell {
                    Text = lesson.Description.Length > 0 ? "Ja" : "Nej"
                });
                lessonsTable.Rows.Add(lessonRow);
                if (lesson.Documents.Count > 0 || lesson.Description.Length > 0)
                {
                    TableRow  lessonDetailsRow  = new TableRow();
                    TableCell lessonDetailsCell = new TableCell {
                        ColumnSpan = 6
                    };
                    var accordion = new HtmlGenericControl("div");
                    accordion.Attributes["class"] = "collapse";
                    accordion.Attributes["id"]    = "lessonaccordion" + lesson.ID;
                    if (lesson.Description.Length > 0)
                    {
                        HtmlGenericControl descriptionHeader = new HtmlGenericControl("h4")
                        {
                            InnerText = "Beskrivelse"
                        };
                        accordion.Controls.Add(descriptionHeader);
                        HtmlGenericControl description = new HtmlGenericControl("p")
                        {
                            InnerText = lesson.Description
                        };
                        accordion.Controls.Add(description);
                    }
                    if (lesson.Documents.Count > 0)
                    {
                        HtmlGenericControl documentHeader = new HtmlGenericControl("h4")
                        {
                            InnerText = "Dokumenter"
                        };
                        accordion.Controls.Add(documentHeader);
                        HtmlGenericControl container = new HtmlGenericControl("div");
                        container.Attributes["class"] = "container";
                        Table lessonDocumentsTable = new Table {
                            CssClass = "table table-striped table-hover table-bordered"
                        };
                        TableHeaderRow lessonDocumentsTableHeaderRow = new TableHeaderRow();
                        lessonDocumentsTableHeaderRow.Cells.Add(new TableCell {
                            Text = "Dokument"
                        });
                        lessonDocumentsTableHeaderRow.Cells.Add(new TableCell {
                            Text = "Download"
                        });
                        lessonDocumentsTable.Rows.Add(lessonDocumentsTableHeaderRow);
                        foreach (string document in lesson.Documents)
                        {
                            TableRow documentRow = new TableRow();
                            documentRow.Cells.Add(new TableCell {
                                Text = Path.GetFileName(document)
                            });
                            TableCell downloadCell   = new TableCell();
                            Button    downloadButton = new Button {
                                Text = "Download"
                            };
                            downloadButton.Attributes["class"] = "btn btn-info";
                            downloadButton.Attributes["path"]  = document;
                            downloadButton.Click += DownloadButton_Click;
                            downloadCell.Controls.Add(downloadButton);
                            documentRow.Cells.Add(downloadCell);
                            lessonDocumentsTable.Rows.Add(documentRow);
                        }
                        container.Controls.Add(lessonDocumentsTable);
                        accordion.Controls.Add(container);
                    }
                    lessonDetailsCell.Controls.Add(accordion);
                    lessonDetailsRow.Cells.Add(lessonDetailsCell);
                    lessonsTable.Rows.Add(lessonDetailsRow);
                }
            }
            lessonsTabContent.Controls.Add(lessonsTable);
            tabContent.Controls.Add(lessonsTabContent);
            // Assignment Descriptions Tab
            HtmlGenericControl assignmentDescriptionsTabContent = new HtmlGenericControl("div");

            assignmentDescriptionsTabContent.Attributes["class"] = tabString == "afleveringsbeskrivelser" ? "tab-pane active" : "tab-pane";
            Table assignmentDescriptionsTable = new Table {
                CssClass = "table table-striped table-hover table-bordered"
            };
            TableHeaderRow assignmentDescriptionsTableHeaderRow = new TableHeaderRow();

            assignmentDescriptionsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Title"
            });
            assignmentDescriptionsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Deadline"
            });
            assignmentDescriptionsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Afleveret"
            });
            assignmentDescriptionsTable.Rows.Add(assignmentDescriptionsTableHeaderRow);
            foreach (AssignmentDescription assignmentDescription in course.AssignmentDescriptions.OrderBy(o => o.Deadline))
            {
                TableRow assignmentDescriptionRow = new TableRow();
                if (assignmentDescription.Documents.Count > 0 || assignmentDescription.Description.Length > 0)
                {
                    assignmentDescriptionRow.Attributes["class"]       = "clickable";
                    assignmentDescriptionRow.Attributes["data-toggle"] = "collapse";
                    assignmentDescriptionRow.Attributes["data-target"] = "#assignmentdescriptionaccordion" + assignmentDescription.ID;
                }
                assignmentDescriptionRow.Cells.Add(new TableCell {
                    Text = assignmentDescription.Title
                });
                assignmentDescriptionRow.Cells.Add(new TableCell {
                    Text = assignmentDescription.Deadline.ToString()
                });



                TableCell submittedCell = new TableCell();
                bool      hasSubmitted  = assignmentDescription.Assignments.Any(
                    assignment => assignment.Student.ID == ((Person)Session["user"]).ID);
                if (hasSubmitted)
                {
                    try
                    {
                        AssignmentGrade grade = assignmentDescription.Assignments
                                                .Single(a => a.Student.ID == ((Person)Session["user"]).ID).Grade;
                        submittedCell.Text += "Ja, " + grade.Grade;
                    }
                    catch (InvalidOperationException)
                    {
                        submittedCell.Text += "Ja, Ingen karakter";
                    }
                }
                else
                {
                    submittedCell.Text += "Nej";
                }
                assignmentDescriptionRow.Cells.Add(new TableCell {
                    Text = assignmentDescription.Assignments
                           .Any(assignment => assignment.Student.ID == ((Person)Session["user"]).ID) ? "Ja" : "Nej"
                });
                assignmentDescriptionsTable.Rows.Add(assignmentDescriptionRow);
                if (assignmentDescription.Documents.Count > 0 || assignmentDescription.Description.Length > 0)
                {
                    TableRow  assignmentDescriptionDetailsRow  = new TableRow();
                    TableCell assignmentDescriptionDetailsCell = new TableCell {
                        ColumnSpan = 6
                    };
                    var accordion = new HtmlGenericControl("div");
                    accordion.Attributes["class"] = "collapse";
                    accordion.Attributes["id"]    = "assignmentdescriptionaccordion" + assignmentDescription.ID;
                    if (assignmentDescription.Description.Length > 0)
                    {
                        HtmlGenericControl descriptionHeader = new HtmlGenericControl("h4")
                        {
                            InnerText = "Beskrivelse"
                        };
                        accordion.Controls.Add(descriptionHeader);
                        HtmlGenericControl description = new HtmlGenericControl("p")
                        {
                            InnerText = assignmentDescription.Description
                        };
                        accordion.Controls.Add(description);
                    }
                    if (assignmentDescription.Documents.Count > 0)
                    {
                        HtmlGenericControl documentHeader = new HtmlGenericControl("h4")
                        {
                            InnerText = "Dokumenter"
                        };
                        accordion.Controls.Add(documentHeader);
                        HtmlGenericControl container = new HtmlGenericControl("div");
                        container.Attributes["class"] = "container";
                        Table assignmentDescriptionDocumentsTable = new Table {
                            CssClass = "table table-striped table-hover table-bordered"
                        };
                        TableHeaderRow assignmentDescriptionDocumentsTableHeaderRow = new TableHeaderRow();
                        assignmentDescriptionDocumentsTableHeaderRow.Cells.Add(new TableCell {
                            Text = "Dokument"
                        });
                        assignmentDescriptionDocumentsTableHeaderRow.Cells.Add(new TableCell {
                            Text = "Download"
                        });
                        assignmentDescriptionDocumentsTable.Rows.Add(assignmentDescriptionDocumentsTableHeaderRow);
                        foreach (string document in assignmentDescription.Documents)
                        {
                            TableRow documentRow = new TableRow();
                            documentRow.Cells.Add(new TableCell {
                                Text = document
                            });
                            TableCell downloadCell   = new TableCell();
                            Button    downloadButton = new Button {
                                Text = "Download"
                            };
                            downloadButton.Attributes["class"] = "btn btn-info";
                            downloadButton.Attributes["path"]  = document;
                            downloadButton.Click += DownloadButton_Click;
                            downloadCell.Controls.Add(downloadButton);
                            documentRow.Cells.Add(downloadCell);
                            assignmentDescriptionDocumentsTable.Rows.Add(documentRow);
                        }
                        container.Controls.Add(assignmentDescriptionDocumentsTable);
                        accordion.Controls.Add(container);
                    }
                    assignmentDescriptionDetailsCell.Controls.Add(accordion);
                    assignmentDescriptionDetailsRow.Cells.Add(assignmentDescriptionDetailsCell);
                    assignmentDescriptionsTable.Rows.Add(assignmentDescriptionDetailsRow);
                }
            }
            assignmentDescriptionsTabContent.Controls.Add(assignmentDescriptionsTable);
            tabContent.Controls.Add(assignmentDescriptionsTabContent);
            // Documents Tab
            HtmlGenericControl documentsTabContent = new HtmlGenericControl("div");

            documentsTabContent.Attributes["class"] = tabString == "dokumenter" ? "tab-pane active" : "tab-pane";
            Table documentsTable = new Table {
                CssClass = "table table-striped table-hover table-bordered"
            };
            TableHeaderRow documentsTableHeaderRow = new TableHeaderRow();

            documentsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Dokument"
            });
            documentsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Download"
            });
            documentsTable.Rows.Add(documentsTableHeaderRow);
            foreach (string document in course.Documents.OrderBy(Path.GetFileName))
            {
                TableRow documentRow = new TableRow();
                documentRow.Cells.Add(new TableCell {
                    Text = document
                });
                TableCell downloadCell   = new TableCell();
                Button    downloadButton = new Button {
                    Text = "Download"
                };
                downloadButton.Attributes["class"] = "btn btn-info";
                downloadButton.Attributes["path"]  = document;
                downloadButton.Click += DownloadButton_Click;
                downloadCell.Controls.Add(downloadButton);
                documentRow.Cells.Add(downloadCell);
                documentsTable.Rows.Add(documentRow);
            }
            documentsTabContent.Controls.Add(documentsTable);
            tabContent.Controls.Add(documentsTabContent);
            // Students Tab
            HtmlGenericControl studentsTabContent = new HtmlGenericControl("div");

            studentsTabContent.Attributes["class"] = tabString == "kursister" ? "tab-pane active" : "tab-pane";
            Table studentsTable = new Table {
                CssClass = "table table-striped table-hover table-bordered"
            };
            TableHeaderRow studentsTableHeaderRow = new TableHeaderRow();

            studentsTableHeaderRow.Cells.Add(new TableCell {
                Text = "Navn"
            });
            studentsTable.Rows.Add(studentsTableHeaderRow);
            foreach (Student student in course.Students.OrderBy(o => o.Name))
            {
                TableRow studentRow = new TableRow();
                studentRow.Cells.Add(new TableCell {
                    Text = student.Name
                });
                studentsTable.Rows.Add(studentRow);
            }
            studentsTabContent.Controls.Add(studentsTable);
            tabContent.Controls.Add(studentsTabContent);
            // Teachers Tab
            HtmlGenericControl teachersTabContent = new HtmlGenericControl("div");

            teachersTabContent.Attributes["class"] = tabString == "laerer" ? "tab-pane active" : "tab-pane";
            Table teachersTable = new Table {
                CssClass = "table table-striped table-hover table-bordered"
            };
            TableHeaderRow teachersTableHeaderRow = new TableHeaderRow();

            teachersTableHeaderRow.Cells.Add(new TableCell {
                Text = "Navn"
            });
            teachersTable.Rows.Add(teachersTableHeaderRow);
            foreach (Teacher teacher in course.Teachers.OrderBy(o => o.Name))
            {
                TableRow teacherRow = new TableRow();
                teacherRow.Cells.Add(new TableCell {
                    Text = teacher.Name
                });
                teachersTable.Rows.Add(teacherRow);
            }
            teachersTabContent.Controls.Add(teachersTable);
            tabContent.Controls.Add(teachersTabContent);
            // Tab Content End
            CoursePanel.Controls.Add(tabContent);
        }
コード例 #10
0
ファイル: Remover.cs プロジェクト: fiskero94/DS308E16
 public static void RemoveAssignmentGrade(AssignmentGrade grade)
 {
     Commands.SetValue("Assignment", grade.Assignment.ID, "GradeID", "NULL");
     Commands.DeleteFrom("AssignmentGrade", "ID=" + grade.ID);
     grade = null;
 }
コード例 #11
0
ファイル: Program.cs プロジェクト: fiskero94/DS308E16
        private static void SetupPseudoData()
        {
            WriteSetupMessage("Populating tables");
            //News
            WriteSetupMessageIndent("Creating news");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Informant Stuff", "Vi startede med at få informanten til at fortælle om hvordan hendes hverdag var, herefter spurgte vi ind til til de områder der blev nævnt som vi følte var relevante for et nyt system. Gennem interviewet kom vi frem til at informanten primært bruger skemaet, tjek af fravær, og aflevering af opgaver. Informanten bruger skemaet til at tjekke lokale og f*g samt lektier. Derudover bruger informanten en funktion til at aflevere sine opgaver, hvor hun fortalte at det ville være hjælpsomt, hvis der kom en bekræftelse på at opgaverne er afleveret. Derudover fortalte hun, at systemet ikke skal logge af, således at den forbliver logget ind.");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Ændring af elev login.", "Der er sket en fejl i opretning af jeres elev logins, så jeres login virker ikke d. 3 Feb 2017, da jeres login skal opdateres.");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Der er ikke lektiecafé i matematik i dag torsdag d. 12/1-17 kl. 13.45-16.30.", "");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Administrationen i Aalborg afd.lukker kl. 13.30 fredag den 13.1.17", "");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Velkommen til vores afdeling i Aars!", "Her underviser vi både i HF enkeltfag, AVU (Almen voksenuddannelse), FVU(forberedende voksenuddannelse) og OBU(ordblindeundervisning).Vil du vide mere om vores uddannelser finder du dem på forsiden af hjemmesiden eller ved hjælp af den farvede bjælke herover for. Du kan ligeledes finder oplysninger om vores personale - dette finder du i menuen til venstre. Vi glæder os til at byde dig velkommen som kursist i vores flotte nye lokaler.");

            // Students
            WriteSetupMessageIndent("Creating students");
            var student01 = Student.New("Helle", "helle", "1234");
            var student02 = Student.New("Gunner Ebbesen", "gunnerebbesen", "1234");
            var student03 = Student.New("Kent Poulsen", "kentpoulsen", "1234");
            var student04 = Student.New("Bertel Greve", "bertelgreve", "1234");
            var student05 = Student.New("Esben Enevoldsen", "esbenenevoldsen", "1234");
            var student06 = Student.New("Olga Jansen", "olgajansen", "1234");
            var student07 = Student.New("Sanne Kruse", "sannekruse", "1234");
            var student08 = Student.New("Maybritt Erichsen", "maybritterichsen", "1234");
            var student09 = Student.New("Stine Haagensen", "stinehaagensen", "1234");
            var student10 = Student.New("Emilie Danielsen", "emiliedanielsen", "1234");
            var students  = Group(student01, student02, student03, student04, student05, student06, student07, student08, student09, student10);

            // Teachers
            WriteSetupMessageIndent("Creating teachers");
            var teacher01 = Teacher.New("Henry Hoj", "henryhoj", "1234");
            var teacher02 = Teacher.New("Steffen Johansen", "steffenjohansen", "1234");
            var teacher03 = Teacher.New("Palle Jacobsen", "pallejacobsen", "1234");
            var teacher04 = Teacher.New("Bendt Morch", "bendtmorch", "1234");
            var teacher05 = Teacher.New("Alex Larsen", "alexlarsen", "1234");
            var teacher06 = Teacher.New("Christa Hoj", "christahoj", "1234");
            var teacher07 = Teacher.New("Lykke Pallesen", "lykkepallesen", "1234");
            var teacher08 = Teacher.New("Hjordis Frandsen", "hjordisfrandsen", "1234");
            var teacher09 = Teacher.New("Lilli Rask", "lillirask", "1234");
            var teacher10 = Teacher.New("Hjordis Villumsen", "hjordisvillumsen", "1234");
            var teachers  = Group(teacher01, teacher02, teacher03, teacher04, teacher05, teacher06, teacher07, teacher08, teacher09, teacher10);

            // Rooms
            WriteSetupMessageIndent("Creating rooms");
            var room01 = Room.New("R301");
            var room02 = Room.New("R302");
            var room03 = Room.New("R303");
            var room04 = Room.New("R304");
            var room05 = Room.New("R305");
            var room06 = Room.New("A319");
            var room07 = Room.New("A320");
            var room08 = Room.New("A321");
            var room09 = Room.New("A322");
            var room10 = Room.New("A323");
            var rooms  = Group(room01, room02, room03, room04, room05, room06, room07, room08, room09, room10);

            // Messages
            WriteSetupMessageIndent("Creating messages");
            var message01 = Message.New(student01, "Hjælp til dansk", "Tekst", Group <Person>(student02), Group <string>());
            var message02 = Message.New(student01, "Angående aflevering", "Tekst", Group <Person>(student03, student04, teacher01, teacher02), Group <string>());
            var message03 = Message.New(student01, "Kemi spørgsmål", "Tekst", Group <Person>(student05, student06, teacher03, teacher04), Group <string>());
            var message04 = Message.New(student01, "Idrætsdag", "Tekst", Group <Person>(student07, student08, teacher05, teacher06), Group <string>());
            var message05 = Message.New(student01, "Nye åbningstider ved studievejleder", "Tekst", Group <Person>(student09, student10, teacher07, teacher08), Group <string>());
            var message06 = Message.New(student02, "Åbent hus", "Tekst", Group <Person>(student01, teacher09), Group <string>());
            var messages  = Group(message01, message02, message03, message04, message05, message06);

            //messages til billeder
            Student       student1   = Student.GetByID(2);
            List <Person> recipients = new List <Person>();

            recipients.Add(student1);
            Creator.CreateMessage(student1, "Angående matematik eksamen", "Hej alle kursister på tredje år.  <br/> Lokale til matematik eksamen er skiftet til 301a, tidspunkt er ikke ændret.  <br/> Mvh,  <br/> Studieordning på VUC", recipients, new List <string>());
            // Courses
            WriteSetupMessageIndent("Creating courses");
            var course01 = Course.New("Dansk A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course02 = Course.New("Matematik A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course03 = Course.New("Fysik A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course04 = Course.New("Kemi B", "I kemi B får du kendskab til kemiens centrale begreber og eksperimentelle arbejdsmetoder sammen med en forståelse for stoffers opbygning og kemiske reaktioner.");
            var course05 = Course.New("Engelsk A", "I engelsk A får du et solidt kendskab til det engelske sprogs mundtlige og skriftlige udtryksformer og lærer at begå dig sprogligt i en globaliseret verden.");
            var course06 = Course.New("Samfund B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course07 = Course.New("Historie B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course08 = Course.New("Idræt C", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course09 = Course.New("Geografi B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course10 = Course.New("Religion B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var courses  = Group(course01, course02, course03, course04, course05, course06, course07, course08, course09, course10);

            // Course Students
            WriteSetupMessageIndent("Adding students to courses");
            foreach (Course course in courses)
            {
                foreach (Student student in students)
                {
                    course.AddStudent(student);
                }
            }
            // Course Teachers
            WriteSetupMessageIndent("Adding teachers to courses");
            course01.AddTeacher(teacher01);
            course01.AddTeacher(teacher02);
            course02.AddTeacher(teacher02);
            course03.AddTeacher(teacher03);
            course04.AddTeacher(teacher04);
            course05.AddTeacher(teacher05);
            course06.AddTeacher(teacher06);
            course07.AddTeacher(teacher07);
            course08.AddTeacher(teacher08);
            course09.AddTeacher(teacher09);
            course09.AddTeacher(teacher10);
            course10.AddTeacher(teacher10);
            // Lessons
            GenerateLessons("05", "09", "2016", 40, courses, rooms);
            // CustomLesson
            Lesson customLesson = Lesson.GetByConditions("DateTime='2017-01-24 10:00:00'").Single();

            customLesson.Description = "Lav opgaverne i den vedhæftede fil";
            Commands.InsertInto("lessonfile", customLesson.ID.ToString(), "opgaver.pdf");


            //// AssignmentDescriptions --- KOMMENTERET UD TIL AT LAVE BILLEDER AF DESIGN
            //WriteSetupMessageIndent("Creating AssignmentDescriptions");
            //const string description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et nisl ipsum. Nunc nec eros vel dolor semper maximus. Suspendisse cursus in mi quis vehicula. Quisque elit risus, aliquet sit amet sem ut, facilisis eleifend libero. Donec ultricies nibh ut quam condimentum, non sollicitudin leo sed.";
            //var deadline = DateTime.Today;
            //var assignmentDescriptions = new List<AssignmentDescription>();
            //foreach (Course course in courses)
            //{
            //    assignmentDescriptions.Add(AssignmentDescription.New(course, "Title", description, deadline.AddDays(Rng.Next(-50, 50)), Group<string>()));
            //    assignmentDescriptions.Add(AssignmentDescription.New(course, "Title", description, deadline.AddDays(Rng.Next(-50, 50)), Group<string>()));
            //    assignmentDescriptions.Add(AssignmentDescription.New(course, "Title", description, deadline.AddDays(Rng.Next(-50, 50)), Group<string>()));
            //    assignmentDescriptions.Add(AssignmentDescription.New(course, "Title", description, deadline.AddDays(Rng.Next(-50, 50)), Group<string>()));
            //    assignmentDescriptions.Add(AssignmentDescription.New(course, "Title", description, deadline.AddDays(Rng.Next(-50, 50)), Group<string>()));
            //}
            //// Assignments
            //WriteSetupMessageIndent("Creating Assignments");
            //var assignments = new List<Assignment>();
            //foreach (AssignmentDescription assignmentDescription in assignmentDescriptions)
            //{
            //    List<Student> choices = new List<Student>(students);
            //    choices.RemoveAt(Rng.Next(0, choices.Count - 1));
            //    assignments.AddRange(choices.Select(student =>
            //        Assignment.New(assignmentDescription, student, "Lorem ipsum dolor sit amet, consectetur cras amet.", Group<string>())));
            //}
            //// AssignmentGrades
            //WriteSetupMessageIndent("Creating AssignmentGrades");
            //foreach (Assignment assignment in assignments)
            //    assignment.Grade = AssignmentGrade.New(TakeRandom(Common.ValidGrades.ToList()), "Vi gennemgår resultaterne af disse afleveringer i klassen", assignment);


            Creator.CreateAssignmentDescription(course01, "Dansk A, analyse af selvvalgt novelle", "Lav en analyse af en novelle, som følger analyse-kravene i kapitel 7", (DateTime.Now - TimeSpan.FromDays(5)), Group <string>());
            Creator.CreateAssignmentDescription(course02, "Matematik A, test af eksamenssæt", "Fuldfør til egen evne eksamenssættet fra sidste år", (DateTime.Now - TimeSpan.FromDays(1)), Group <string>());
            AssignmentDescription assignmentDescription1 = AssignmentDescription.GetLatest();
            List <string>         aflevering             = new List <string>();

            aflevering.Add("eksamenssæt.txt");
            Creator.CreateAssignment(assignmentDescription1, student1, "Vi gennemgår resultaterne af disse afleveringer i klassen", aflevering);
            Assignment.GetLatest().Grade = AssignmentGrade.New("10", "Vi gennemgår resultaterne af disse afleveringer i klassen", Assignment.GetLatest());
            Creator.CreateAssignmentDescription(course03, "Fysik A, tyngdekraft", "Lav en analyse af de forsøg vi foretog af tyngdekraften", DateTime.Now.AddDays(5), Group <string>());

            // CourseGrades
            WriteSetupMessageIndent("Creating CourseGrades");
            foreach (Course course in courses)
            {
                foreach (Student student in students)
                {
                    CourseGrade.New(course, student, TakeRandom(Common.ValidGrades.ToList()), "");
                }
            }
            List <CourseGrade> cg = CourseGrade.GetByConditions("StudentID=" + student01.ID);

            cg[0].Grade   = "10";
            cg[0].Comment = "Godt gået, deltag lidt mere i timerne for at få 12.";
            cg[1].Grade   = "02";
            cg[1].Comment = "Det er for dårligt, deltag mere i timerne og lav dine afleveringer.";
            cg[2].Grade   = "7";
            cg[2].Comment = "Du klarer dig fint, jeg ved du kan gøre det bedre.";
            cg[3].Grade   = "4";
            cg[3].Comment = "Deltag i undervisning og aflever dine afleveringer.";
            cg[4].Grade   = "02";
            cg[4].Comment = "Ved du kan gøre det bedre.";
            cg[5].Grade   = "-3";
            cg[5].Comment = "Tag dig sammen, og deltag i undervisningen.";
            cg[6].Grade   = "7";
            cg[6].Comment = "Du klarer dig godt, brug lidt mere tid på dine afleveringer.";
            cg[7].Grade   = "12";
            cg[7].Comment = "Du deltager aktivt i undervisning. Godt at se!";
            cg[8].Grade   = "12";
            cg[8].Comment = "Godt klaret, godt at se.";
            cg[9].Grade   = "00";
            cg[9].Comment = "Du skal begynde at deltage i undervisningen.";
        }
コード例 #12
0
        private void DrawAssignmentDescriptionsTable()
        {
            Student student = (Student)Session["user"];
            List <AssignmentDescription> assignmentDescriptions = new List <AssignmentDescription>();

            foreach (Course course in student.Courses)
            {
                assignmentDescriptions.AddRange(course.AssignmentDescriptions);
            }
            assignmentDescriptions.Sort((a, b) => b.Deadline.CompareTo(a.Deadline));
            foreach (AssignmentDescription assignmentDescription in assignmentDescriptions)
            {
                // MainRow
                TableRow row = new TableRow();
                if (assignmentDescription.Documents.Count > 0 || assignmentDescription.Description.Length > 0)
                {
                    row.Cells.Add(WebHelper.CreateAccordionToggleCell("#accordion" + assignmentDescription.ID,
                                                                      assignmentDescription.Title));
                    row.Cells.Add(WebHelper.CreateAccordionToggleCell("#accordion" + assignmentDescription.ID,
                                                                      assignmentDescription.Deadline.ToString()));
                }
                else
                {
                    row.Cells.Add(new TableCell {
                        Text = assignmentDescription.Title
                    });
                    row.Cells.Add(new TableCell {
                        Text = assignmentDescription.Deadline.ToString()
                    });
                }
                TableCell submitCell = new TableCell();
                if (assignmentDescription.Assignments.Any(assignment => assignment.Student.ID == student.ID))
                {
                    // Assignment already submitted
                    LinkButton submittedButton = WebHelper.CreateLinkButtonWithIcon("btn btn-success disabled", "fa-check-square", "Afleveret");
                    submittedButton.Attributes["style"] = "display: inline-block;";
                    submitCell.Controls.Add(submittedButton);
                    List <string> documents = assignmentDescription.Assignments
                                              .Single(assignment => assignment.Student.ID == student.ID).Documents;
                    if (documents.Count == 0)
                    {
                        LinkButton noDocumentsButton = WebHelper.CreateLinkButtonWithIcon("btn btn-default disabled", "fa-info-circle",
                                                                                          "Ingen dokumenter");
                        noDocumentsButton.Attributes["style"] = "display: inline-block;";
                        submitCell.Controls.Add(noDocumentsButton);
                    }
                    foreach (string document in documents)
                    {
                        LinkButton downloadButton = WebHelper.CreateDownloadButton(document, DownloadButton_Click);
                        downloadButton.Attributes["style"] = "display: inline-block;";
                        submitCell.Controls.Add(downloadButton);
                    }
                }
                else if (assignmentDescription.Deadline < DateTime.Now)
                {
                    // Assignment deadline passed
                    LinkButton expiredButton = WebHelper.CreateLinkButtonWithIcon("btn btn-danger disabled", "fa-exclamation-triangle", "Udløbet");
                    submitCell.Controls.Add(expiredButton);
                }
                else
                {
                    // Student is yet to submit assignment
                    HyperLink submitButton = new HyperLink {
                        NavigateUrl = "/afleveringer.aspx?aflever=" + assignmentDescription.ID
                    };
                    submitButton.Controls.Add(WebHelper.CreateIconControl("fa-upload"));
                    submitButton.Controls.Add(WebHelper.CreateTextControl(" Aflever"));
                    submitButton.Attributes["class"] = "btn btn-primary";
                    submitCell.Controls.Add(submitButton);
                }
                row.Cells.Add(submitCell);
                try
                {
                    Assignment assignment = assignmentDescription.Assignments.Single(a => a.Student.ID == ((Student)Session["user"]).ID);
                    TableCell  gradeCell  = new TableCell {
                        Text = AssignmentGrade.GetByConditions("AssignmentID=" + assignment.ID).Single().Grade
                    };
                    if (assignmentDescription.Documents.Count > 0 || assignmentDescription.Description.Length > 0)
                    {
                        gradeCell.Attributes["class"]       = "clickable";
                        gradeCell.Attributes["data-toggle"] = "collapse";
                        gradeCell.Attributes["data-target"] = "#accordion" + assignmentDescription.ID;
                    }
                    row.Cells.Add(gradeCell);
                }
                catch (InvalidOperationException)
                {
                    TableCell emptyCell = new TableCell {
                        Text = "Ingen"
                    };
                    if (assignmentDescription.Documents.Count > 0 || assignmentDescription.Description.Length > 0)
                    {
                        emptyCell.Attributes["class"]       = "clickable";
                        emptyCell.Attributes["data-toggle"] = "collapse";
                        emptyCell.Attributes["data-target"] = "#accordion" + assignmentDescription.ID;
                    }
                    row.Cells.Add(emptyCell);
                }
                AssignmentDescriptionsTable.Rows.Add(row);
                if (assignmentDescription.Documents.Count == 0 && assignmentDescription.Description.Length == 0)
                {
                    continue;
                }
                // DetailsRow
                TableRow  assignmentDescriptionDetailsRow  = new TableRow();
                TableCell assignmentDescriptionDetailsCell = new TableCell {
                    ColumnSpan = 4
                };
                var accordion = new HtmlGenericControl("div");
                accordion.Attributes["class"] = "collapse";
                accordion.Attributes["id"]    = "accordion" + assignmentDescription.ID;
                if (assignmentDescription.Description.Length > 0)
                {
                    HtmlGenericControl descriptionHeader = new HtmlGenericControl("h4")
                    {
                        InnerText = "Beskrivelse"
                    };
                    accordion.Controls.Add(descriptionHeader);
                    HtmlGenericControl description = new HtmlGenericControl("p")
                    {
                        InnerText = assignmentDescription.Description
                    };
                    accordion.Controls.Add(description);
                }
                if (assignmentDescription.Documents.Count > 0)
                {
                    accordion.Controls.Add(new HtmlGenericControl("br"));
                    HtmlGenericControl documentHeader = new HtmlGenericControl("h4")
                    {
                        InnerText = "Dokumenter"
                    };
                    accordion.Controls.Add(documentHeader);
                    HtmlGenericControl container = new HtmlGenericControl("div");
                    container.Attributes["class"] = "container";
                    Table assignmentDescriptionDocumentsTable = new Table {
                        CssClass = "table table-striped table-hover table-bordered"
                    };
                    TableHeaderRow assignmentDescriptionDocumentsTableHeaderRow = new TableHeaderRow();
                    assignmentDescriptionDocumentsTableHeaderRow.Cells.Add(new TableCell {
                        Text = "Dokumenter"
                    });
                    assignmentDescriptionDocumentsTable.Rows.Add(assignmentDescriptionDocumentsTableHeaderRow);
                    TableRow  documentsRow  = new TableRow();
                    TableCell documentsCell = new TableCell();
                    foreach (string document in assignmentDescription.Documents)
                    {
                        documentsCell.Controls.Add(WebHelper.CreateDownloadButton(document, DownloadButton_Click));
                    }
                    documentsRow.Cells.Add(documentsCell);
                    assignmentDescriptionDocumentsTable.Rows.Add(documentsRow);
                    container.Controls.Add(assignmentDescriptionDocumentsTable);
                    accordion.Controls.Add(container);
                }
                assignmentDescriptionDetailsCell.Controls.Add(accordion);
                assignmentDescriptionDetailsRow.Cells.Add(assignmentDescriptionDetailsCell);
                AssignmentDescriptionsTable.Rows.Add(assignmentDescriptionDetailsRow);
            }
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: fiskero94/DS308E16
        private static void SetupPseudoData()
        {
            WriteSetupMessage("Populating tables");
            //News
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Informant Stuff", "Vi startede med at få informanten til at fortælle om hvordan hendes hverdag var, herefter spurgte vi ind til til de områder der blev nævnt som vi følte var relevante for et nyt system. Gennem interviewet kom vi frem til at informanten primært bruger skemaet, tjek af fravær, og aflevering af opgaver. Informanten bruger skemaet til at tjekke lokale og f*g samt lektier. Derudover bruger informanten en funktion til at aflevere sine opgaver, hvor hun fortalte at det ville være hjælpsomt, hvis der kom en bekræftelse på at opgaverne er afleveret. Derudover fortalte hun, at systemet ikke skal logge af, således at den forbliver logget ind.");
            Creator.CreateNews(Person.GetByID(1) as Secretary, "Taking Austria", "German-Austria must return to the great German mo- \r\ntherland, and not because of economic considerations of \r\nany sort. No, no: even if from the economic point of view \r\nthis union were unimportant, indeed, if it were harmful, it \r\nought nevertheless to be brought about. Common blood be- \r\nlongs in a common Reich. As long as the German nation is \r\nunable even to band together its own children in one com- \r\nmon State, it has no moral right to think of colonization as \r\none of its political aims. Only when the boundaries of the \r\nReich include even the last German, only when it is no \r\nlonger possible to assure him of daily bread inside them, \r\ndoes there arise, out of the distress of the nation, the moral \r\nright to acquire foreign soil and territory. The sword is \r\nthen the plow, and from the tears of war there grows the \r\ndaily bread for generations to come. Therefore, this little \r\ntown on the border appears to me the symbol of a great \r\ntask. But in another respect also it looms up as a warning \r\nto our present time. More than a hundred years ago, this \r\ninsignificant little place had the privilege of gaining an \r\nimmortal place in German history at least by being the \r\nscene of a tragic misfortune that moved the entire nation.");

            // Students
            WriteSetupMessageIndent("Creating students");
            var student01 = Student.New("Iver Clausen", "iverclausen", "1234");
            var student02 = Student.New("Gunner Ebbesen", "gunnerebbesen", "1234");
            var student03 = Student.New("Kent Poulsen", "kentpoulsen", "1234");
            var student04 = Student.New("Bertel Greve", "bertelgreve", "1234");
            var student05 = Student.New("Esben Enevoldsen", "esbenenevoldsen", "1234");
            var student06 = Student.New("Olga Jansen", "olgajansen", "1234");
            var student07 = Student.New("Sanne Kruse", "sannekruse", "1234");
            var student08 = Student.New("Maybritt Erichsen", "maybritterichsen", "1234");
            var student09 = Student.New("Stine Haagensen", "stinehaagensen", "1234");
            var student10 = Student.New("Emilie Danielsen", "emiliedanielsen", "1234");
            var students  = Group(student01, student02, student03, student04, student05, student06, student07, student08, student09, student10);

            // Teachers
            WriteSetupMessageIndent("Creating teachers");
            var teacher01 = Teacher.New("Henry Hoj", "henryhoj", "1234");
            var teacher02 = Teacher.New("Steffen Johansen", "steffenjohansen", "1234");
            var teacher03 = Teacher.New("Palle Jacobsen", "pallejacobsen", "1234");
            var teacher04 = Teacher.New("Bendt Morch", "bendtmorch", "1234");
            var teacher05 = Teacher.New("Alex Larsen", "alexlarsen", "1234");
            var teacher06 = Teacher.New("Christa Hoj", "christahoj", "1234");
            var teacher07 = Teacher.New("Lykke Pallesen", "lykkepallesen", "1234");
            var teacher08 = Teacher.New("Hjordis Frandsen", "hjordisfrandsen", "1234");
            var teacher09 = Teacher.New("Lilli Rask", "lillirask", "1234");
            var teacher10 = Teacher.New("Hjordis Villumsen", "hjordisvillumsen", "1234");
            var teachers  = Group(teacher01, teacher02, teacher03, teacher04, teacher05, teacher06, teacher07, teacher08, teacher09, teacher10);

            // Rooms
            WriteSetupMessageIndent("Creating rooms");
            var room01 = Room.New("R301");
            var room02 = Room.New("R302");
            var room03 = Room.New("R303");
            var room04 = Room.New("R304");
            var room05 = Room.New("R305");
            var room06 = Room.New("A319");
            var room07 = Room.New("A320");
            var room08 = Room.New("A321");
            var room09 = Room.New("A322");
            var room10 = Room.New("A323");
            var rooms  = Group(room01, room02, room03, room04, room05, room06, room07, room08, room09, room10);

            // Messages
            WriteSetupMessageIndent("Creating messages");
            var message01 = Message.New(student01, "Titel", "Tekst", Group <Person>(student02), Group <string>());
            var message02 = Message.New(student01, "Titel", "Tekst", Group <Person>(student03, student04, teacher01, teacher02), Group <string>());
            var message03 = Message.New(student01, "Titel", "Tekst", Group <Person>(student05, student06, teacher03, teacher04), Group <string>());
            var message04 = Message.New(student01, "Titel", "Tekst", Group <Person>(student07, student08, teacher05, teacher06), Group <string>());
            var message05 = Message.New(student01, "Titel", "Tekst", Group <Person>(student09, student10, teacher07, teacher08), Group <string>());
            var message06 = Message.New(student02, "Titel", "Tekst", Group <Person>(student01, teacher09), Group <string>());
            var message07 = Message.New(student03, "Titel", "Tekst", Group <Person>(student01, teacher10), Group <string>());
            var message08 = Message.New(teacher01, "Titel", "Tekst", Group <Person>(student01, teacher01), Group <string>());
            var message09 = Message.New(teacher02, "Titel", "Tekst", Group <Person>(student01, teacher02), Group <string>());
            var message10 = Message.New(teacher03, "Titel", "Tekst", Group <Person>(student01, teacher03), Group <string>());
            var messages  = Group(message01, message02, message03, message04, message05, message06, message07, message08, message09, message10);

            // Courses
            WriteSetupMessageIndent("Creating courses");
            var course01 = Course.New("Dansk A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course02 = Course.New("Matematik A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course03 = Course.New("Fysik A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course04 = Course.New("Kemi B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course05 = Course.New("Engelsk A", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course06 = Course.New("Samfund B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course07 = Course.New("Historie B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course08 = Course.New("Idræt C", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course09 = Course.New("Geografi B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var course10 = Course.New("Religion B", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque non ipsum nec libero tincidunt convallis quis nec turpis. Cras lobortis condimentum vestibulum. Integer felis lectus, imperdiet eu commodo vel, tristique accumsan elit. Aenean mattis metus nibh, quis vestibulum elit vulputate sed. Duis cursus suscipit velit, at egestas massa lacinia et. Phasellus elementum arcu lectus, et convallis massa dictum nec. Aliquam erat volutpat. Mauris congue nibh sapien, id facilisis nibh cras amet.");
            var courses  = Group <Course>(course01, course02, course03, course04, course05, course06, course07, course08, course09, course10);

            // Course Students
            WriteSetupMessageIndent("Adding students to courses");
            foreach (Course course in courses)
            {
                foreach (Student student in students)
                {
                    course.AddStudent(student);
                }
            }
            // Course Teachers
            WriteSetupMessageIndent("Adding teachers to courses");
            course01.AddTeacher(teacher01);
            course01.AddTeacher(teacher02);
            course02.AddTeacher(teacher02);
            course03.AddTeacher(teacher03);
            course04.AddTeacher(teacher04);
            course05.AddTeacher(teacher05);
            course06.AddTeacher(teacher06);
            course07.AddTeacher(teacher07);
            course08.AddTeacher(teacher08);
            course09.AddTeacher(teacher09);
            course09.AddTeacher(teacher10);
            course10.AddTeacher(teacher10);
            // Lessons
            GenerateLessons("05", "09", "2016", 40, courses, rooms);
            // AssignmentDescriptions
            WriteSetupMessageIndent("Creating AssignmentDescriptions");
            const string description            = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et nisl ipsum. Nunc nec eros vel dolor semper maximus. Suspendisse cursus in mi quis vehicula. Quisque elit risus, aliquet sit amet sem ut, facilisis eleifend libero. Donec ultricies nibh ut quam condimentum, non sollicitudin leo sed.";
            var          deadline               = DateTime.Today;
            var          assignmentDescriptions = new List <AssignmentDescription>();

            foreach (Course course in courses)
            {
                assignmentDescriptions.Add(AssignmentDescription.New(course, description, deadline.AddDays(rng.Next(-50, 50)), Group <string>()));
                assignmentDescriptions.Add(AssignmentDescription.New(course, description, deadline.AddDays(rng.Next(-50, 50)), Group <string>()));
                assignmentDescriptions.Add(AssignmentDescription.New(course, description, deadline.AddDays(rng.Next(-50, 50)), Group <string>()));
                assignmentDescriptions.Add(AssignmentDescription.New(course, description, deadline.AddDays(rng.Next(-50, 50)), Group <string>()));
                assignmentDescriptions.Add(AssignmentDescription.New(course, description, deadline.AddDays(rng.Next(-50, 50)), Group <string>()));
            }
            // Assignments
            WriteSetupMessageIndent("Creating Assignments");
            var assignments = new List <Assignment>();

            foreach (AssignmentDescription assignmentDescription in assignmentDescriptions)
            {
                List <Student> choices = new List <Student>(students);
                choices.RemoveAt(rng.Next(0, choices.Count - 1));
                assignments.AddRange(choices.Select(student =>
                                                    Assignment.New(assignmentDescription, student, "Lorem ipsum dolor sit amet, consectetur cras amet.", Group <string>())));
            }
            // AssignmentGrades
            WriteSetupMessageIndent("Creating AssignmentGrades");
            foreach (Assignment assignment in assignments)
            {
                assignment.Grade = AssignmentGrade.New(TakeRandom(Common.ValidGrades.ToList()), "Lorem ipsum dolor sit amet.", assignment);
            }

            // CourseGrades
            WriteSetupMessageIndent("Creating CourseGrades");
            foreach (Course course in courses)
            {
                foreach (Student student in students)
                {
                    CourseGrade.New(course, student, TakeRandom(Common.ValidGrades.ToList()), "Lorem ipsum dolor sit amet.");
                }
            }
        }