/// <summary> /// Pure form for adding a new subject. /// </summary> /// <param name="yearid">Id of a Year for which we get Subjects.</param> public SubjectForm(int yearid) { InitializeComponent(); subjects = new HttpSubjectsRepository(); subjectLocal = new SubjectsViewModel(); subjectLocal.year_id = yearid; btnSubjectDelete.Enabled = false; }
/// <summary> /// Constructor for YearInGroup form. Assings repositories, disables buttons for non admin users. /// </summary> /// <param name="_groupId">Id of a group the year belongs to.</param> /// <param name="_yearId">Id of a selected year.</param> /// <param name="_isAdmin">Determines wether the form is displayed by an admin.</param> public YearInGroupForm(int _groupId, int _yearId, bool _isAdmin) { InitializeComponent(); groupId = _groupId; yearId = _yearId; isAdmin = _isAdmin; users = new HttpUsersRepository(); years = new HttpYearsRepository(); subjects = new HttpSubjectsRepository(); groupDetails = new HttpGroupDetailsRepository(); usersGridView.CellDoubleClick += seeUser; subjectsGridView.CellDoubleClick += editSubject; UpdateTables(); btnAddSubject.Click += AddSubject; if (!isAdmin) { btnAddSubject.Visible = false; btnDeleteYear.Visible = false; btnEditYear.Visible = false; } }
/// <summary> /// Loads data from given subject to a form. /// </summary> /// <param name="subject">Subject to be displayed</param> private async void LoadData(SubjectsViewModel subject) { subjects = new HttpSubjectsRepository(); if ((subjectLocal = await subjects.GetOne(subject.id)) != null) { txtSubjectDesc.Text = subjectLocal.sub_desc; txtSubjectEmail.Text = subjectLocal.teacher_mail; txtSubjectName.Text = subjectLocal.name; edit = true; } }
/*-----------------------------UPDATING FUNCTIONS-----------------------------*/ /// <summary> /// Updates repositories. /// </summary> private void UpdateRepositories() { years = new HttpYearsRepository(); subjects = new HttpSubjectsRepository(); grades = new HttpSubjectDetailsRepository(); users = new HttpUsersRepository(); groups = new HttpGroupsRepository(); groupDetails = new HttpGroupDetailsRepository(); }