コード例 #1
0
 private void LoadDisciplines(long SemesterID)
 {
     teacherIndex = App.API.TeacherGetIndex(SemesterID);
     CurrentSemID = SemesterID;
     Title        = $"БРС - {SemesterList.Find(s=> s.Id == CurrentSemID)}";
     GroupedDisciplineItems1.Clear();
     if (teacherIndex.Subjects != null)
     {
         EmptyListText.IsVisible = false;
         foreach (var s in teacherIndex.Subjects)
         {
             var group = new SubjectGroup($"{s.Value.SubjectName} \n{s.Value.Degree}, {s.Value.GradeNum} курс");
             foreach (var d in s.Value.Disciplines)
             {
                 group.Add(new DisciplineItem(
                               $"{s.Value.SubjectName}  \n{s.Value.Degree}, {s.Value.GradeNum} курс",
                               d.Id,
                               string.Join('\n', teacherIndex.Groups[d.Id.ToString()]),
                               d.TypeToString(),
                               string.Join('\n', teacherIndex.Teachers[d.Id.ToString()].Values.Select(t => t.ShortName()).Take(4))
                               ));
             }
             GroupedDisciplineItems1.Add(group);
         }
     }
     else
     {
         EmptyListText.IsVisible = true;
     }
 }
コード例 #2
0
        public StudentIndexPage()
        {
            InitializeComponent();

            LoadSemesters();
            LoadDisciplines(SemesterList.Max(s => s.Id));
            //Must be at the end!!!
            BindingContext = this;
        }
コード例 #3
0
        public async void GetSemesters()
        {
            SemesterList = await Data.Semester.GetAllAsync();

            foreach (var semester in SemesterList)
            {
                semester.SemesterNumber = semester.SemesterNumber.Trim();
            }

            SelectedSemester = SemesterList.SingleOrDefault(s => s.SemesterID == selectedCourse.SemesterID);
            CourseList       = CourseList.Where(c => c.SemesterID == selectedSemester.SemesterID).ToList();
            SemesterList     = SemesterList.Where(s => s.StudyID == SelectedStudy.StudyID).ToList();
        }
コード例 #4
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            SemesterList = await _context.SemesterList.FirstOrDefaultAsync(m => m.IDSemester == id);

            if (SemesterList == null)
            {
                return(NotFound());
            }
            return(Page());
        }
コード例 #5
0
        private void CopySelectedSemester()
        {
            Semester           activeSemester = SemesterList.Where(x => x.IsActive).FirstOrDefault();
            CopySemesterWindow target         = new CopySemesterWindow(activeSemester)
            {
                Owner = this.SourceWindow
            };

            SwitchWindows(target, true);
            this.SemesterList     = ReloadSemesterList();
            this.SessionGroupList = ReloadActiveSessionGroupList();
            this.TeamList         = ReloadActiveTeamList();
            this.TeamFilterList   = ReloadTeamFilterList();
            this.StudentList      = ReloadStudentList();
        }
コード例 #6
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            SemesterList = await _context.SemesterList.FindAsync(id);

            if (SemesterList != null)
            {
                _context.SemesterList.Remove(SemesterList);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
コード例 #7
0
 private void LoadDisciplines(long SemesterID)
 {
     studentIndex = App.API.StudentGetIndex(SemesterID);
     CurrentSemID = SemesterID;
     Title        = $"БРС - {SemesterList.Find(s => s.Id == CurrentSemID)}";
     DisciplineItems.Clear();
     if (studentIndex.Disciplines.Length != 0)
     {
         EmptyListText.IsVisible = false;
         foreach (var d in studentIndex.Disciplines)
         {
             var percent = (d.MaxCurrentRate != 0 ? ((d.Rate == null) ? 0 : Math.Min((int)d.Rate, 100)) / (double)d.MaxCurrentRate : 0).ToString("P0");
             DisciplineItems.Add(new DisciplineItem(d.Id, percent, d.SubjectName, $"{((d.Rate == null) ? 0 : d.Rate)}/{d.MaxCurrentRate}/100"));
         }
     }
     else
     {
         EmptyListText.IsVisible = true;
     }
 }
コード例 #8
0
        private void DeleteSemester(object param)
        {
            Semester        selectedSemester = (Semester)((DataGrid)param).SelectedItem;
            SessionGroupDAL sessionGroupDal  = new SessionGroupDAL();

            if (selectedSemester.IsActive == true)
            {
                MessageBox.Show("Aktív szemeszter nem törölhető!", "Hiba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            else if (sessionGroupDal.FindAll(x => x.SemesterID == selectedSemester.ID).FirstOrDefault() != null)
            {
                MessageBox.Show("A félévhez tartozik csoport, ezért nem törölhető!", "Hiba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
            else
            {
                MessageBoxResult messageBoxResult = MessageBox.Show("Valóban törli?", "Törlés megerősítése", MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (messageBoxResult == MessageBoxResult.Yes)
                {
                    SemesterList.Remove(selectedSemester);
                    ((TeacherDAL)_contextDal).DeleteSemester(selectedSemester);
                }
            }
        }
コード例 #9
0
 public SessionGroupEditViewModel(SessionGroupEditWindow sessionGroupEditWindow, SessionGroup selectedSessionGroup)
 {
     this.SourceWindow         = sessionGroupEditWindow;
     this._contextDal          = new SessionGroupDAL();
     this.SelectedSessionGroup = selectedSessionGroup;
     this.SaveCommand          = new RelayCommand(SaveSessionGroup, CanExecute);
     this.TeacherList          = new ObservableCollection <Teacher>(((SessionGroupDAL)_contextDal).TeacherList);
     this.SemesterList         = new ObservableCollection <Semester>(((SessionGroupDAL)_contextDal).SemesterList);
     this.DictionaryDal        = new DictionaryTypeDAL();
     this.SessionGroupTypes    = new ObservableCollection <DictionaryType>(DictionaryDal.FindAll(x => x.IsSessionGroup != null && x.IsSessionGroup == true));
     if (SelectedSessionGroup.Semester == null)
     {
         if (SemesterList.Where(x => x.IsActive).SingleOrDefault() != null)
         {
             this.SelectedSessionGroup.SemesterID = SemesterList.Where(x => x.IsActive).FirstOrDefault().ID;
             GenerateTeams = true;
         }
     }
     if (SelectedSessionGroup.ID != 0)
     {
         SelectedSessionGroupTypeID = SessionGroupTypes.First().ID;
     }
 }
コード例 #10
0
 private bool CanCopySemester()
 {
     return(SemesterList.Where(x => x.IsActive).FirstOrDefault() != null);
 }