/// <summary> /// Delete discipline /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteDiscipline(int id) { using (var context = new CoursesOfChoiceEntities()) { var discipline = context.Disciplines.SingleOrDefault(disc => disc.id == id); if (discipline == null) { return(false); } else { var singleOrDefault = discipline.Group.SingleOrDefault(gr => gr.Deleted == false && gr.Wave == 1); var groups = discipline.Group.ToList(); foreach (var gr in groups) { var sigs = gr.StudentsInGroups; context.Set <StudentsInGroups>().RemoveRange(sigs); context.Set <Group>().Remove(gr); } context.Set <Disciplines>().Remove(discipline); context.SaveChanges(); return(true); } } }
public ActionResult RegisteringInTheCourse(int id) { if (repository.checkRegisteredPhoneNumber(SessionPersister.Login) == false) { return(View("EditPhone")); } if (repository.checkRegisteredEmail(SessionPersister.Login) == false) { return(View("EditEMail")); } var disciplineAcc = repository.GetDiscipline(id); var studInGroup = new StudentsInGroups(); var group = repository.GetGroupByDisciplinesId(disciplineAcc.id); studInGroup.groupID = group.id; studInGroup.studentID = SessionPersister.Login; studInGroup.DateOfRegister = DateTime.Now; if (DateTime.Now.Year == group.year) { using (var context = new CoursesOfChoiceEntities()) { context.StudentsInGroups.Add(studInGroup); context.SaveChanges(); repository.addAmountStudent(group.id); } } return(View("YouAreRegisted", disciplineAcc)); }
public void DeleteGroups() { using (var context = new CoursesOfChoiceEntities()) { context.Group.ToList().ForEach(gr => gr.Deleted = true); context.SaveChanges(); } }
//!!!!!!!!!!!!!!!!!!!! public void AddStudentInGroups(StudentsInGroups sig) { using (var context = new CoursesOfChoiceEntities()) { context.StudentsInGroups.Add(sig); addAmountStudent(sig.groupID); context.SaveChanges(); } }
public void AddGroup(Group group) { using (var context = new CoursesOfChoiceEntities()) { context.Group.Add(group); context.SaveChanges(); } }
public void deleteAmountStudent(int groupID) { using (var context = new CoursesOfChoiceEntities()) { var gr = context.Group.SingleOrDefault(g => g.id == groupID); gr.AmountOfStudent--; context.SaveChanges(); } }
public bool DeleteAdmin(string login) { using (var context = new CoursesOfChoiceEntities()) { var admin = context.Administrators.SingleOrDefault(st => st.login == login); context.Administrators.Remove(admin); context.SaveChanges(); return(true); } }
public void DeleteStudentInGroups(StudentsInGroups sig) { using (var context = new CoursesOfChoiceEntities()) { var elToRemove = context.Set <StudentsInGroups>().SingleOrDefault(el => el.id == sig.id); context.Set <StudentsInGroups>().Remove(elToRemove); deleteAmountStudent(sig.groupID); context.SaveChanges(); } }
public void ChangeUserPass(string login, string newPass) { using (var context = new CoursesOfChoiceEntities()) { var userAcc = context.Users.SingleOrDefault(acc => acc.login == login); if (userAcc != null) { userAcc.password = _hashProvider.Encrypt(newPass); } context.SaveChanges(); } }
public void ChangeStudentEMail(string login, string newEMail) { using (var context = new CoursesOfChoiceEntities()) { var studentAcc = context.Students.SingleOrDefault(acc => acc.id == login); if (studentAcc != null) { studentAcc.eMail = newEMail; } context.SaveChanges(); } }
public void ChangeStudentPhone(string login, string newPhone) { using (var context = new CoursesOfChoiceEntities()) { var studentAcc = context.Students.SingleOrDefault(acc => acc.id == login); if (studentAcc != null) { studentAcc.phoneNumber = newPhone; } context.SaveChanges(); } }
public void ManUpGroupsForSecondWave() { using (var context = new CoursesOfChoiceEntities()) { var notRegisteredStd = (from std in context.Students join sig in context.StudentsInGroups on std.id equals sig.studentID into loj from l in loj.DefaultIfEmpty() where l == null orderby std.AverageMark descending select std).ToList(); // get IQueriable that have groupId and std count // all groups that have less then 25 std var smallSig = (from sig in context.StudentsInGroups group sig by sig.groupID into gSig //where gSig.Count() < 25 // && context.Group.Where(gr => gr.id == gSig.Key && gr.Wave == wave).FirstOrDefault().Deleted == false orderby gSig.Count() descending select new { GroupId = gSig.Key, Count = gSig.Count() }).ToList(); smallSig = smallSig.Where(si => { var firstOrDefault = context.Group.FirstOrDefault(gr => gr.id == si.GroupId); return(firstOrDefault != null && firstOrDefault.Deleted == false); }).ToList(); for (var i = 0; i < smallSig.Count; i++) { if (smallSig[i].Count < 25) { // students that's need to add to fill group int stdAmountToAdd = 25 - smallSig[i].Count; var stdToAdd = notRegisteredStd.GetRange(0, stdAmountToAdd); //fill this group with not registered student for (int j = 0; j < stdAmountToAdd; j++) { notRegisteredStd.Remove(stdToAdd[j]); context.StudentsInGroups.Add(new StudentsInGroups() { studentID = stdToAdd[j].id, groupID = smallSig[i].GroupId, DateOfRegister = DateTime.Now }); } } } context.SaveChanges(); } }
public void UpdateAdmin(Administrators adminAcc) { using (var context = new CoursesOfChoiceEntities()) { var admin = context.Administrators.SingleOrDefault(el => el.login == adminAcc.login); if (admin != null) { admin.roles = adminAcc.roles; } context.SaveChanges(); } }
public void DeleteMyDiscipline(int id, string login) { using (var context = new CoursesOfChoiceEntities()) { var sig = context.StudentsInGroups.Where(st => st.studentID == login).ToList(); foreach (var item in sig) { if (item.Group.Disciplines.id == id) { context.StudentsInGroups.Remove(item); context.SaveChanges(); } } } }
/// <summary> /// Add new student /// </summary> /// <param name="student"></param> /// <returns></returns> public bool AddStudent(Students student) { using (var context = new CoursesOfChoiceEntities()) { bool valToReturn = true; if (context.Students.Any(el => el.id == student.id)) { valToReturn = false; } else { context.Students.Add(student); context.SaveChanges(); } return(valToReturn); } }
/// <summary> /// Update discipline with values from discipline param /// </summary> /// <param name="discipline"></param> public void UpdateDiscipline(Disciplines discipline) { using (var context = new CoursesOfChoiceEntities()) { var disciplineToUpdate = context.Disciplines.SingleOrDefault(disc => disc.id == discipline.id); if (disciplineToUpdate != null) { disciplineToUpdate.name = discipline.name; disciplineToUpdate.lecturer = discipline.lecturer; disciplineToUpdate.kafedra = discipline.kafedra; disciplineToUpdate.course = discipline.course; disciplineToUpdate.description = discipline.description; } context.SaveChanges(); } }
/// <summary> /// Add new discipline /// </summary> /// <param name="discipline"></param> /// <returns></returns> public bool AddDiscipline(Disciplines discipline) { using (var context = new CoursesOfChoiceEntities()) { var valToReturn = true; if (context.Disciplines.Any(el => el.name == discipline.name)) { valToReturn = false; } else { context.Disciplines.Add(discipline); context.SaveChanges(); } return(valToReturn); } }
public void UpdateGroup(Group group) { using (var context = new CoursesOfChoiceEntities()) { var gr = context.Group.SingleOrDefault(el => el.id == group.id); if (gr != null) { gr.Deleted = group.Deleted; gr.AmountOfStudent = group.AmountOfStudent; gr.Status = group.Status; gr.Wave = group.Wave; gr.disciplinesID = group.disciplinesID; gr.year = group.year; context.SaveChanges(); } } }
/// <summary> /// Update student who has id == student.id /// </summary> /// <param name="student"></param> public void UpdateStudent(Students student) { using (var context = new CoursesOfChoiceEntities()) { var studentToUpdate = context.Students.SingleOrDefault(st => st.id == student.id); if (studentToUpdate != null) { studentToUpdate.fio = student.fio; studentToUpdate.course = student.course; studentToUpdate.@group = student.@group; studentToUpdate.AverageMark = student.AverageMark; studentToUpdate.Deleted = student.Deleted; } context.SaveChanges(); } }
public bool AddAdmin(Administrators admin) { using (var context = new CoursesOfChoiceEntities()) { bool valToReturn = true; if (context.Administrators.Any(el => el.login == admin.login)) { valToReturn = false; } else { admin.password = _hashProvider.Encrypt(admin.password); context.Administrators.Add(admin); context.SaveChanges(); } return(valToReturn); } }
/// <summary> /// "Deleting" student ( means make his Deleted attr true) /// </summary> /// <param name="id">Student id</param> /// <returns>State of operation</returns> public bool DeleteStudent(string id) { using (var context = new CoursesOfChoiceEntities()) { var student = context.Students.SingleOrDefault(st => st.id == id); if (student != null && student.Deleted) { return(false); } else { if (student != null) { student.Deleted = true; } context.SaveChanges(); return(true); } } }