/// <summary> /// Добавяне на нов преподавател /// </summary> private void AddNewLecturer(object obj) { List <Student> lecturerStudents = new List <Student>(); List <Subject> subjectsCollectionDb = new List <Subject>(); // конвертиране на изображението string imgFromStringToByte = Convert.ToBase64String(ImageConvert.GetImageBytes(PhotoPath)); // създаване на нов преподавател Lecturer lecturer = new Lecturer() { FirstName = this.FirstName, LastName = this.LastName, PersonalNumber = this.PersonalNumber, BirthDate = this.BirthDate, Gender = this.Gender.ToString(), Title = this.Title, Faculty = this.Faculty, Subjects = string.Join(", ", currentSubjectsCollection), Students = string.Join(", ", students), Region = this.Region.ToString(), Image = imgFromStringToByte }; // добавяне на предмета в xml xmlService.AddSubject(lecturer); // добавяне на студенти според предмета foreach (var subject in CollectionDataService.Instance.SubjWithStudents) { if (currentSubjectsCollection.Contains(subject.Name)) { // колекция от студентите с общ предмет от базата var students = databaseService.GetStudents(subject.Name); // създаване на нов предмет Subject currentSubject = new Subject(); currentSubject.Name = subject.Name; currentSubject.Students = students; // добавяне в базата subjectsCollectionDb.Add(currentSubject); // добавяне за xml lecturerStudents.AddRange(subject.Students); } } // валидиране на ЕГН-то и добавяне на преподавателя към колекцията и xml if (PersonalNumberValidation.GetValid(lecturer)) { // добавяне към колекцията CollectionDataService.Instance.Lecturers.Add(lecturer); // добавяне към БД databaseService.AddUser(lecturer, subjectsCollectionDb); // добавяне към xml xmlService.AddUser(lecturer); // Clear Clear(); } else // ако ЕГН-то е невалидно { PersonalNumber = "Невалидно ЕГН!"; } }
/// <summary> /// Добавяне на нов студент /// </summary> private void AddNewStudent(object obj) { Subject newSubject = new Subject(); newSubject.Name = Specialty; newSubject.Students = new List <Student>(); // конвертиране на изображението string imgFromStringToByte = Convert.ToBase64String(ImageConvert.GetImageBytes(PhotoPath)); // създаване на студента Student student = new Student() { FirstName = this.FirstName, LastName = this.LastName, PersonalNumber = this.PersonalNumber, BirthDate = this.BirthDate, Gender = this.Gender.ToString(), Faculty = this.Faculty, FacultyNumber = this.FacultyNumber, Specialty = this.Specialty, Region = this.Region.ToString(), Image = imgFromStringToByte }; // проверка дали съществува текущия предмет bool containsSubject = CollectionDataService.Instance.SubjWithStudents .Exists(x => x.Name == Specialty); // добавяне на предмети към колекцията if (!containsSubject) // ако предмета не съществува { // добавяне в колекцията newSubject.Students.Add(student); // добавяне в xml xmlService.AddSubject(student); } else // aко не съществува { foreach (Subject subject in CollectionDataService.Instance.SubjWithStudents) { // добавяне на студент в съществуващ вече предмет newSubject.Students.Add(student); // добавяне в xml xmlService.AddStudentToSbjCollection(student); break; } } // добавяне на новия предмет в колекцията CollectionDataService.Instance.SubjWithStudents.Add(newSubject); // валидиране на ЕГН-то и добавяне на студента към колекцията и xml if (PersonalNumberValidation.GetValid(student)) { // добавяне към колекцията CollectionDataService.Instance.Students.Add(student); // добавяне към xml xmlService.AddUser(student); // добавяне към БД databaseService.AddUser(student); // Clear Clear(); } else { this.PersonalNumber = "Невалидно ЕГН!"; } }