コード例 #1
0
        public void AddRandomAssignments()
        {
            var aCrs = (
                from ac in dbContext.ActiveCourses
                select ac
                ).ToList();

            foreach (var aCr in aCrs)
            {
                exists = false;
                ActiveAssignment aa = new ActiveAssignment();
                aa.CourseID       = aCr.CourseID;
                aa.StudentID      = aCr.StudentID;
                aa.AssignmentID   = 1; //final
                aa.SubmissionDate = aCr.AvailableCourse.EndDate.Value.AddDays(-15);
                aa.ActiveCourse   = aCr;

                var assign = (
                    from ass in dbContext.ActiveAssignments
                    select ass
                    ).ToList();

                foreach (var ass in assign)
                {
                    if (ass.CourseID == aa.CourseID)
                    {
                        if (ass.StudentID == aa.StudentID)
                        {
                            if (ass.AssignmentID == aa.AssignmentID)
                            {
                                exists = true;
                            }
                        }
                    }
                }
                if (!exists)
                {
                    try
                    {
                        dbContext.ActiveAssignments.Add(aa);
                        Console.WriteLine("Press key to Add Courses");
                        Console.ReadKey();
                        dbContext.SaveChanges();
                    }
                    catch (System.Data.Entity.Infrastructure.DbUpdateException)
                    {
                        Console.WriteLine("Entity exists");
                    }
                }

                if (aCr.AvailableCourse.Course.Type.Trim().Equals("Full Time"))
                {
                    exists = false;
                    ActiveAssignment ma = new ActiveAssignment();
                    ma.CourseID       = aCr.CourseID;
                    ma.StudentID      = aCr.StudentID;
                    ma.AssignmentID   = 2; //final
                    ma.SubmissionDate = aCr.AvailableCourse.StartDate.Value.AddMonths(3);


                    var assign2 = (
                        from ass in dbContext.ActiveAssignments
                        select ass
                        ).ToList();


                    foreach (var ass in assign2)
                    {
                        if (ass.CourseID == ma.CourseID)
                        {
                            if (ass.StudentID == ma.StudentID)
                            {
                                if (ass.AssignmentID == ma.AssignmentID)
                                {
                                    exists = true;
                                }
                            }
                        }
                    }
                    if (!exists)
                    {
                        try
                        {
                            dbContext.ActiveAssignments.Add(ma);
                            Console.WriteLine("Press key to Add Courses");
                            Console.ReadKey();
                            dbContext.SaveChanges();
                        }
                        catch (System.Data.Entity.Infrastructure.DbUpdateException)
                        {
                            Console.WriteLine("Entity exists");
                        }
                    }
                }
            }
        }
コード例 #2
0
        //TODO 13: Match Assingments to Courses and Students
        public void CreateActiveAssignment()
        {
            string courseTitle;
            int    assignmentID;

            Console.Clear();

            tv.ViewActiveCourses();

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Be exact in typing");
            Console.Write("Select a Course by typing the Title: ");

            Console.ResetColor();
            courseTitle = Console.ReadLine();

            var activeCourses = (
                from actCrs in dbContext.ActiveCourses
                join crs in dbContext.Courses on actCrs.CourseID equals crs.ID
                join avlCrs in dbContext.AvailableCourses on actCrs.CourseID equals avlCrs.CourseID
                where crs.Title == courseTitle
                select actCrs
                ).ToList();

            tv.ViewAssignments();

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Select an assignment type by typing in the ID:");
            Console.ResetColor();
            assignmentID = int.Parse(Console.ReadLine());
            var assignment = (
                from ass in dbContext.Assignments
                where ass.ID == assignmentID
                select ass
                ).FirstOrDefault();

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Input Submission Date: ");
            Console.ResetColor();
            DateTime subDate = DateTime.Parse(Console.ReadLine());

            foreach (var activeCourse in activeCourses)
            {
                ActiveAssignment activeAssignment = new ActiveAssignment()
                {
                    CourseID       = activeCourse.CourseID,
                    StudentID      = activeCourse.StudentID,
                    AssignmentID   = assignment.ID,
                    SubmissionDate = subDate
                };
                dbContext.ActiveAssignments.Add(activeAssignment);
            }

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Commit changes? y/n ");
            Console.ResetColor();
            string input = Console.ReadLine().ToLower();

            if (input.Equals("y"))
            {
                dbContext.SaveChanges();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Changes saved to database.");
                Console.ResetColor();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Changes not committed. Please retry.");
                Console.ResetColor();
            }

            Console.ReadKey();
        }