public bool AddSkill(int courseId, SetAvailableCoursesDto mentordetails)
 {
     try
     {
         var course   = context.Courses.Where(c => c.Id == courseId).SingleOrDefault();
         var ifExists = context.AvailableCourses.Where(ac =>
                                                       ac.MentorEmail == mentordetails.Email && ac.CourseDetails == course).SingleOrDefault();
         if (ifExists == null)
         {
             var skill = new AvailableCourses
             {
                 CourseDetails = course,
                 MentorFname   = mentordetails.FName,
                 MentorLname   = mentordetails.LName,
                 MentorEmail   = mentordetails.Email
             };
             context.AvailableCourses.Add(skill);
             var result = context.SaveChanges();
             if (result > 0)
             {
                 return(true);
             }
             return(false);
         }
         return(false);
     }
     catch (Exception e)
     {
         throw;
     }
 }
Beispiel #2
0
        public void Initialize(Person connectedPerson)
        {
            ConnectedPerson = connectedPerson;

            ResetAll();

            if (HasRequiredPermissions)
            {
                // Get the school data and use to it to populate this View Model's data
                SchoolEntities schoolData = new SchoolEntities();

                // Create a list of all the classes in the school
                schoolData.Classes.ToList().ForEach(currClass => AvailableClasses.Add(currClass.classID, currClass.className));

                AvailableHomeroomClasses.Add(FIELD_NOT_SET, "לא מוגדר");
                schoolData.Classes.Where(currClass => currClass.Teachers.Count() == 0).ToList()
                .ForEach(currClass => AvailableHomeroomClasses.Add(currClass.classID, currClass.className));

                // Create a list of all the parents in the school
                AvailableParents.Add(FIELD_NOT_SET, "לא מוגדר");
                schoolData.Persons.Where(p => p.isParent).ToList()
                .ForEach(parent => AvailableParents.Add(parent.personID, parent.firstName + " " + parent.lastName));

                // Create a list of all the students in the school
                schoolData.Persons.Where(p => p.isStudent).ToList()
                .ForEach(student => AvailableStudents.Add(student.personID, student.firstName + " " + student.lastName));

                // Create a list of all the courses in the school
                schoolData.Courses.Where(course => course.isHomeroomTeacherOnly == false).ToList()
                .ForEach(course => AvailableCoursesMustChoose.Add(course.courseID, course.courseName));
                AvailableCourses.Add(FIELD_NOT_SET, "לא מוגדר");
                AvailableCoursesMustChoose.ToList().ForEach(course => AvailableCourses.Add(course.Key, course.Value));
            }
        }
Beispiel #3
0
        // Clears all the data in this View Model
        private void ResetAll()
        {
            // Reset all of the lists
            AvailableClasses.Clear();
            AvailableParents.Clear();
            AvailableStudents.Clear();
            AvailableCourses.Clear();
            AvailableCoursesMustChoose.Clear();
            AvailableHomeroomClasses.Clear();

            // Reset all properties
            Username  = "";
            FirstName = "";
            LastName  = "";
            Email     = "";
            Phone     = "";
            Birthdate = new DateTime();

            IsNewStudent   = false;
            IsNewTeacher   = false;
            IsNewParent    = false;
            IsNewSecretary = false;

            SelectedHomeroomClass = null;
            SelectedParent        = null;
            SelectedStudent       = null;
            SelectedClass         = null;
            SelectedCourse1       = null;
            SelectedCourse2       = null;
            SelectedCourse3       = null;
            SelectedCourse4       = null;
        }
Beispiel #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            AvailableCourses availableCourses = db.AvailableCourses.Find(id);

            db.AvailableCourses.Remove(availableCourses);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        public void Initialize(Person connectedPerson)
        {
            // Reset all information
            ConnectedPerson = connectedPerson;
            AvailableUserTypes.Clear();
            AvailableUsers.Clear();
            AvailableClasses.Clear();
            AvailableParents.Clear();
            AvailableStudents.Clear();
            AvailableCourses.Clear();
            AvailableCoursesMustChoose.Clear();
            AvailableHomeroomClasses.Clear();

            if (HasRequiredPermissions)
            {
                _schoolData = new SchoolEntities();

                // Create a list of all the editable user types
                if (!CanEditManagement)
                {
                    AvailableUserTypes.AddRange(new List <string>()
                    {
                        Globals.USER_TYPE_STUDENT, Globals.USER_TYPE_TEACHERS, Globals.USER_TYPE_PARENTS
                    });
                }
                else
                {
                    AvailableUserTypes.AddRange(new List <string>()
                    {
                        Globals.USER_TYPE_STUDENT, Globals.USER_TYPE_TEACHERS, Globals.USER_TYPE_PARENTS,
                        Globals.USER_TYPE_SECRETARIES, Globals.USER_TYPE_PRINCIPAL
                    });
                }
                SelectedUserType = AvailableUserTypes[0];

                // Create a list of all the classes in the school
                _schoolData.Classes.ToList().ForEach(currClass => AvailableClasses.Add(currClass.classID, currClass.className));

                AvailableHomeroomClasses.Add(FIELD_NOT_SET, "לא מוגדר");
                _schoolData.Classes.Where(currClass => currClass.Teachers.Count() == 0).ToList()
                .ForEach(currClass => AvailableHomeroomClasses.Add(currClass.classID, currClass.className));

                // Create a list of all the parents in the school
                AvailableParents.Add(FIELD_NOT_SET, "לא מוגדר");
                _schoolData.Persons.Where(p => p.isParent).ToList()
                .ForEach(parent => AvailableParents.Add(parent.personID, parent.firstName + " " + parent.lastName));

                // Create a list of all the students in the school
                _schoolData.Persons.Where(p => p.isStudent).ToList()
                .ForEach(student => AvailableStudents.Add(student.personID, student.firstName + " " + student.lastName));

                // Create a list of all the courses in the school
                _schoolData.Courses.Where(course => course.isHomeroomTeacherOnly == false).ToList()
                .ForEach(course => AvailableCoursesMustChoose.Add(course.courseID, course.courseName));
                AvailableCourses.Add(FIELD_NOT_SET, "לא מוגדר");
                AvailableCoursesMustChoose.ToList().ForEach(course => AvailableCourses.Add(course.Key, course.Value));
            }
        }
Beispiel #6
0
        public ActionResult SearchAndRegister(AvailableCourses model, int?id)
        {
            if (id == 0)
            {
                RedirectToAction("Search");
            }

            Students user = new StudentsController().QueryStudentID(User.Identity.GetUserId());

            var taken = from s in db.Registrations
                        where s.StudentID == user.StudentID
                        select s.AvailableCourseID;

            var NotTaken = from s in db.AvailableCourses.OrderByDescending(x => x.SemesterYear.Years.Year).ThenBy(x => x.SemesterYear.SemesterID).ThenBy(x => x.Courses.Departments.DepartmentName).ThenBy(x => x.Courses.CourseNumber)
                           where !taken.Contains(s.AvailalbeCourseID) && s.Courses.DepartmentID == id
                           select s;

            var search = (from s in NotTaken
                          select s);


            if (model.CourseID != 0)
            {
                search = (from s in search
                          where (model.CourseID == s.CourseID)
                          select s);
            }
            if (model.SemesterYearID != 0)
            {
                search = (from s in search
                          where (model.SemesterYearID == s.SemesterYearID)
                          select s);
            }


            var SemesterYear = (from s in db.SemesterYear.OrderByDescending(x => x.Years.Year).ThenByDescending(x => x.SemesterID).AsEnumerable()
                                select new SelectListItem
            {
                Text = s.SemesterYearName,
                Value = s.SemesterYearID.ToString()
            }).ToList();


            var Course = (from s in db.Courses.OrderBy(x => x.Departments.Abbreviation).ThenBy(x => x.CourseNumber).AsEnumerable()
                          where s.DepartmentID == id
                          select new SelectListItem
            {
                Text = s.CourseName,
                Value = s.CourseID.ToString()
            }).ToList();

            ViewBag.SemesterYearID = new SelectList(SemesterYear, "Value", "Text");

            ViewBag.CourseID   = new SelectList(Course, "Value", "Text");
            ViewData["Course"] = search.OrderByDescending(x => x.SemesterYear.Years.Year).ThenByDescending(x => x.SemesterYear.SemesterID).ThenBy(x => x.Courses.Departments.DepartmentName).ThenBy(x => x.Courses.CourseNumber);
            return(View());
        }
Beispiel #7
0
        public ActionResult RegisterStudent(int id)
        {
            Registrations    reg    = new Registrations();
            Students         user   = new StudentsController().QueryStudentID(User.Identity.GetUserId());
            AvailableCourses course = db.AvailableCourses.Find(id);

            reg.AvailableCourseID = id;
            reg.StudentID         = user.StudentID;
            db.Registrations.Add(reg);
            db.SaveChanges();
            return(RedirectToAction("Search"));
        }
Beispiel #8
0
        public ActionResult Index1(AvailableCourses model, int?id)
        {
            if (id == 0)
            {
                RedirectToAction("Index");
            }

            var search = (from s in db.AvailableCourses
                          select s);


            if (model.CourseID != 0)
            {
                search = (from s in search
                          where (model.CourseID == s.CourseID)
                          select s);
            }
            if (model.SemesterYearID != 0)
            {
                search = (from s in search
                          where (model.SemesterYearID == s.SemesterYearID)
                          select s);
            }



            var SemesterYear = (from s in db.SemesterYear.OrderByDescending(x => x.Years.Year).ThenByDescending(x => x.SemesterID).AsEnumerable()
                                select new SelectListItem
            {
                Text = s.SemesterYearName,
                Value = s.SemesterYearID.ToString()
            }).ToList();


            var Course = (from s in db.Courses.OrderBy(x => x.Departments.Abbreviation).ThenBy(x => x.CourseNumber).AsEnumerable()
                          where s.DepartmentID == id
                          select new SelectListItem
            {
                Text = s.CourseName,
                Value = s.CourseID.ToString()
            }).ToList();

            ViewBag.SemesterYearID = new SelectList(SemesterYear, "Value", "Text");

            ViewBag.CourseID = new SelectList(Course, "Value", "Text");
            var availableCourses = db.AvailableCourses.Include(a => a.Buildings).Include(a => a.Courses).Include(a => a.Days).Include(a => a.Professors).Include(a => a.SemesterYear).Include(a => a.Times);

            ViewBag.Courses = (from s in search
                               where s.Courses.DepartmentID == id
                               select s).OrderByDescending(x => x.SemesterYear.Years.Year).ThenBy(x => x.SemesterYear.SemesterID).ThenBy(x => x.Courses.Departments.DepartmentName).ToList();
            return(View());
        }
Beispiel #9
0
        public ActionResult RegisterStudent(int?id)
        {
            if (User.Identity.IsAuthenticated && id != null)
            {
                AvailableCourses Course = db.AvailableCourses.Find(id);

                return(View(Course));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
Beispiel #10
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AvailableCourses availableCourses = db.AvailableCourses.Find(id);

            if (availableCourses == null)
            {
                return(HttpNotFound());
            }
            return(View(availableCourses));
        }
Beispiel #11
0
 public ActionResult Edit([Bind(Include = "AvailalbeCourseID,CourseID,Section,CRN,TimeID,DayID,BuildingID,ProfessorID,SemesterYearID,RoomNumber")] AvailableCourses availableCourses)
 {
     if (ModelState.IsValid)
     {
         db.Entry(availableCourses).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BuildingID     = new SelectList(db.Buildings, "BuildingID", "Abbreviaion", availableCourses.BuildingID);
     ViewBag.CourseID       = new SelectList(db.Courses, "CourseID", "CourseName", availableCourses.CourseID);
     ViewBag.DayID          = new SelectList(db.Days, "DaysID", "Day", availableCourses.DayID);
     ViewBag.ProfessorID    = new SelectList(db.Professors, "ProfessorID", "LastName", availableCourses.ProfessorID);
     ViewBag.SemesterYearID = new SelectList(db.SemesterYear, "SemesterYearID", "SemesterYearName", availableCourses.SemesterYearID);
     ViewBag.TimeID         = new SelectList(db.Times, "TimeID", "Times1", availableCourses.TimeID);
     return(View(availableCourses));
 }
        public LearnableEditor(List <CourseModel> courseList, LearnableModel word)
        {
            InitializeComponent();
            this.DataContext = this;

            Word = new LearnableModel {
                LearnableID = word.LearnableID,
                CourseID    = word.CourseID,
                English     = word.English,
                Hungarian   = word.Hungarian,
                WordClass   = word.WordClass,
                PictureUrl  = word.PictureUrl
            };
            AvailableCourses = courseList.Select(c => new CourseModel {
                CourseID = c.CourseID,
                Name     = c.Name
            }).ToList();
            SelectedCourse = AvailableCourses.Single(c => c.CourseID == Word.CourseID);
        }
Beispiel #13
0
 public ActionResult Index(AvailableCourses model)
 {
     if (model.Courses.DepartmentID != 0)
     {
         return(RedirectToAction("Index1", new { id = model.Courses.DepartmentID }));
     }
     else
     {
         var availableCourses = db.AvailableCourses.Include(a => a.Buildings).Include(a => a.Courses).Include(a => a.Days).Include(a => a.Professors).Include(a => a.SemesterYear).Include(a => a.Times);
         ViewBag.Courses     = availableCourses.ToList();
         ViewBag.Departments = from s in db.Departments
                               select new SelectListItem
         {
             Text  = s.DepartmentName,
             Value = s.DepartmentID.ToString()
         };
         return(View());
     }
 }
Beispiel #14
0
        public ActionResult CopyAvailableSubjectsPartial([ModelBinder(typeof(DevExpressEditorsBinder))]
                                                         AvailableCourses item,
                                                         [ModelBinder(typeof(DevExpressEditorsBinder))]
                                                         bool?isPost)
        {
            if (item == null)
            {
                return(PartialView(item));
            }
            var availableCourses = unitOfWork.AvailableCoursesRepo
                                   .Fetch(m => m.SchoolYearId == item.SchoolYearId && m.AvailableSubjects.Any()).ToList();

            ViewBag.AvailableCourses = availableCourses;
            if (isPost == true)
            {
                foreach (var i in unitOfWork.AvailableSubjectsRepo.Get(x =>
                                                                       x.AvailableCourseId == item.AvailableCourseId))
                {
                    var course = unitOfWork.AvailableCoursesRepo.Find(m => m.Id == item.DestinationAvailableCourseId);
                    i.SubjectCode = new IdHelpers().GenerateSubjectCode(course.Id);

                    var schedulesHelper = new SchedulesHelper();

                    var availableSuject = new Models.AvailableSubjects()
                    {
                        AvailableCourseId = item.DestinationAvailableCourseId,
                        Schedule          = i.Schedule,
                        SubjectCode       = i.SubjectCode,
                        SubjectId         = i.SubjectId,
                        TeacherId         = i.TeacherId,
                    };
                    schedulesHelper.GenerateSchedule(availableSuject);
                    unitOfWork.AvailableSubjectsRepo.Insert(availableSuject);
                    unitOfWork.Save();
                }

                return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
            }


            return(PartialView(item));
        }
Beispiel #15
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AvailableCourses availableCourses = db.AvailableCourses.Find(id);

            if (availableCourses == null)
            {
                return(HttpNotFound());
            }
            ViewBag.BuildingID     = new SelectList(db.Buildings, "BuildingID", "Abbreviaion", availableCourses.BuildingID);
            ViewBag.CourseID       = new SelectList(db.Courses, "CourseID", "CourseName", availableCourses.CourseID);
            ViewBag.DayID          = new SelectList(db.Days, "DaysID", "Day", availableCourses.DayID);
            ViewBag.ProfessorID    = new SelectList(db.Professors, "ProfessorID", "LastName", availableCourses.ProfessorID);
            ViewBag.SemesterYearID = new SelectList(db.SemesterYear, "SemesterYearID", "SemesterYearName", availableCourses.SemesterYearID);
            ViewBag.TimeID         = new SelectList(db.Times, "TimeID", "Times1", availableCourses.TimeID);
            return(View(availableCourses));
        }
        public LearnableEditor(List <CourseModel> courseList, CourseModel selectedCourse)
        {
            InitializeComponent();
            this.DataContext = this;

            Word             = new LearnableModel();
            AvailableCourses = courseList.Select(c => new CourseModel
            {
                CourseID = c.CourseID,
                Name     = c.Name
            }).ToList();
            if (selectedCourse == null)
            {
                SelectedCourse = null;
            }
            else
            {
                SelectedCourse = AvailableCourses.Single(c => c.CourseID == selectedCourse.CourseID);
            }
        }
Beispiel #17
0
        public ActionResult Search(AvailableCourses model)
        {
            if (model.Courses.DepartmentID != 0)
            {
                return(RedirectToAction("SearchAndRegister", new { id = model.Courses.DepartmentID }));
            }
            else
            {
                if (User.Identity.IsAuthenticated)
                {
                    Students user = new StudentsController().QueryStudentID(User.Identity.GetUserId());

                    var taken = from s in db.Registrations
                                where s.StudentID == user.StudentID
                                select s.AvailableCourseID;

                    var Courses = from s in db.AvailableCourses.OrderByDescending(x => x.SemesterYear.Years.Year).ThenByDescending(x => x.SemesterYear.SemesterID).ThenBy(x => x.Courses.Departments.DepartmentName).ThenBy(x => x.Courses.CourseNumber)
                                  where !taken.Contains(s.AvailalbeCourseID)
                                  select s;



                    var Department = (from s in db.Departments
                                      select new SelectListItem
                    {
                        Text = s.DepartmentName,
                        Value = s.DepartmentID.ToString()
                    }).ToList();
                    ViewBag.Departments = Department;
                    ViewData["Course"]  = Courses.ToList();



                    return(View());
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
            }
        }
 /// <summary>
 /// Assistant method that clears all the ViewModel properties
 /// </summary>
 private void ResetData()
 {
     AvailableSearchChoices.Clear();
     LessonsTableData.Clear();
     AvailableClasses.Clear();
     AvailableCourses.Clear();
     AvailableTeachers.Clear();
     AvailableRooms.Clear();
     SelectedLesson       = null;
     SelectedSearchChoice = NOT_ASSIGNED;
     SelectedTeacher      = NOT_ASSIGNED;
     SelectedClass        = NOT_ASSIGNED;
     LessonFirstDay       = NOT_ASSIGNED;
     LessonSecondDay      = NOT_ASSIGNED;
     LessonThirdDay       = NOT_ASSIGNED;
     LessonFourthDay      = NOT_ASSIGNED;
     LessonFirstHour      = NOT_ASSIGNED;
     LessonSecondHour     = NOT_ASSIGNED;
     LessonThirdHour      = NOT_ASSIGNED;
     LessonFourthHour     = NOT_ASSIGNED;
 }
        public void Initialize(Person connectedPerson)
        {
            ConnectedPerson = connectedPerson;
            ResetData();

            // Create the lists of possible classes, courses, teachers
            _schoolData.Classes.ToList().ForEach(schoolClass => AvailableClasses.Add(schoolClass.classID, schoolClass.className));
            _schoolData.Courses.ToList().ForEach(course => AvailableCourses.Add(course.courseID, course.courseName));
            _schoolData.Teachers.Where(teacher => !teacher.Person.User.isDisabled).ToList()
            .ForEach(teacher => AvailableTeachers.Add(teacher.teacherID, teacher.Person.firstName + " " + teacher.Person.lastName));

            // Initialize the rooms list. Note that a room is optional and therefore has a NOT_ASSIGNED option
            AvailableRooms.Add(NOT_ASSIGNED, "ללא");
            _schoolData.Rooms.ToList().ForEach(room => AvailableRooms.Add(room.roomID, room.roomName));

            SearchingByClass = true;

            // For some reason, after re-initializing this view, the selections are not updated properly in the view unless called again
            OnPropertyChanged("SelectedClass");
            OnPropertyChanged("SelectedCourse");
            OnPropertyChanged("SelectedTeacher");
            OnPropertyChanged("SelectedRoom");
        }