コード例 #1
0
        public CourseModel GetSingleCourseModel(int courseId)
        {
            DepartmentManager aDepartmentManager = new DepartmentManager();
            SemesterManager   aSemesterManager   = new SemesterManager();
            SqlConnection     connection         = new SqlConnection(connectionString);
            string            query   = "SELECT * FROM course_tbl WHERE courseId='" + courseId + "'";
            SqlCommand        command = new SqlCommand(query, connection);

            // command.Parameters.AddWithValue("@deptId", DeptId);
            connection.Open();
            SqlDataReader reader       = command.ExecuteReader();
            CourseModel   aCourseModel = new CourseModel();

            while (reader.Read())
            {
                aCourseModel.courseId          = Convert.ToInt32(reader["courseId"].ToString());
                aCourseModel.courseCode        = reader["courseCode"].ToString();
                aCourseModel.courseName        = reader["courseName"].ToString();
                aCourseModel.courseCredit      = Convert.ToDouble(reader["courseCredit"].ToString());
                aCourseModel.courseDescription = reader["courseDescription"].ToString();
                aCourseModel.departmentId      = int.Parse(reader["departmentId"].ToString());
                aCourseModel.semesterId        = int.Parse(reader["semesterId"].ToString());
            }
            aCourseModel.Department = aDepartmentManager.GetDepartmentById(aCourseModel.departmentId);
            aCourseModel.Semester   = aSemesterManager.GetSemesterById(aCourseModel.semesterId);

            connection.Close();
            return(aCourseModel);
        }
コード例 #2
0
        public List <CourseModel> GetCourseListNotAssignedByDeptId(int deptId)
        {
            SemesterManager   aSemesterManager   = new SemesterManager();
            DepartmentManager aDepartmentManager = new DepartmentManager();
            SqlConnection     con   = new SqlConnection(connectionString);
            string            query = "SELECT * FROM course_tbl WHERE departmentId=@departmentId and courseId not in (select CourseId from courseAssignToTeacher_tbl)";
            SqlCommand        cmd   = new SqlCommand(query, con);

            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@departmentId", deptId);
            con.Open();
            SqlDataReader      aSqlDataReader = cmd.ExecuteReader();
            List <CourseModel> courses        = new List <CourseModel>();

            if (aSqlDataReader.HasRows)
            {
                while (aSqlDataReader.Read())
                {
                    CourseModel aCourseModel = new CourseModel();
                    aCourseModel.courseId          = Convert.ToInt32(aSqlDataReader["courseId"].ToString());
                    aCourseModel.courseCode        = aSqlDataReader["courseCode"].ToString();
                    aCourseModel.courseName        = aSqlDataReader["courseName"].ToString();
                    aCourseModel.courseCredit      = Convert.ToDouble(aSqlDataReader["courseCredit"].ToString());
                    aCourseModel.courseDescription = aSqlDataReader["courseDescription"].ToString();
                    aCourseModel.departmentId      = int.Parse(aSqlDataReader["departmentId"].ToString());
                    aCourseModel.semesterId        = int.Parse(aSqlDataReader["semesterId"].ToString());
                    aCourseModel.Department        = aDepartmentManager.GetDepartmentById(aCourseModel.departmentId);
                    aCourseModel.Semester          = aSemesterManager.GetSemesterById(aCourseModel.semesterId);
                    courses.Add(aCourseModel);
                }
            }
            con.Close();
            return(courses);
        }
コード例 #3
0
 public EnrollCourseController()
 {
     _courseManager       = new CourseManager();
     _departmentManager   = new DepartmentManager();
     _semesterManager     = new SemesterManager();
     aEnrollCourseManager = new EnrollCourseManager();
 }
コード例 #4
0
        public List <CourseModel> GetAllCoursesNotAssignedToTeacher()
        {
            DepartmentManager  aDepartmentManager = new DepartmentManager();
            SemesterManager    aSemesterManager   = new SemesterManager();
            List <CourseModel> courses            = new List <CourseModel>();
            SqlConnection      connection         = new SqlConnection(connectionString);
            string             query = "select * from course_tbl where courseid not in (select CourseId from courseAssignToTeacher_tbl)";
            //string query = "SELECT course_tbl.courseId, course_tbl.courseCode,course_tbl.courseName, " +
            //    "course_tbl.courseCredit, course_tbl.courseDescription, department_tbl.departmentName, " +
            //    "semester_tbl.semester FROM course_tbl " +
            //    "INNER JOIN department_tbl ON department_tbl.departmentId = course_tbl.departmentId " +
            //    "INNER JOIN semester_tbl ON semester_tbl.id = course_tbl.semesterId; ";
            SqlCommand command = new SqlCommand(query, connection);

            connection.Open();
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                CourseModel aCourseModel = new CourseModel();
                aCourseModel.courseId          = Convert.ToInt32(reader["courseId"].ToString());
                aCourseModel.courseCode        = reader["courseCode"].ToString();
                aCourseModel.courseName        = reader["courseName"].ToString();
                aCourseModel.courseCredit      = Convert.ToDouble(reader["courseCredit"].ToString());
                aCourseModel.courseDescription = reader["courseDescription"].ToString();
                aCourseModel.departmentId      = int.Parse(reader["departmentId"].ToString());
                aCourseModel.semesterId        = int.Parse(reader["semesterId"].ToString());
                aCourseModel.Department        = aDepartmentManager.GetDepartmentById(aCourseModel.departmentId);
                aCourseModel.Semester          = aSemesterManager.GetSemesterById(aCourseModel.semesterId);
                courses.Add(aCourseModel);
            }

            connection.Close();
            return(courses);
        }
コード例 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            msgLabel.Text = "";
            try
            {
                List <Department> departments = new List <Department>();
                List <Semester>   semester    = new List <Semester>();
                departmentDropDownList.DataTextField  = "DepartmentCode";
                departmentDropDownList.DataValueField = "departmentId";
                semesterDropDownList.DataTextField    = "SemesterName";
                semesterDropDownList.DataValueField   = "SemesterId";
                aDepartmentManager = new DepartmentManager();
                departments        = aDepartmentManager.GetAllDepartments();
                SemesterManager aSemesterManager = new SemesterManager();
                semester = aSemesterManager.GetAllSemesters();

                if (!IsPostBack)
                {
                    departmentDropDownList.DataSource = departments;
                    departmentDropDownList.DataBind();
                    semesterDropDownList.DataSource = semester;
                    semesterDropDownList.DataBind();
                }
            }
            catch (Exception exception)
            {
                msgLabel.ForeColor = Color.Red;
                msgLabel.Text      = exception.Message;
            }
        }
コード例 #6
0
        public ActionResult <string> GetStudentsEnrolledToSubject(string id)
        {
            string semester = SemesterManager.GetCurrentSemester();
            var    students = _studentService.GetStudentsAttendedToSubject(id, semester);

            return(Ok(students));
        }
コード例 #7
0
 public CourseController()
 {
     departmentManager = new DepartmentManager();
     courseManager     = new CourseManager();
     semesterManager   = new SemesterManager();
     teacherManager    = new TeacherManager();
 }
コード例 #8
0
 public CourseController()
 {
     departmentManager   = new DepartmentManager();
     courseManager       = new CourseManager();
     semesterManager     = new SemesterManager();
     courseShowManager   = new CourseShowManager();
     enrollCourseManager = new EnrollCourseManager();
 }
コード例 #9
0
        /// <summary>
        /// TODO Call Dispose Methods for each Manager.
        /// </summary>
        /// <param name="disposing"></param>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_pman != null)
                {
                    _pman.Dispose();
                    _pman = null;
                }
                if (_sman != null)
                {
                    _sman.Dispose();
                    _sman = null;
                }
                if (_sman != null)
                {
                    _iman.Dispose();
                    _iman = null;
                }
                if (_dman != null)
                {
                    _dman.Dispose();
                    _dman = null;
                }
                if (_cman != null)
                {
                    _cman.Dispose();
                    _cman = null;
                }
                if (_tman != null)
                {
                    _tman.Dispose();
                    _tman = null;
                }
                if (_aman != null)
                {
                    _aman.Dispose();
                    _aman = null;
                }

                if (_pubman != null)
                {
                    _pubman.Dispose();
                    _pubman = null;
                }
                if (_eman != null)
                {
                    _eman.Dispose();
                    _eman = null;
                }
                if (_semman != null)
                {
                    _semman.Dispose();
                    _semman = null;
                }
                base.Dispose(disposing);
            }
        }
 public StudentResultController()
 {
     _courseManager        = new CourseManager();
     _departmentManager    = new DepartmentManager();
     _semesterManager      = new SemesterManager();
     aEnrollCourseManager  = new EnrollCourseManager();
     aGradeManager         = new GradeManager();
     aStudentResultManager = new StudentResultManager();
 }
コード例 #11
0
        public ActionResult SaveCourse()
        {
            DepartmentManager aDepartmentManager = new DepartmentManager();
            SemesterManager   aSemesterManager   = new SemesterManager();

            ViewBag.departments = aDepartmentManager.GetAllDepartmentInfo();
            ViewBag.semesters   = aSemesterManager.GetAllSemester();
            return(View());
        }
コード例 #12
0
        protected void saveButton_Click(object sender, EventArgs e)
        {
            if (!IsValid)
            {
                return;
            }

            try
            {
                Course aCourse = new Course();
                aCourse.CourseCode   = codeTextBox.Value;
                aCourse.CourseName   = titleTextBox.Value;
                aCourse.Credit       = Convert.ToDouble(creditTextBox.Value);
                aCourse.Description  = descriptionTextBox.Value;
                aCourse.CourseStatus = 0;
                aDepartmentManager   = new DepartmentManager();

                aCourse.ADepartment = aDepartmentManager.GetDepartment(Convert.ToInt16(departmentDropDownList.Text));
                SemesterManager aSemesterManager = new SemesterManager();
                aCourse.ASemester = aSemesterManager.GetSemester(Convert.ToInt16(semesterDropDownList.Text));
                CourseManager aCourseManager = new CourseManager();
                string        msg            = aCourseManager.SaveCourse(aCourse);

                if (msg == "Saved")
                {
                    msgLabel.ForeColor = Color.Green;
                    msgLabel.Text      = msg;
                    ClearAllTextBoxes();
                }
                else
                {
                    msgLabel.ForeColor = Color.Red;
                    msgLabel.Text      = msg;
                }
            }

            catch (SqlException sqlException)
            {
                msgLabel.ForeColor = Color.Red;
                msgLabel.Text      = "Database error.See details error: " + sqlException.Message;
            }
            catch (Exception exception)
            {
                msgLabel.ForeColor = Color.Red;
                string errorMessage = "Unknow error occured.";
                errorMessage += exception.Message;
                if (exception.InnerException != null)
                {
                    errorMessage += exception.InnerException.Message;
                }
                msgLabel.Text = errorMessage;
            }
        }
コード例 #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            msgLabel.Text = "";

            try
            {
                departmentDropDownList.DataTextField  = "DepartmentCode";
                departmentDropDownList.DataValueField = "departmentId";
                semesterDropDownList.DataTextField    = "SemesterName";
                semesterDropDownList.DataValueField   = "SemesterId";
                dayDropDownList.DataTextField         = "dayName";
                dayDropDownList.DataValueField        = "dayId";
                buildingDropDownList.DataTextField    = "buildingName";
                buildingDropDownList.DataValueField   = "buildingId";
                courseDropDownList.DataTextField      = "courseCode";
                courseDropDownList.DataValueField     = "courseId";
                roomDropDownList.DataTextField        = "roomName";
                roomDropDownList.DataValueField       = "roomId";

                if (!IsPostBack)
                {
                    List <Course>     courses     = new List <Course>();
                    List <Day>        days        = new List <Day>();
                    List <Department> departments = new List <Department>();
                    List <Semester>   semester    = new List <Semester>();
                    List <Building>   buildings   = new List <Building>();
                    aDepartmentManager = new DepartmentManager();
                    departments        = aDepartmentManager.GetAllDepartments();
                    SemesterManager aSemesterManager = new SemesterManager();
                    semester                   = aSemesterManager.GetAllSemesters();
                    aScheduleManager           = new ScheduleManager();
                    buildings                  = aScheduleManager.GetAllBuildings();
                    days                       = aScheduleManager.GetAllDays();
                    aCourseManager             = new CourseManager();
                    courses                    = aCourseManager.GetAllCourses();
                    dayDropDownList.DataSource = days;
                    dayDropDownList.DataBind();
                    departmentDropDownList.DataSource = departments;
                    departmentDropDownList.DataBind();
                    semesterDropDownList.DataSource = semester;
                    semesterDropDownList.DataBind();
                    buildingDropDownList.DataSource = buildings;
                    buildingDropDownList.DataBind();
                    courseDropDownList.DataSource = courses;
                    courseDropDownList.DataBind();
                }
            }
            catch (Exception exception)
            {
                msgLabel.ForeColor = Color.Red;
                msgLabel.Text      = exception.Message;
            }
        }
コード例 #14
0
        public IEnumerable<StudentListItemDTO> GetStudentFromStudyGroupSearch(StudyGroupSearchDTO searchParams, string loggedInUserId)
        {
            if (loggedInUserId == null || !Guid.TryParse(loggedInUserId, out Guid userguid))
                throw new ParameterException("user ID is invalid");
            if (searchParams == null || searchParams.CourseID == null)
                throw new ParameterException("Search parameters cannot be null");

            IEnumerable<Student> filteredStudents = new List<Student>();
            var currentSemester = SemesterManager.GetCurrentSemester();

            if (searchParams.IsHavingOtherCourseInCommonCurrently == true)
            {
                filteredStudents = _studentRepository.GetStudentsHavingCommonPracticalCoursesInCurrentSemester(loggedInUserId, searchParams.CourseID, currentSemester);
            }
            else
            {
                filteredStudents = _studentRepository.GetStudentsAttendingToCourseInCurrentSemester(loggedInUserId, searchParams.CourseID, currentSemester);
            }
            if (searchParams.IsSameCompletedSemesters && filteredStudents.Count() > 0)
            {
                //same completed semesters +-1            
                int userSemesterCnt = _studentRepository.GetStudentSemesterCount(loggedInUserId);
                var filteredOutStudents = new List<Student>();
                foreach (var stud in filteredStudents)
                {
                    int semesterCnt = _studentRepository.GetStudentSemesterCount(stud.UserID);
                    if (Math.Abs(userSemesterCnt - semesterCnt) > 1)
                    {
                        filteredOutStudents.Add(stud);
                    }
                }
                filteredStudents = filteredStudents.Where(x => !filteredOutStudents.Select(y => y.UserID).Contains(x.UserID));
            }
            if (searchParams.IsSameGradeAverage && filteredStudents.Count() > 0)
            {
                //same avg +-0.5
                double userGradeAvg = _studentRepository.GetStudentGradeAverage(loggedInUserId);
                var filteredOutStudents = new List<Student>();
                foreach (var stud in filteredStudents)
                {
                    double currStudAvg = _studentRepository.GetStudentGradeAverage(stud.UserID);
                    if (Math.Abs(currStudAvg - userGradeAvg) > 0.5)
                    {
                        filteredOutStudents.Add(stud);
                    }
                }
                filteredStudents = filteredStudents.Where(x => !filteredOutStudents.Select(y => y.UserID).Contains(x.UserID));
            }

            var filteredStudentListDtos = filteredStudents.Select(x => MapStudent.MapStudentDBModelToStudentListItemDTO(x));
            return filteredStudentListDtos;

        }
コード例 #15
0
        public IEnumerable <GeneralSelectionItem> GetAllLabourCoursesWithSubjectStudentEnrolledToCurrentSemester(string userID)
        {
            if (userID == null || !Guid.TryParse(userID, out Guid userGUID))
            {
                throw new ParameterException("UserID is invalid");
            }
            string currentSemester       = SemesterManager.GetCurrentSemester();
            var    subjects              = _courseRepository.FindLabourCoursesWithSubjectStudentCurrentlyEnrolledTo(userID, currentSemester);
            var    subjectSelectionItems = subjects.Select(x => MapCourse.MapCourseProjectionToGeneralSelectionItem(x));

            return(subjectSelectionItems);
        }
コード例 #16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            msgLabel.Text = "";
            try
            {
                departmentDropDownList.DataTextField  = "DepartmentCode";
                departmentDropDownList.DataValueField = "departmentId";
                semesterDropDownList.DataTextField    = "SemesterName";
                semesterDropDownList.DataValueField   = "SemesterId";
                if (!IsPostBack)
                {
                    List <Department> departments = new List <Department>();
                    List <Semester>   semester    = new List <Semester>();
                    aDepartmentManager = new DepartmentManager();
                    departments        = aDepartmentManager.GetAllDepartments();
                    SemesterManager aSemesterManager = new SemesterManager();
                    semester = aSemesterManager.GetAllSemesters();
                    departmentDropDownList.DataSource = departments;
                    departmentDropDownList.DataBind();
                    semesterDropDownList.DataSource = semester;
                    semesterDropDownList.DataBind();
                    GetAllUnscheduleCourses();
                }
            }

            catch (SqlException sqlException)
            {
                msgLabel.ForeColor = Color.Red;
                msgLabel.Text      = "Database error.See details error: " + sqlException.Message;
            }
            catch (Exception exception)
            {
                msgLabel.ForeColor = Color.Red;
                string errorMessage = "Unknow error occured.";
                errorMessage += exception.Message;
                if (exception.InnerException != null)
                {
                    errorMessage += exception.InnerException.Message;
                }
                msgLabel.Text = errorMessage;
            }
        }
コード例 #17
0
        public ActionResult SaveCourse(Course aCourse)
        {
            DepartmentManager aDepartmentManager = new DepartmentManager();
            SemesterManager   aSemesterManager   = new SemesterManager();

            ViewBag.departments = aDepartmentManager.GetAllDepartmentInfo();
            ViewBag.semesters   = aSemesterManager.GetAllSemester();
            CourseManager aCourseManager = new CourseManager();

            List <Course> alist      = aCourseManager.GetAllCourse();
            var           coursecode = alist.FirstOrDefault(c => c.Code == aCourse.Code);
            var           coursename = alist.FirstOrDefault(n => n.Name == aCourse.Name);

            if (coursecode != null || coursename != null)
            {
                if (coursecode != null && coursename != null)
                {
                    ViewBag.message = "Code and Name Already Exist";
                }
                else if (coursecode != null)
                {
                    ViewBag.message = "Code Already Exist";
                }
                else
                {
                    ViewBag.message = "Name Already Exist";
                }
            }
            else
            {
                if (aCourseManager.SaveCourse(aCourse) > 0)
                {
                    ViewBag.message = "Course Saved Successfully";
                }
                else
                {
                    ViewBag.message = "Save Failed";
                }
            }
            return(View());
        }
コード例 #18
0
        public IEnumerable <SelectListItem> GetAllSemesterList()
        {
            List <SelectListItem> semesterLists = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "---Select---", Value = ""
                },
            };
            List <Semester> semesters = new SemesterManager().GetAllSemesters();

            foreach (Semester semester in semesters)
            {
                SelectListItem semesterListItem = new SelectListItem();
                semesterListItem.Text  = semester.SemesterName;
                semesterListItem.Value = semester.Id.ToString();
                semesterLists.Add(semesterListItem);
            }

            return(semesterLists);
        }
コード例 #19
0
 public CourseController()
 {
     courseManager     = new CourseManager();
     departmentManager = new DepartmentManager();
     semesterManager   = new SemesterManager();
 }
コード例 #20
0
 public CourseController()
 {
     aSemesterManager   = new SemesterManager();
     aDepartmentManager = new DepartmentManager();
     aCourseManager     = new CourseManager();
 }
コード例 #21
0
 public SemesterController()
 {
     semesterManager = new SemesterManager();
 }
コード例 #22
0
        public IEnumerable<StudentListItemDTO> GetStudentFromStudyBuddySearch(StudyBuddySearchDTO searchParams, string loggedInUserId)
        {
            if (searchParams == null)
                throw new ParameterException("Search parameters cannot be null");
            if (searchParams.GoodInDiscipline < 0 || searchParams.GoodInDiscipline > Enum.GetValues(typeof(SubjectType)).Length)
                throw new ParameterException("Discipline value is invalid");
            if (searchParams.ComletedWithGrade < 0 || searchParams.ComletedWithGrade > 5)
                throw new ParameterException("Grade value is invalid");
            if (searchParams.SubjectID != "null" && !Guid.TryParse(searchParams.SubjectID, out Guid guid))
                throw new ParameterException("Subject ID is invalid");
            if (searchParams.IsAlreadyCompleted && searchParams.IsCurrentlyEnrolledTo)
                throw new ParameterException("Search parameters are invalid, already completed and currently enrolled to cant have true value at the same time.");

            List<Student> results = new List<Student>();

            if (!(searchParams.SubjectID == null && searchParams.GoodInDiscipline == 0))
            {
                if (searchParams.SubjectID != null)
                {
                    if (!searchParams.IsAlreadyCompleted && !searchParams.IsCurrentlyEnrolledTo && !searchParams.IsCommonCourse)
                        results = _studentRepository.GetStudentsEnrolledToSubject(searchParams.SubjectID).ToList();

                    string currentSemester = SemesterManager.GetCurrentSemester();

                    if (searchParams.IsCommonCourse)
                    {
                        results = _studentRepository.GetStudentsEnrolledToSubjectAndHavingCurrentlyCommonCourse(loggedInUserId, searchParams.SubjectID, currentSemester).ToList();
                    }

                    if (searchParams.IsCurrentlyEnrolledTo)
                    {
                        if (results.Count != 0)
                        {
                            results = GetStudentsEnrolledToSubjectCurrently(searchParams.IsAttendingToAnotherTeacher, loggedInUserId, currentSemester, searchParams.SubjectID, results);
                        }
                        else if (searchParams.IsAttendingToAnotherTeacher)
                            results = _studentRepository.GetStudentsCurrentlyEnrolledToSubjectWithStudentButHavingAnotherCurseTeacher(loggedInUserId, searchParams.SubjectID, currentSemester).ToList();
                        else
                            results = _studentRepository.GetStudentsEnrolledToSubjectInSemester(searchParams.SubjectID, currentSemester).ToList();
                    }
                    if (searchParams.IsAlreadyCompleted)
                    {
                        if (results.Count != 0)
                        {
                            results = GetStudentsAlreadyCompletedSubjectFromStudentList(searchParams.ComletedWithGrade, searchParams.SubjectID, results);
                        }
                        else if (searchParams.ComletedWithGrade != 0)
                            results = _studentRepository.GetStudentsCompletedSubjectWithGrade(searchParams.SubjectID, searchParams.ComletedWithGrade).ToList();
                        else
                            results = _studentRepository.GetStudentsCompletedSubject(searchParams.SubjectID).ToList();
                    }

                }
                if (searchParams.GoodInDiscipline != 0)
                {
                    double betterThanAvg = 3.5;
                    if (results.Count() != 0)
                        results = GetStudentsGoodInDisciplineFromStudentList(results, searchParams.GoodInDiscipline, betterThanAvg);
                    else
                        results = _studentRepository.GetStudentsGoodInDiscipline(searchParams.GoodInDiscipline, betterThanAvg).ToList();
                }


            }
            return results.Select(x => MapStudent.MapStudentDBModelToStudentListItemDTO(x));
        }
コード例 #23
0
        public ActionResult SaveCourse(Course aCourse)
        {
            DepartmentManager aDepartmentManager = new DepartmentManager();
            SemesterManager   aSemesterManager   = new SemesterManager();

            ViewBag.departments = aDepartmentManager.GetAllDepartmentInfo();
            ViewBag.semesters   = aSemesterManager.GetAllSemester();
            CourseManager aCourseManager = new CourseManager();

            if (aCourse.Credit == 0.0 || aCourse.Code == null || aCourse.Name == null || aCourse.DepartmentId == 0 ||
                aCourse.SemesterId == 0)
            {
                ViewBag.message = "Input Values";
            }
            else
            {
                if (aCourse.Code.Length < 5 || (aCourse.Credit < 0.5 || aCourse.Credit > 5.0))
                {
                    if (aCourse.Code.Length < 5 && (aCourse.Credit < 0.5 || aCourse.Credit > 5.0))
                    {
                        ViewBag.message = "Code length must be at least 5 characters and \n Credit range is from 0.5 to 5.0";
                    }

                    else if (aCourse.Code.Length < 5)
                    {
                        ViewBag.message = "Code length must be at least 5 characters";
                    }
                    else if (aCourse.Credit < 0.5 || aCourse.Credit > 5.0)
                    {
                        ViewBag.message = "Credit range is from 0.5 to 5.0";
                    }
                }
                else
                {
                    List <Course> alist      = aCourseManager.GetAllCourse();
                    var           coursecode = alist.FirstOrDefault(c => c.Code == aCourse.Code);
                    var           coursename = alist.FirstOrDefault(n => n.Name == aCourse.Name);
                    if (coursecode != null || coursename != null)
                    {
                        if (coursecode != null && coursename != null)
                        {
                            ViewBag.message = "Code and Name Already Exist";
                        }
                        else if (coursecode != null)
                        {
                            ViewBag.message = "Code Already Exist";
                        }
                        else if (coursename != null)
                        {
                            ViewBag.message = "Name Already Exist";
                        }
                    }
                    else
                    {
                        if (aCourseManager.SaveCourse(aCourse) > 0)
                        {
                            ViewBag.message = "Course Saved Successfully";
                        }
                        else
                        {
                            ViewBag.message = "Save Failed";
                        }
                    }
                }
            }
            return(View());
        }
コード例 #24
0
        private void ProcessNeptunExports(Student student, IFormFile gradeBook, IFormFile courses)
        {
            //store file
            string courseServerPath    = StoreFile(courses, "Exports");
            string gradebookServerPath = StoreFile(gradeBook, "Exports");
            string thisSemester        = SemesterManager.GetCurrentSemester();

            //TODO: execute these parallel
            //process subjects
            var gradebookExports = CSVProcesser.ProcessCSV <GradeBookExportModel>(gradebookServerPath);
            var createSubjects   = GetNonExistingSubjectsFromExport(gradebookExports);

            //process course
            var courseExports = CSVProcesser.ProcessCSV <CourseExportModel>(courseServerPath);
            var createCourses = GetNonExistingCoursesFromExport(courseExports, thisSemester);

            //process teachers
            var createTeachers = GetNonExistingTeachersFromExport(courseExports);

            //write all to db if no error
            var subjectsNewlyCreated = new List <Subject>();

            // todo: create list of nodes in neo4j level
            foreach (var sub in createSubjects)
            {
                subjectsNewlyCreated.Add(subjectRepository.Create(sub));
            }

            var teachersNewlyCreated = new List <Teacher>();

            foreach (var teacher in createTeachers)
            {
                teachersNewlyCreated.Add(teacherRepository.Create(teacher));
            }

            //create relationships between nodes:
            //course-subject :BELONGS_TO
            foreach (var crs in createCourses)
            {
                courseRepository.CreateCourseBelongingToSubject(crs.Course, crs.SubjectCode);
            }

            //Teacher-course :TEACHES
            foreach (var courseExport in courseExports)
            {
                teacherRepository.CreateTeachesRelationshipWithCourseParams(courseExport.SubjectCode, courseExport.CourseCode, thisSemester, courseExport.TeacherName);
            }

            //Student-course :ATTENDS
            foreach (var cExp in courseExports)
            {
                var  s        = courseRepository.GetCourseWithSubject(cExp.CourseCode, cExp.SubjectCode, thisSemester);
                Guid courseID = s.CourseID;
                studentRepository.CreateAttendsToRelationShipWithCourse(Guid.Parse(student.UserID), courseID);
            }

            //Student-subject :ENROLLED_TO {grade: x}
            foreach (var item in gradebookExports)
            {
                Guid subjectID = Guid.Parse(subjectRepository.FindSubjectBySubjectCode(item.SubjectCode).SubjectID);
                var  grade     = item.GetGrade();
                if (grade == null)
                {
                    studentRepository.CreateEnrolledToRelationShipWithSubject(Guid.Parse(student.UserID), subjectID, item.Semester);
                }
                else
                {
                    studentRepository.CreateEnrolledToRelationShipWithSubjectAndGrade(Guid.Parse(student.UserID), subjectID, item.Semester, (int)grade);
                }
            }

            Console.WriteLine();
        }