Exemplo n.º 1
0
        private void UpdateSemesterDisciplineMarks(DisciplineWithMark dwm)
        {
            var marks = mRepo.studentDisciplineSemesterAll(currentStudentId, dwm.id);

            marks = Utilities.ConstrainMarksToOneAttestation(marks, dwm);

            var teachers = tRepo.all().ToDictionary(t => t.id, t => t);

            var markTypes       = mtypeRepo.all();
            var markTypeOptions = mtoRepo.all();

            SetMarkTypeAndAttestationType(dwm);

            MarksGridView.DataSource = MarkView
                                       .FromMarkList(marks, markTypes, markTypeOptions, teachers, mtRepo)
                                       .OrderBy(mv => mv.attempt)
                                       .ToList();

            FormatMarksGrid();
        }
Exemplo n.º 2
0
        private void SetMarkTypeAndAttestationType(DisciplineWithMark dwm)
        {
            var markTypes = mtypeRepo.all().ToDictionary(mt => mt.name, mt => mt);

            if (dwm.zachet)
            {
                AttestationType.Text = "Зачёт"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Зачёт"]].id;
            }
            if (dwm.exam)
            {
                AttestationType.Text = "Экзамен"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Экзамен"]].id;
            }
            if (dwm.zachet_with_mark)
            {
                AttestationType.Text = "Зачёт с оценкой"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Зачёт с оценкой"]].id;
            }
            if (dwm.course_project)
            {
                AttestationType.Text = "Курсовой проект"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Курсовой проект"]].id;
            }
            if (dwm.course_task)
            {
                AttestationType.Text = "Курсовая работа"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Курсовая работа"]].id;
            }
            if (dwm.control_task)
            {
                AttestationType.Text = "Контрольная работа"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Контрольная работа"]].id;
            }
            if (dwm.referat)
            {
                AttestationType.Text = "Реферат"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Реферат"]].id;
            }
            if (dwm.essay)
            {
                AttestationType.Text = "Эссе"; CurrentMarkType.SelectedValue = markTypes[Constants.AttestationMarkType["Эссе"]].id;
            }
        }
Exemplo n.º 3
0
        public static List <Mark> ConstrainMarksToOneAttestation(List <Mark> marks, DisciplineWithMark dwm)
        {
            if (dwm.zachet)
            {
                return(marks.Where(m => m.attestation_type == "Зачёт").ToList());
            }
            if (dwm.exam)
            {
                return(marks.Where(m => m.attestation_type == "Экзамен").ToList());
            }
            if (dwm.zachet_with_mark)
            {
                return(marks.Where(m => m.attestation_type == "Зачёт с оценкой").ToList());
            }
            if (dwm.course_project)
            {
                return(marks.Where(m => m.attestation_type == "Курсовой проект").ToList());
            }
            if (dwm.course_task)
            {
                return(marks.Where(m => m.attestation_type == "Курсовая работа").ToList());
            }
            if (dwm.control_task)
            {
                return(marks.Where(m => m.attestation_type == "Контрольная работа").ToList());
            }
            if (dwm.referat)
            {
                return(marks.Where(m => m.attestation_type == "Реферат").ToList());
            }
            if (dwm.essay)
            {
                return(marks.Where(m => m.attestation_type == "Эссе").ToList());
            }

            return(new List <Mark>());
        }
Exemplo n.º 4
0
        private void UpdateSemesterDisciplines(int semester)
        {
            var selected         = false;
            var selectedRowIndex = -1;

            if (SemesterDisciplinesMarksGrid.SelectedCells.Count > 0)
            {
                selected         = true;
                selectedRowIndex = SemesterDisciplinesMarksGrid.SelectedCells[0].RowIndex;
            }

            var dsv = dsViews
                      .Where(ds => ds.semester == semester)
                      .OrderBy(ds => ds.discipline_name)
                      .ToList();

            var splittedDsv = new List <DisciplineSemesterView>();

            foreach (var dsvItem in dsv)
            {
                if (dsvItem.zachet)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.zachet = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.exam)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.exam = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.zachet_with_mark)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.zachet_with_mark = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.course_project)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.course_project = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.course_task)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.course_task = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.control_task)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.control_task = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.referat)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.referat = true;
                    splittedDsv.Add(item);
                }

                if (dsvItem.essay)
                {
                    var item = dsvItem.CloneWithNoAttestation();
                    item.essay = true;
                    splittedDsv.Add(item);
                }
            }

            var markTypes       = mtypeRepo.all();
            var markTypeOptions = mtoRepo.all();
            var studentMarks    = mRepo.studentAll(currentStudentId);

            var disciplinesWithMarksView = DisciplineWithMark.FromDisciplineSemesterView(splittedDsv, studentMarks, markTypes, markTypeOptions);

            SemesterDisciplinesMarksGrid.DataSource = disciplinesWithMarksView;
            FormatSemesterView();

            if (selected)
            {
                SemesterDisciplinesMarksGrid.ClearSelection();
                SemesterDisciplinesMarksGrid.Rows[selectedRowIndex].Selected = true;
            }
        }