public void ViewStudents_Apply(object sender, EventArgs args) { //If row not selected, return if (!dgvStudentView.SelectedRow()) { MessageBox.Show("Please select a row."); return; } //Get the student course of selected student Course_Schedule schedule = lcSchedules[cbCourses.SelectedIndex]; User student = lcStudents[dgvStudentView.SelectedRowIndex()]; Student_Course sCourse = student.GetStudentCourse(schedule); //Update sCourse.Grade = cbGrade.Text; sCourse.ModifiedDateTime = DateTime.Now; SharedManager.Update(sCourse, s => s.Grade, s => s.ModifiedDateTime); //Show message MessageBox.Show("Grade updated successfully", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); //Refresh grid view ViewStudents_Refresh(); }
public void ViewStudents_PopulateGridView(int index) { //Get students list lcStudents = lcSchedules[index].GetStudents(); //Create new data table DataTable dt = new DataTable(); //Set columns dt.Columns.Add("First Name"); dt.Columns.Add("Last Name"); dt.Columns.Add("Student ID"); dt.Columns.Add("Grade"); dt.Columns.Add("Email"); dt.Columns.Add("Contact"); //Set rows for (int i = 0; i < lcStudents.Count; i++) { Student_Course sc = lcStudents[i].GetStudentCourse(lcSchedules[cbCourses.SelectedIndex]); dt.Rows.Add(lcStudents[i].FirstName, lcStudents[i].LastName, lcStudents[i].Student_ID, sc.Grade, lcStudents[i].Email, lcStudents[i].ContactNumber); } //Set data source dgvStudentView.DataSource = dt; dgvStudentView.ToggleColumnSort(false); //Refresh view dgvStudentView.Refresh(); }
public static Course_Schedule GetSchedule(this Student_Course context) { using (KeunhongInstituteDBEntities dbContext = new KeunhongInstituteDBEntities()) { return(dbContext.Course_Schedule.FirstOrDefault(s => s.IsActive && s.CourseSchedule_ID.Equals(context.CourseSchedule_ID))); } }
public static User GetStudent(this Student_Course context) { using (KeunhongInstituteDBEntities dbContext = new KeunhongInstituteDBEntities()) { return(dbContext.Users.FirstOrDefault(u => u.User_ID.Equals(context.User_ID) && u.IsActive)); } }
public static bool Create(Student_Course source) { using (KeunhongInstituteDBEntities dbContext = new KeunhongInstituteDBEntities()) { try { Student_Course sc = new Student_Course(); sc.CourseSchedule_ID = source.CourseSchedule_ID; sc.CreatedBy = source.CreatedBy; sc.CreatedDateTime = DateTime.Now; sc.IsActive = true; sc.ModifiedBy = source.ModifiedBy; sc.ModifiedDateTime = DateTime.Now; sc.User_ID = source.User_ID; sc.Grade = source.Grade; dbContext.Student_Course.Add(sc); dbContext.SaveChanges(); } catch (Exception) { return(false); } } return(true); }
public void Edit_Toggle(object sender, EventArgs args) { //Return if nothing selected if (!SelectedRow()) { MessageBox.Show("Please select a student."); return; } //Selected row index int index = SelectedRowIndex(); //Get selected student user info User student = lcStudents[index]; //If toggled on if ((bool)dgvStudents.Rows[index].Cells[2].Value) { //Delete existing schedule Student_Course studentCourse = student.GetStudentCourse(cSelectedSchedule); if (studentCourse != null) { studentCourse.IsActive = false; SharedManager.Update(studentCourse, sc => sc.IsActive); } //Toggle off dgvStudents.Rows[SelectedRowIndex()].Cells[2].Value = false; } else { //Create new schedule Student_Course studentCourse = new Student_Course(); studentCourse.CreatedBy = GlobalApplication.cMyUser.User_ID; studentCourse.ModifiedBy = GlobalApplication.cMyUser.User_ID; studentCourse.User_ID = student.User_ID; studentCourse.CourseSchedule_ID = cSelectedSchedule.CourseSchedule_ID; studentCourse.Grade = "A+"; StudentCourseManager.Create(studentCourse); //Toggle on dgvStudents.Rows[SelectedRowIndex()].Cells[2].Value = true; } //Set modified date for selected schedule cSelectedSchedule.ModifiedDateTime = DateTime.Now; SharedManager.Update(cSelectedSchedule, s => s.ModifiedDateTime); //Refresh data grid view dgvStudents.Refresh(); }
public void FillLabels(int index) { //Selection Course curCourse = lcCourses[index]; Course_Schedule curSchedule = lcSchedules[index]; Student_Course curStudentCourse = GlobalApplication.cMyUser.GetStudentCourse(curSchedule); //Set label text lbCourseName.Text = curCourse.Course_Name; lbCourseCode.Text = curCourse.Course_Code; lbGrade.Text = curStudentCourse.Grade; lbTutorName.Text = curSchedule.GetTutor().FullName; lbTutorEmail.Text = curSchedule.GetTutor().Email; lbStartDate.Text = curSchedule.DT_From.ToString(); lbFinishDate.Text = curSchedule.DT_To.ToString(); lbDescription.Text = curCourse.Course_Description; }
public void ManageCourse_Delete(object sender, EventArgs args) { //Return if no selection if (!dgvCourses.SelectedRow()) { MessageBox.Show("Please select a course."); return; } //Confirm first if (MessageBox.Show("Are you sure you want to delete this course?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //Select the target course Course course = lcCourses[dgvCourses.SelectedRowIndex()]; //Disable it course.IsActive = false; SharedManager.Update(course, c => c.IsActive); //Disable all schedules associated with this course List <Course_Schedule> schedules = course.GetSchedules(); for (int i = 0; i < schedules.Count; i++) { Course_Schedule cs = schedules[i]; cs.IsActive = false; SharedManager.Update(cs, x => x.IsActive); //Disable all student courses associated with this schedule List <Student_Course> studentCourses = cs.GetStudentCourses(); for (int j = 0; j < studentCourses.Count; j++) { Student_Course sc = studentCourses[j]; sc.IsActive = false; SharedManager.Update(sc, x => x.IsActive); } } MessageBox.Show("Course deleted successfully."); RefreshCourse(); } }
public static Course GetCourse(this Student_Course context) { return(GetSchedule(context).GetCourse()); }