public void Init() { var TestDataModel = new TestDataModel(); var list = new SubjectsList(TestDataModel.MockDataModel.Object); test = list.Create(); }
/// <summary> /// Show the subjects that the user selected and al subjects that user doesn't has /// </summary> /// <param name="message"></param> /// <returns>The view with the user subjects</returns> public IActionResult MySubjects(string message) { if (!HttpContext.User.Identity.IsAuthenticated) { return(RedirectToAction("Logout", "Home")); } else { int id = Int32.Parse(HttpContext.User.Claims.FirstOrDefault(c => c.Type == "ID")?.Value); List <AsignaturePerTeacher> mySubjects = db.AsignaturesPerTeacher.Where(a => a.ID_Teacher == id).ToList(); SubjectsList subjects = new SubjectsList(); //Take the selected subjects foreach (var item in mySubjects) { subjects.SubjectsPerTeacher.Add(db.Subjects.First(x => x.ID == item.ID_Subject)); } List <Subject> allSubjects = db.Subjects.ToList(); Erased: //Take the avaiable subjects foreach (var item in allSubjects) { foreach (var item2 in subjects.SubjectsPerTeacher) { if (item2.ID == item.ID) { allSubjects.Remove(item); goto Erased; } } } subjects.SubjectsAvaiable = allSubjects; return(View(subjects)); } }
public void Save(string fileName) { using (StreamWriter fileStream = new StreamWriter(fileName, false, System.Text.Encoding.UTF8)) { fileStream.WriteLine("CPF"); fileStream.WriteLine(StipendBox.Text); fileStream.WriteLine(Start_Period.ToString()); fileStream.WriteLine(Finish_Period.ToString()); string subjectString = ""; SubjectsList.ForEach(subj => { subjectString += (subj.ToString() + " "); }); fileStream.WriteLine(subjectString); StudentList.ForEach(stud => { fileStream.Write(stud.IdStudent.ToString() + " - "); string assessmentString = ""; foreach (KeyValuePair <int, int> entry in stud.AssessmentsList) { assessmentString += (entry.Key.ToString() + ":" + entry.Value.ToString() + " "); } fileStream.WriteLine(assessmentString); }); } }
public void AddSubject(int subject) { if (!SubjectsList.Contains(subject)) { SubjectsList.Add(subject); StudentList.ForEach(stud => { stud.AssessmentsList.Add(subject, 0); }); } UpdateTable(); }
private void kalendar_ItemDeleted(object sender, ItemEventArgs e) { MyTermin deletedTermin = (MyTermin)e.Item; Subject deletedTerminSubject = deletedTermin.ForSubject; TerminHandler.Instance.RemoveTermin(deletedTermin); SubjectHandler.Instance.ChangeUnscheduledTermins(deletedTerminSubject.Id, false); (Window.GetWindow(this) as MainWindow).GlobalnaShema.globalCalendar.Schedule.Items.Remove(deletedTermin); UpdateSubjectRow(deletedTerminSubject); SubjectsList.UnselectAll(); }
public FetInputGenerator(DataModel model) { Model = model; // Initialize list objects DaysList = new DaysList(Model); HoursList = new HoursList(Model); TeachersList = new TeachersList(Model); SubjectsList = new SubjectsList(Model); ActivitiesList = new ActivitiesList(Model); YearsList = new YearsList(Model); TimeConstraintsList = new TimeConstraintsList(Model); SpaceConstraintsList = new SpaceConstraintsList(Model); RoomsList = new RoomsList(Model); }
/// <summary> /// Mijenjamo boju i ToolTip reda u listi predmeta u skladu sa brojem NEraspoređenih termina. /// </summary> /// <param name="subject"></param> private void UpdateSubjectRow(Subject subject) { DataGridRow row = SubjectsList.ItemContainerGenerator.ContainerFromItem(subject) as DataGridRow; if (subject.UnscheduledTermins < 1) { row.Background = Brushes.PaleGreen; row.ToolTip = "Predmet " + subject.Name + " je raspoređen."; } else { row.Background = Brushes.PaleGoldenrod; // black'n gold baby :P row.ToolTip = "Predmet " + subject.Name + " ima neraspoređene termine."; } SubjectsList.UnselectAll(); }
private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { Console.WriteLine("ScheduleScheme IsVisibleChanged + " + ((bool)e.NewValue)); if (IsVisible == true) { SubjectsList.Focus(); } else { this.ButtonZatvori.Focus(); } //if ((bool)e.NewValue) // MainWindowParent.DataLoading = true; //else // MainWindowParent.DataLoading = false; // može samo MainWinPar.DataLoading = (bool)e.NewValue... }
public void RemoveSubject(int subject, bool update = true) { if (SubjectsList.Contains(subject)) { SubjectsList.Remove(subject); StudentList.ForEach(stud => { if (stud.AssessmentsList.ContainsKey(subject)) { stud.AssessmentsList.Remove(subject); } }); } if (update) { UpdateTable(); } }
public void AddStudent(int student) { bool isSet = false; StudentList.ForEach(stud => { if (stud.IdStudent == student) { isSet = true; return; } }); if (!isSet) { AssessmentsStudent newStudent = new AssessmentsStudent(student); SubjectsList.ForEach(subject => { newStudent.AssessmentsList.Add(subject, 0); }); StudentList.Add(newStudent); } UpdateTable(); }
public bool Load(string fileName) { using (StreamReader fileStream = new StreamReader(fileName, System.Text.Encoding.UTF8)) { StudentList.Clear(); SubjectsList.Clear(); string checkString = fileStream.ReadLine(); if (!checkString.Equals("CPF")) { return(false); } string stipend = fileStream.ReadLine(); StipendBox.Text = stipend; string startPeriod = fileStream.ReadLine(); Start_Period = DateTime.Parse(startPeriod); StartPeriodPicker.Value = Start_Period; string finishPeriod = fileStream.ReadLine(); Finish_Period = DateTime.Parse(finishPeriod); FinishPeriodPicker.Value = Finish_Period; List <int> subjects = Program.StringInListInt(fileStream.ReadLine(), ' '); SubjectsList = subjects; while (!fileStream.EndOfStream) { string student = fileStream.ReadLine(); GetStudentOfStreamLine(student, out string idStudent, out string assessmentStudent); AssessmentsStudent assessmentsStudent = new AssessmentsStudent(Int32.Parse(idStudent)); List <string> assessmentsList = Program.StringInListString(assessmentStudent, ' '); assessmentsList.ForEach(assessment => { assessmentsStudent.GetAssessmentOfStreamLine(assessment); }); StudentList.Add(assessmentsStudent); } UpdateTable(); return(true); } }
public void UpdateTable() { Table.Rows.Clear(); Table.Columns.Clear(); Table.CellValueChanged -= UpdateData; List <int> removeSubjects = new List <int>(); SubjectsList.ForEach(subject => { Subject subjectInfo = Subjects.GetSubjectByID(subject); if (subjectInfo == null) { removeSubjects.Add(subject); } }); removeSubjects.ForEach(remove => { RemoveSubject(remove, false); }); SubjectsList.ForEach(subject => { Subject subjectInfo = Subjects.GetSubjectByID(subject); DataGridViewColumn newCol = new DataGridViewColumn() { Name = subjectInfo.Id.ToString(), HeaderText = subjectInfo.Title, SortMode = DataGridViewColumnSortMode.NotSortable, CellTemplate = new DataGridViewTextBoxCell() }; Table.Columns.Add(newCol); }); DataGridViewColumn averageAssessmentCol = new DataGridViewColumn { ReadOnly = true, HeaderText = "Средняя оценка", CellTemplate = new DataGridViewTextBoxCell(), DefaultCellStyle = new DataGridViewCellStyle { BackColor = System.Drawing.Color.FromArgb(200, 200, 200) } }; Table.Columns.Add(averageAssessmentCol); DataGridViewColumn stipendCol = new DataGridViewColumn { ReadOnly = true, HeaderText = "Стипендия", CellTemplate = new DataGridViewTextBoxCell(), }; Table.Columns.Add(stipendCol); List <int> removeStudents = new List <int>(); StudentList.ForEach(student => { Student studentInfo = Students.GetStudentByID(student.IdStudent); if (studentInfo == null) { removeStudents.Add(student.IdStudent); } }); removeStudents.ForEach(remove => { RemoveStudent(remove, false); }); StudentList.ForEach(student => { Student studentInfo = Students.GetStudentByID(student.IdStudent); DataGridViewRow row = new DataGridViewRow(); string studentName = studentInfo.FullName + " (" + Groups.GetGroupByID(studentInfo.Id_Group).Number + ")"; row.HeaderCell.Value = studentName; row.Tag = student; Table.Rows.Add(row); int RowHeaderWidth = 9 * studentName.Length; if (RowHeaderWidth > Table.RowHeadersWidth) { Table.RowHeadersWidth = RowHeaderWidth; } }); int i = 0, j = 0; StudentList.ForEach(stud => { j = 0; double averageAssessment = 0; double assessmentCounr = 0; SubjectsList.ForEach(subj => { int assessments = stud.AssessmentsList[subj]; averageAssessment += assessments; assessmentCounr++; Table[j, i].Value = assessments; j++; }); averageAssessment /= assessmentCounr; Table[j, i].Value = Math.Round(averageAssessment, 2); Student student = Students.GetStudentByID(stud.IdStudent); double allowance = 0; if (averageAssessment >= 9 && student.Active_Participation) { allowance = 1.5; Table[j + 1, i].Style.BackColor = System.Drawing.Color.FromArgb(28, 193, 243); } else if (averageAssessment >= 9) { allowance = 1.25; Table[j + 1, i].Style.BackColor = System.Drawing.Color.FromArgb(80, 216, 103); } else if (averageAssessment > 5) { allowance = 1; } else { Table[j + 1, i].Style.BackColor = System.Drawing.Color.FromArgb(253, 81, 81); } Double.TryParse(StipendBox.Text, out double stipend); stipend *= allowance; Table[j + 1, i].Value = Math.Round(stipend, 2); i++; }); Table.CellValueChanged += UpdateData; }