コード例 #1
0
        private void AddCourseOfferingChanges(CourseOffering courseOffering, string changeType)
        {
            string userID = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            ApplicationUser appUser = database.Users.Find(userID);


            CourseOfferingChanges offeringChanges = new CourseOfferingChanges();

            if (User.IsInRole("Chair"))
            { offeringChanges.ChangerRole = "Chair"; }

            else
            { offeringChanges.ChangerRole = "Coordinator"; }


            offeringChanges.ChangeType = changeType;
            offeringChanges.CourseID = courseOffering.CourseID;
            offeringChanges.CRN = courseOffering.CRN;
            offeringChanges.DateAndTimeOfChange = PopulateGetDateViewModel();
            offeringChanges.Days = courseOffering.Days;
            offeringChanges.EndDate = courseOffering.EndDate;
            offeringChanges.EndTime = courseOffering.EndTime;
            offeringChanges.InstructorID = courseOffering.InstructorID;
            offeringChanges.ChangerName = appUser.LastName;
            offeringChanges.StartDate = courseOffering.StartDate;
            offeringChanges.StartTime = courseOffering.StartTime;

            database.CoursesOfferingsChanges.Add(offeringChanges);
            database.SaveChanges();
        }
コード例 #2
0
        private void AddCourseOfferingChangesChanges
            (CourseOffering courseOffering, string changeType)
        {
            string   crn          = courseOffering.CRN;
            string   days         = courseOffering.Days;
            DateTime startTime    = courseOffering.StartTime;
            DateTime endTime      = courseOffering.EndTime;
            DateTime startDate    = courseOffering.StartDate;
            DateTime endDate      = courseOffering.EndDate;
            int?     instructorID = courseOffering.InstructorID;
            int      courseID     = courseOffering.CourseID;



            string userID
                = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            ApplicationUser applicationUser =
                database.Users.Find(userID);
            string changerName  = applicationUser.Lastname;
            string changersRole = null;

            if (User.IsInRole("DepartmentChair"))
            {
                changersRole = "DepartmentChair";
            }
            if (User.IsInRole("Coordinator"))
            {
                changersRole = "Coordinator";
            }



            CourseOfferingChanges courseOfferingChanges = new CourseOfferingChanges(changerName, changersRole, changeType, crn, days,
                                                                                    startTime, endTime, startDate, endDate,
                                                                                    instructorID, courseID);

            database.CourseOfferingChanges.Add(courseOfferingChanges);
            database.SaveChanges();
        }
コード例 #3
0
        public async static Task Initialize(IServiceProvider services)
        {
            //change from accessing just the database service
            //add user and role services.
            //var refers to generic variable... can hold any datatype
            var database    = services.GetRequiredService <ApplicationDbContext>();
            var userManager = services.GetRequiredService <UserManager <ApplicationUser> >();
            var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();

            //List<DepartmentChair> departmentChairList = DepartmentChair.PopulateDepartmentChair();


            //Step 1: Avoid "Re-populating" tables with the same data

            if (!database.Departments.Any())
            {
                //List<DepartmentChair> departmentChairs = database.DepartmentChairs.ToList<DepartmentChair>();


                //Department department = new Department("Management Information Systems", departmentChairs[0].DepartmentChairID);
                //List<Department> departmentsList = new List<Department>();
                //departmentsList.Add(department);


                //department = new Department("Accounting", departmentChairs[1].DepartmentChairID);
                //departmentsList.Add(department);
                //Step 2: Get data for Departments table
                // Class method. Call using Class Department6


                //  department.PopulateDepartments(); this is an error because we made the static

                //List<DepartmentChair> departments = database.Departments.ToList<DepartmentChair>();

                List <Department> departmentList = Department.PopulateDepartments();
                database.Departments.AddRange(departmentList);
                database.SaveChanges();
            }



            // This is the data population for Course
            if (!database.Courses.Any())
            {
                List <Course> courseList = Course.PopulateCourses();

                database.Courses.AddRange(courseList);
                database.SaveChanges();
            }

            string roleCoordinator     = "Coordinator";
            String roleDepartmentChair = "Chair";

            List <ApplicationUser> appUserList =
                ApplicationUser.PopulateUsers();

            if (!database.Roles.Any())
            {
                IdentityRole role = new IdentityRole(roleCoordinator);
                await roleManager.CreateAsync(role);


                role = new IdentityRole(roleDepartmentChair);
                await roleManager.CreateAsync(role);
            }



            if (!database.Users.Any())
            {
                //DBConn 1 (Synchronus - Method 1)
                //DBConn 1 (Sych - Method 2)
                // this means method 2 only goes after method 1 is done
                // Async means that both can go go at the same time

                foreach (ApplicationUser eachCoordinator in appUserList)
                {
                    //userManager = services.GetRequiredService<UserManager<ApplicationUser>>();
                    await userManager.CreateAsync(eachCoordinator);

                    //userManager = services.GetRequiredService<UserManager<ApplicationUser>>();
                    await userManager.AddToRoleAsync(eachCoordinator, roleCoordinator);
                }
            }


            // Need to finish added department chairs to the list.



            List <DepartmentChair> chairList =
                DepartmentChair.PopulateDepartmentChair();

            if (!database.DepartmentChairs.Any())
            {
                foreach (DepartmentChair eachChair in chairList)
                {
                    await userManager.CreateAsync(eachChair);

                    await userManager.AddToRoleAsync(eachChair, roleDepartmentChair);
                }
            }
            if (!database.ConflictCourses.Any())
            {
                List <ConflictCourse> conflictCourseList = ConflictCourse.PopulateConflictCourses();

                database.ConflictCourses.AddRange(conflictCourseList);
                database.SaveChanges();
            }



            if (!database.Instructors.Any())
            {
                List <Instructor> instructorList = Instructor.PopulateInstructors();
                database.Instructors.AddRange(instructorList);
                database.SaveChanges();
            }

            if (!database.CourseOfferings.Any())
            {
                List <CourseOffering> offeringList = CourseOffering.PopulateCourseOffering();
                database.CourseOfferings.AddRange(offeringList);
                database.SaveChanges();
            }

            if (!database.CoursesOfferingsChanges.Any())
            {
                List <CourseOffering> courseOffering        = database.CourseOfferings.ToList();
                CourseOfferingChanges courseOfferingChanges =
                    new CourseOfferingChanges("Chair", "Add", /*new DateTime(2019, 01, 15, 9, 52, 03),*/ courseOffering[0].CRN, courseOffering[0].Days
                                              , courseOffering[0].StartTime, courseOffering[0].EndTime, courseOffering[0].StartDate, courseOffering[0].EndDate, courseOffering[0].InstructorID, chairList[0].LastName, courseOffering[0].CourseID);
                database.Add(courseOfferingChanges);
                database.SaveChanges();
            }



            List <Department> departments =
                database.Departments.ToList <Department>();



            List <DepartmentChair> departmentChairs =
                database.DepartmentChairs.ToList <DepartmentChair>();

            // have to change each time you revert?

            foreach (Department eachDepartment in departments)
            {
                foreach (DepartmentChair eachChair in departmentChairs)
                {
                    if (eachDepartment.DepartmentID == eachChair.DepartmentID)
                    {
                        eachDepartment.DepartmentChairID = eachChair.DepartmentChairID;
                    }
                }
            }
            database.Departments.UpdateRange(departments);
            database.SaveChanges();



            if (!database.TeachingQualifications.Any())
            {
                List <TeachingQualification> teachingQualificationsList = TeachingQualification.PopulateTeachingQualifications();
                database.TeachingQualifications.AddRange(teachingQualificationsList);
                database.SaveChanges();
            }
        } // end of task
コード例 #4
0
        public async static Task  Initialize(IServiceProvider services)
        {
            //change from accessing just the database service, add user and role services

            var database    = services.GetRequiredService <ApplicationDbContext>();
            var userManager = services.GetRequiredService <UserManager <ApplicationUser> >();
            var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();


            if (!database.Departments.Any())
            {
                List <Department> departmentList = Department.PopulateDepartments();

                database.Departments.AddRange(departmentList);
                database.SaveChanges();
            }



            if (!database.Courses.Any())
            {
                List <Course> courseList = Course.PopulateCourses();

                database.Courses.AddRange(courseList);
                database.SaveChanges();
            }



            string roleDepartmentChair = "DepartmentChair";
            string roleCoordinator     = "Coordinator";

            if (!database.Roles.Any())
            {
                IdentityRole role = new IdentityRole(roleCoordinator);
                await roleManager.CreateAsync(role);

                role = new IdentityRole(roleDepartmentChair);
                await roleManager.CreateAsync(role);
            }


            List <ApplicationUser> appUserList =
                ApplicationUser.PopulateUsers();


            if (!database.Users.Any())
            {
                foreach (ApplicationUser eachCoordinator in appUserList)
                {
                    await userManager.CreateAsync(eachCoordinator);

                    await userManager.AddToRoleAsync(eachCoordinator, roleCoordinator);
                }
            }

            List <DepartmentChair> chairList =
                DepartmentChair.PopulateDapartmentChair();


            if (!database.DepartmentChairs.Any())
            {
                foreach (ApplicationUser eachDepartmentChair in chairList)
                {
                    await userManager.CreateAsync(eachDepartmentChair);

                    await userManager.AddToRoleAsync(eachDepartmentChair, roleDepartmentChair);
                }
            }

            if (!database.ConflictCourses.Any())
            {
                List <ConflictCourse> conflictCourseList =
                    ConflictCourse.PopulateConflictCourses();
                database.ConflictCourses.AddRange(conflictCourseList);
                database.SaveChanges();
            }

            if (!database.Instructors.Any())
            {
                List <Instructor> instructorList =
                    Instructor.PopulateInstructors();
                database.Instructors.AddRange(instructorList);
                database.SaveChanges();
            }
            if (!database.CourseOfferings.Any())
            {
                List <CourseOffering> courseOfferingsList =
                    CourseOffering.PopulateCourseOfferings();
                database.CourseOfferings.AddRange(courseOfferingsList);
                database.SaveChanges();
            }
            //if (!database.Departments.Any())
            //{
            List <Department> departments =
                database.Departments.ToList <Department>();

            List <DepartmentChair> departmentChairs =
                database.DepartmentChairs.ToList <DepartmentChair>();

            departments[0].DepartmentChairID = departmentChairs[0].DepartmentChairID;
            database.Departments.Update(departments[0]);

            departments[1].DepartmentChairID = departmentChairs[1].DepartmentChairID;
            database.Departments.Update(departments[1]);

            departments[2].DepartmentChairID = departmentChairs[2].DepartmentChairID;
            database.Departments.Update(departments[2]);

            database.SaveChanges();


            // }
            if (!database.TeachingQualifications.Any())
            {
                List <TeachingQualification> teachingQualificationsList
                    = TeachingQualification.PopulateTeachingQualifications();

                database.TeachingQualifications.AddRange(teachingQualificationsList);
                database.SaveChanges();
            }

            if (!database.CourseOfferingChanges.Any())
            {
                List <CourseOfferingChanges> courseOfferingChangesList =
                    CourseOfferingChanges.PopulateCourseOfferingChanges();
                database.CourseOfferingChanges.AddRange(courseOfferingChangesList);
                database.SaveChanges();
            }
        }