// Створення та збереження нової групи студентів в базу private void AddGroup(string mess) { string[] el = mess.Split(); // отримуємо повіжомлення з даними про групу int adminId = int.Parse(el[0]); // id адміністратора який створив групу string groupName = el[1]; // назва групи using (var db = new TestingSystemDBContext()) { // перевірка чи не існує вже групи з таким іменем в базі if (db.Groups.FirstOrDefault(g => g.GroupName == groupName) == null) { Group gr = new Group() { Admin = db.Administrators.FirstOrDefault(a => a.Id == adminId), GroupName = groupName }; // Створення об'єкта групи db.Groups.Add(gr); // додаємо групу до бази db.SaveChanges(); SendMessage("successfully"); // відправляємо повідомлення про успішність операції } else { SendMessage("ExistName"); } } }
//Видалення певної групи студентів public void DeleteGroup(string mess) { int groupId = Convert.ToInt32(mess); // Отримуємо з повідомлення id потрібної групи using (var db = new TestingSystemDBContext()) { Group gr = db.Groups.FirstOrDefault(g => g.GroupId == groupId); db.Groups.Remove(gr); // видаляємо групу db.SaveChanges(); SendMessage("successfully"); } }
// Видалення студента з певної групи студентів private void DeleteStudentFromGroup(string _id) { int id = int.Parse(_id); // Отримуємо id студента using (var db = new TestingSystemDBContext()) { Student student = db.Students.Include(g => g.Group).FirstOrDefault(s => s.StudentId == id); // Отримуємо студента з бази по його id Group group = db.Groups.Include(s => s.Students).FirstOrDefault(g => g.GroupId == student.Group.GroupId); // Отримуємо групу жо якої належить цей студент group.Students.Remove(student); // Видаляємо студента з групи db.SaveChanges(); } SendMessage("successfully"); }
//Реєстрація нового студента private void StudentRegistration() { var obj = RecieveObject(); // Отримуємо об'єкт студента з клієнтської частини if (obj is DTOStudent) // перевіряємо чи це справді об'єкт студента { DTOStudent dtoStudent = obj as DTOStudent; // приведення до потрібного типу using (var db = new TestingSystemDBContext()) { // якщо такого студента ще не існує в базі то додаємо дані нового адміна в базу if (db.Students.FirstOrDefault(s => s.Password == dtoStudent.Password) == null) { if (db.Students.FirstOrDefault(s => s.Login == dtoStudent.Login) == null) { Group gr = db.Groups.FirstOrDefault(g => g.GroupId == dtoStudent.GroupId); Student student = new Student() { Name = dtoStudent.Name, SurName = dtoStudent.SurName, Group = gr, Login = dtoStudent.Login, Password = dtoStudent.Password }; db.Students.Add(student); db.SaveChanges(); SendMessage("successfully"); } else { SendMessage("login already exists"); } } else { SendMessage("password already exists"); } } } else { SendMessage("Error object!"); } }
// Метод який змінює пароль адміністратора, приймає повідомлення в якому є id адміністратора та новий пароль private void EditAdminPassword(string mess) { string[] adminEl = mess.Split(); int id = int.Parse(adminEl[0]); string newPassword = adminEl[1]; using (var db = new TestingSystemDBContext()) { if (db.Administrators.Where(p => p.Password == newPassword).Count() == 0) { Administrator admin = db.Administrators.FirstOrDefault(a => a.Id == id); admin.Password = newPassword; db.SaveChanges(); SendMessage("succesfully"); } else { SendMessage("Exist admin with this password"); } } }
// Реєстрація нового адміністратора private void AdminRegistration() { var obj = RecieveObject(); // отримуємо об'єкт адміністратора з клієнтської частини if (obj is DTOAdministrator) // перевіряємо чи це справді об'єкт адміністратора { DTOAdministrator dtoAdmin = obj as DTOAdministrator; // приведення до потрібного типу using (var db = new TestingSystemDBContext()) { // якщо такого адміністратора ще не існує в базі то додаємо дані нового адміна в базу if (db.Administrators.FirstOrDefault(a => a.Password == dtoAdmin.Password) == null) { if (db.Administrators.FirstOrDefault(a => a.Login == dtoAdmin.Login) == null) { Administrator administrator = new Administrator() { Name = dtoAdmin.Name, Login = dtoAdmin.Login, Password = dtoAdmin.Password }; db.Administrators.Add(administrator); db.SaveChanges(); SendMessage("successfully"); } else { SendMessage("login already exists"); } } else { SendMessage("password already exists"); } } } else { SendMessage("Error object!"); } }