Esempio n. 1
0
        /// <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 = "Невалидно ЕГН!";
            }
        }
Esempio n. 2
0
        /// <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 = "Невалидно ЕГН!";
            }
        }