Пример #1
0
    static void Main()
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<StudentSystemContext, Configuration>());

        StudentSystemContext studentSystemDb = new StudentSystemContext();

        foreach (var item in studentSystemDb.Students)
        {
            Console.WriteLine("Name: {0} with studentNumber {1}",item.StudentName +' '+ item.StudentLastName,item.StudentNumber);
        }

        studentSystemDb.SaveChanges();
    }
Пример #2
0
        static void Main()
        {
            var db = new StudentSystemContext();

            //03. Seed the database with random values -> the Seed method of Configuration class
            
            var thirdStudent = db.Students.Where(student => student.StudentID == 3).First();
            var homeworksOfThirdStudent = db.Homeworks.Where(homework => homework.StudentID == thirdStudent.StudentID).ToList();

            Console.WriteLine(thirdStudent.Name + "has written his homework for: ");
            foreach (var homework in homeworksOfThirdStudent)
            {
                Console.WriteLine("\"" + homework.Course.Name + "\"");
            }
        }
Пример #3
0
        public static void Main(string[] args)
        {
            var context = new StudentSystemContext();

            var material = new Material
            {
                Content = "Material"
            };
            var course = new Course
            {
                Description = "We learn databases",
                Name = "DB"
            };

            course.Materials.Add(material);

            var homework = new Homework
            {
                Content = "Task",
                Course = course,
                Datesent = DateTime.Now
            };

            var student = new Student
            {
                Name = "Pesho",
                StudentNumber = "12345"
            };

            student.Courses.Add(course);
            student.Homeworks.Add(homework);

            context.Students.Add(student);

            context.SaveChanges();
        }
 private static void Seed(StudentSystemContext db)
 {
 }
Пример #5
0
 private static void SeedStudents(StudentSystemContext db, int count)
 {
     StudentGenetaror.InitialStudentSeed(db, count);
 }
Пример #6
0
 private static void SeedHomeworks(StudentSystemContext db, int count)
 {
     HomeworkGenerator.InitialHomeworkSeed(db, count);
 }
Пример #7
0
 private static void SeedStudentsCourses(StudentSystemContext db, int count)
 {
     StudentsCoursesGenerator.InitialStudentCoursesSeed(db, count);
 }
        private static void Seed(StudentSystemContext context)
        {
            Course cSharpCourse = new Course
            {
                Description = "hardcore programming",
                Name        = "C#",
                StartDate   = DateTime.ParseExact("20-11-2017", "dd-MM-yyyy", null),
                EndDate     = DateTime.ParseExact("20-12-2018", "dd-MM-yyyy", null),
                Price       = 500.00m
            };

            context.Courses.Add(cSharpCourse);

            Course javaCourse = new Course
            {
                Description = "Oracle programming",
                Name        = "Java",
                StartDate   = DateTime.ParseExact("10-11-2017", "dd-MM-yyyy", null),
                EndDate     = DateTime.ParseExact("10-12-2018", "dd-MM-yyyy", null),
                Price       = 650.00m
            };

            context.Courses.Add(javaCourse);

            Student cSharpStudent = new Student
            {
                Name         = "Ivan",
                PhoneNumber  = "*88",
                RegisteredOn = DateTime.ParseExact("10-01-2017", "dd-MM-yyyy", null)
            };

            context.Students.Add(cSharpStudent);

            Student javaStudent = new Student
            {
                Name         = "Georgi",
                PhoneNumber  = "123",
                RegisteredOn = DateTime.ParseExact("18-05-2017", "dd-MM-yyyy", null)
            };

            context.Students.Add(javaStudent);

            Resource cSharpResource = new Resource
            {
                Course       = cSharpCourse,
                Name         = "C# Tasks",
                ResourceType = ResourceType.Document,
                Url          = $"www.courses./{cSharpCourse.Name}"
            };

            context.Resources.Add(cSharpResource);

            Resource javaResource = new Resource
            {
                Course       = cSharpCourse,
                Name         = "Java tasks",
                ResourceType = ResourceType.Document,
                Url          = $"www.courses./{javaCourse.Name}"
            };

            context.Resources.Add(javaResource);

            Homework cSharpHomework = new Homework
            {
                Student        = cSharpStudent,
                Course         = cSharpCourse,
                Content        = "C# problems",
                ContentType    = ContentType.Pdf,
                SubmissionTime = DateTime.ParseExact("20-12-2017", "dd-MM-yyyy", null)
            };

            context.HomeworkSubmissions.Add(cSharpHomework);

            Homework javaHomework = new Homework()
            {
                Student        = javaStudent,
                Course         = javaCourse,
                Content        = "Java problems",
                ContentType    = ContentType.Pdf,
                SubmissionTime = DateTime.ParseExact("20-01-2018", "dd-MM-yyyy", null)
            };

            context.HomeworkSubmissions.Add(javaHomework);

            StudentCourse cSharpAssignment = new StudentCourse
            {
                Student = cSharpStudent,
                Course  = cSharpCourse
            };

            context.StudentCourses.Add(cSharpAssignment);

            StudentCourse javaAssignment = new StudentCourse
            {
                Student = cSharpStudent,
                Course  = javaCourse
            };

            context.StudentCourses.Add(javaAssignment);

            context.SaveChanges();
        }
Пример #9
0
        private static void Seed(StudentSystemContext db)
        {
            var students = new List <Student>
            {
                new Student {
                    Name = "Pesho"
                },
                new Student {
                    Name = "Merry"
                },
                new Student {
                    Name = "Ivan", PhoneNumber = "0889876543"
                },
                new Student {
                    Name = "Nikola"
                },
                new Student {
                    Name = "Katq", PhoneNumber = "0886854333"
                }
            };

            db.Students.AddRange(students);

            var courses = new List <Course>
            {
                new Course {
                    Name = "Basics", StartDate = DateTime.Now, EndDate = (DateTime.Parse("5/2/2018")), Price = 100.00m
                },
                new Course {
                    Name = "Fundamentals", Price = 260.00m
                },
                new Course {
                    Name = "Java", Price = 180.00m
                },
                new Course {
                    Name = "Db Entity Framework", Price = 269.00m
                }
            };

            db.Courses.AddRange(courses);

            var resources = new List <Resource>
            {
                new Resource {
                    Name = "Introduction", ResourceType = ResourceType.Document, Course = courses[0]
                },
                new Resource {
                    Name = "Basic Functionality", ResourceType = ResourceType.Presentation, Course = courses[2]
                },
                new Resource {
                    Name = "Exam Preparation", ResourceType = ResourceType.Document, Course = courses[1]
                },
                new Resource {
                    Name = "Loops", ResourceType = ResourceType.Video, Course = courses[1]
                },
                new Resource {
                    Name = "Entity Relation", ResourceType = ResourceType.Document, Course = courses[3]
                },
                new Resource {
                    Name = "Entity Relation", ResourceType = ResourceType.Video, Course = courses[3]
                },
                new Resource {
                    Name = "Install Visual Studio", ResourceType = ResourceType.Other, Course = courses[0]
                },
                new Resource {
                    Name = "Introduction", ResourceType = ResourceType.Presentation, Course = courses[1]
                },
                new Resource {
                    Name = "Exercise", ResourceType = ResourceType.Document, Course = courses[2]
                },
                new Resource {
                    Name = "Condition Statements", ResourceType = ResourceType.Video, Course = courses[0]
                }
            };

            db.Resources.AddRange(resources);

            var hwsubmissions = new List <Homework>
            {
                new Homework {
                    ContentType = ContentType.Pdf, Course = courses[0], Student = students[0]
                },
                new Homework {
                    ContentType = ContentType.Application, Course = courses[2], Student = students[1]
                },
                new Homework {
                    ContentType = ContentType.Zip, Course = courses[3], Student = students[4]
                },
                new Homework {
                    ContentType = ContentType.Zip, Course = courses[1], Student = students[2]
                },
                new Homework {
                    ContentType = ContentType.Application, Course = courses[3], Student = students[1]
                },
                new Homework {
                    ContentType = ContentType.Pdf, Course = courses[0], Student = students[1]
                },
                new Homework {
                    ContentType = ContentType.Pdf, Course = courses[0], Student = students[3]
                },
                new Homework {
                    ContentType = ContentType.Zip, Course = courses[1], Student = students[0]
                },
                new Homework {
                    ContentType = ContentType.Application, Course = courses[3], Student = students[4]
                }
            };

            db.HomeworkSubmissions.AddRange(hwsubmissions);

            var studentCourses = new List <StudentCourse>
            {
                new StudentCourse {
                    Student = students[0], Course = courses[0]
                },
                new StudentCourse {
                    Student = students[0], Course = courses[1]
                },
                new StudentCourse {
                    Student = students[1], Course = courses[0]
                },
                new StudentCourse {
                    Student = students[2], Course = courses[1]
                },
                new StudentCourse {
                    Student = students[3], Course = courses[0]
                },
                new StudentCourse {
                    Student = students[4], Course = courses[3]
                },
                new StudentCourse {
                    Student = students[4], Course = courses[1]
                },
                new StudentCourse {
                    Student = students[2], Course = courses[3]
                },
                new StudentCourse {
                    Student = students[1], Course = courses[2]
                },
            };

            db.StudentCourses.AddRange(studentCourses);
            db.SaveChanges();
        }
Пример #10
0
        public static void Main()
        {
            var context = new StudentSystemContext();

            var studentsAndHomeworks = context.Students.Select(s =>
                                                               new
            {
                Name      = s.StudentName,
                Homeworks = s.Homeworks.Select(h =>
                                               new
                {
                    Content = h.HomeworkContent,
                    Type    = h.HomeworkContentType
                })
            });

            foreach (var student in studentsAndHomeworks)
            {
                Console.WriteLine("{0}: ", student.Name);
                Console.WriteLine(string.Join(Environment.NewLine, student.Homeworks));
            }

            Console.WriteLine();
            Console.WriteLine();

            var coursesAndResources = context.Courses.OrderBy(c => c.StartDate).
                                      ThenByDescending(c => c.EndDate).
                                      Select(c =>
                                             new
            {
                Name        = c.CourseName,
                Description = c.Description,
                Resources   = c.Resources
            });

            foreach (var course in coursesAndResources)
            {
                Console.WriteLine("{0}, {1} ", course.Name, course.Description);
                foreach (var resource in course.Resources)
                {
                    Console.WriteLine("{0}, {1}, {2}", resource.ResourceName,
                                      resource.ResourceType, resource.URL);
                }
            }

            Console.WriteLine();
            Console.WriteLine();

            var coursesWithMoreThan5Resources = context.Courses.
                                                Where(c => c.Resources.Count >= 2).
                                                OrderByDescending(c => c.Resources.Count).
                                                ThenByDescending(c => c.StartDate).
                                                Select(c =>
                                                       new
            {
                Name          = c.CourseName,
                ResourceCount = c.Resources.Count
            });

            foreach (var course in coursesWithMoreThan5Resources)
            {
                Console.WriteLine("{0}, Resource count: {1} ", course.Name, course.ResourceCount);
            }

            Console.WriteLine();
            Console.WriteLine();

            var studentInfo = context.Students.
                              Select(s =>
                                     new {
                Name               = s.StudentName,
                CoursesCount       = s.Courses.Count,
                CoursesSum         = s.Courses.Sum(c => c.Price),
                AverageCoursePrice = s.Courses.Average(c => c.Price)
            });

            foreach (var info in studentInfo)
            {
                Console.WriteLine("Name: {0}, Courses count: {1}, Courses sum: {2}, Avg price: {3} ",
                                  info.Name, info.CoursesCount, info.CoursesSum, info.AverageCoursePrice);
            }
        }
Пример #11
0
 private static void CreateNewDatabase()
 {
     var db = new StudentSystemContext();
     db.Database.Delete();
     db.Database.Create();
 }
 static void Main(string[] args)
 {
     using (var context = new StudentSystemContext())
     {
     }
 }
        public MarkController()
        {
            var context = new StudentSystemContext();

            this.markRepository = new MarkRepository(context);
        }
Пример #14
0
        protected override void Seed(StudentSystemContext context)
        {
            //if (context.Students.Any() || context.Courses.Any() || context.Resources.Any() || context.Homeworks.Any())
            //{
            //    return;
            //}

            var random = new Random();

            using (var sr = new StreamReader(@"E:\SoftUni\Databases\Advanced\Relations\Exercises\StudentSystem\students.txt"))
            {
                sr.ReadLine();
                var line = sr.ReadLine();
                while (line != null)
                {
                    var studentParams    = line.Split(new[] { ' ' }, 5);
                    var studentName      = studentParams[0] + " " + studentParams[1];
                    var phoneNumber      = studentParams[2];
                    var birthDay         = DateTime.ParseExact(studentParams[3], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var registrationDate = DateTime.ParseExact(studentParams[4], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var student          = new Student {
                        Name = studentName, PhoneNumber = phoneNumber, BirthDay = birthDay, RegistrationDate = registrationDate
                    };
                    context.Students.AddOrUpdate(s => s.Name, student);

                    line = sr.ReadLine();
                }
            }

            context.SaveChanges();

            using (var sr = new StreamReader(@"E:\SoftUni\Databases\Advanced\Relations\Exercises\StudentSystem\courses.txt"))
            {
                sr.ReadLine();
                var line     = sr.ReadLine();
                var students = context.Students.Local;
                while (line != null)
                {
                    var data        = line.Split(new[] { ';' }, 5);
                    var name        = data[0];
                    var description = data[1];
                    var startDate   = DateTime.ParseExact(data[2], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var endDate     = DateTime.ParseExact(data[3], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var price       = decimal.Parse(data[4]);

                    //var studentsCount = random.Next(0, students.Count());
                    //var courseStudents = new HashSet<Student>();
                    //for (var i = 1; i <= studentsCount; i++)
                    //{
                    //    var studentIndex = random.Next(0, studentsCount);
                    //    var student = students[studentIndex];
                    //    courseStudents.Add(student);
                    //}

                    //var course = new Course()
                    //{
                    //    Name = name,
                    //    Description = description,
                    //    StartDate = startDate,
                    //    EndDate = endDate,
                    //    Price = price,
                    //    Students = courseStudents
                    //};

                    var course = context.Courses.FirstOrDefault(c => c.Name == name) ?? new Course
                    {
                        Name        = name,
                        Description = description,
                        StartDate   = startDate,
                        EndDate     = endDate,
                        Price       = price,
                    };

                    var studentsCount  = random.Next(0, students.Count + 1);
                    var courseStudents = course.Students;
                    for (var i = 1; i <= studentsCount; i++)
                    {
                        var studentIndex = random.Next(0, studentsCount);
                        var student      = students[studentIndex];
                        courseStudents.Add(student);
                    }

                    context.Courses.AddOrUpdate(c => c.Name, course);
                    line = sr.ReadLine();
                }
            }

            context.SaveChanges();

            using (var sr = new StreamReader(@"E:\SoftUni\Databases\Advanced\Relations\Exercises\StudentSystem\resources.txt"))
            {
                sr.ReadLine();
                var line         = sr.ReadLine();
                var courses      = context.Courses.Local;
                var coursesCount = courses.Count;
                while (line != null)
                {
                    var data         = line.Split(new[] { ';' }, 4);
                    var name         = data[0];
                    var resourceType = (ResourceType)Enum.Parse(typeof(ResourceType), data[1]);
                    var url          = data[2];
                    var courseIndex  = random.Next(0, coursesCount);
                    var course       = courses[courseIndex];

                    //var resource = context.Resources.FirstOrDefault(r => r.Name == name);
                    //if (resource != null)
                    //{
                    //    resource.Course = course;
                    //}
                    //else
                    //{
                    //    resource = new Resource()
                    //    {
                    //        Name = name,
                    //        ResourceType = resourceType,
                    //        Url = url,
                    //        Course = course
                    //    };
                    //}

                    var resource = new Resource
                    {
                        Name         = name,
                        ResourceType = resourceType,
                        Url          = url,
                        Course       = course
                    };

                    context.Resources.AddOrUpdate(r => r.Name, resource);
                    line = sr.ReadLine();
                }
            }

            context.SaveChanges();


            using (var sr = new StreamReader(@"E:\SoftUni\Databases\Advanced\Relations\Exercises\StudentSystem\homeworks.txt"))
            {
                sr.ReadLine();
                var line         = sr.ReadLine();
                var courses      = context.Courses.Local;
                var coursesCount = courses.Count;
                //var students = context.Students;
                //var studentsCount = students.Count();
                while (line != null)
                {
                    var data           = line.Split(new[] { ';' }, 5);
                    var content        = data[0];
                    var contentType    = (ContentType)Enum.Parse(typeof(ContentType), data[1]);
                    var submissionDate = DateTime.ParseExact(data[2], "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    var courseIndex    = random.Next(0, coursesCount);
                    var course         = courses[courseIndex];
                    var students       = course.Students.ToArray();
                    var studentsCount  = students.Count();
                    var studentIndex   = random.Next(0, studentsCount);
                    var student        = students[studentIndex];
                    //var homework = context.Homeworks.FirstOrDefault(h => h.Content == content);
                    //if (homework != null)
                    //{
                    //    homework.Course = course;
                    //    homework.Student = student;
                    //}
                    //else
                    //{
                    //    homework = new Homework
                    //    {
                    //        Content = content,
                    //        ContentType = contentType,
                    //        SubmissionDate = submissionDate,
                    //        Student = student,
                    //        Course = course
                    //    };
                    //}

                    var homework = new Homework
                    {
                        Content        = content,
                        ContentType    = contentType,
                        SubmissionDate = submissionDate,
                        Student        = student,
                        Course         = course
                    };

                    //student.Homeworks.Add(homework);
                    //course.Homeworks.Add(homework);
                    context.Homeworks.AddOrUpdate(h => h.Content, homework);
                    line = sr.ReadLine();
                }
            }

            context.SaveChanges();

            using (var reader = new StreamReader(@"E:\SoftUni\Databases\Advanced\Relations\Exercises\StudentSystem\licenses.txt"))
            {
                reader.ReadLine();
                var name = reader.ReadLine();
                while (name != null)
                {
                    name = name.Trim();
                    var resources      = context.Resources.Local;
                    var resourcesCount = resources.Count;
                    var resourceIndex  = random.Next(0, resourcesCount);
                    var resource       = resources[resourceIndex];
                    var license        = context.Licenses.FirstOrDefault(l => l.Name == name);
                    if (license != null)
                    {
                        license.Resource = resource;
                    }
                    else
                    {
                        license = new License {
                            Name = name, Resource = resource
                        };
                    }

                    context.Licenses.AddOrUpdate(l => l.Name, license);
                    name = reader.ReadLine();
                }
            }

            context.SaveChanges();
        }
Пример #15
0
        private void InitialSeed(StudentSystemContext context)
        {
            if (context.Students.Any() || context.Cources.Any() || context.Homeworks.Any() || context.Resources.Any())
            {
                return;
            }

            // seed courses
            Course sql = new Course
            {
                CourseName  = "SQL",
                Description = "procedures, triggers, transactions, views",
                StartDate   = DateTime.Now.AddMonths(-1),
                EndDate     = DateTime.Now.AddMonths(3),
                Price       = 100m
            };

            Course csharp = new Course
            {
                CourseName  = "C#",
                Description = "interfaces, delegates, events",
                StartDate   = DateTime.Now.AddMonths(-1),
                EndDate     = DateTime.Now.AddMonths(3),
                Price       = 200m
            };

            Course js = new Course
            {
                CourseName  = "JS",
                Description = "objects, prototypes, delegation",
                StartDate   = DateTime.Now.AddMonths(-1),
                EndDate     = DateTime.Now.AddMonths(3),
                Price       = 300m
            };

            context.Cources.AddOrUpdate(sql, csharp, js);

            // seed students
            Student aPeters = new Student
            {
                Name         = "Andrew Peters",
                RegisteredOn = DateTime.Now,
                Birthday     = DateTime.Now.AddYears(-26),
                Courses      = new[] { sql, csharp }
            };

            Student bLambson = new Student
            {
                Name         = "Brice Lambson",
                RegisteredOn = DateTime.Now,
                Birthday     = DateTime.Now.AddYears(-34),
                Courses      = new[] { csharp }
            };

            Student rMiller = new Student
            {
                Name         = "Rowan Miller",
                RegisteredOn = DateTime.Now,
                Birthday     = DateTime.Now.AddYears(-18),
                Courses      = new[] { csharp, js }
            };

            context.Students.AddOrUpdate(aPeters, bLambson, rMiller);

            //seed Homework
            Homework aPetersHomeworkCS = new Homework
            {
                Content        = "c# homework",
                ContentType    = ContentType.application,
                SubmissionDate = DateTime.Now,
                Student        = aPeters,
            };

            Homework aPetersHomeworkSQL = new Homework
            {
                Content        = "sql homework",
                ContentType    = ContentType.zip,
                SubmissionDate = DateTime.Now,
                Student        = aPeters
            };

            Homework bLambsonHomeworkCS = new Homework
            {
                Content        = "c# homework",
                ContentType    = ContentType.application,
                SubmissionDate = DateTime.Now,
                Student        = bLambson
            };

            Homework rMillerHomeworkCS = new Homework
            {
                Content        = "c# homework",
                ContentType    = ContentType.application,
                SubmissionDate = DateTime.Now,
                Student        = rMiller
            };

            Homework rMillerHomeworkJS = new Homework
            {
                Content        = "JS homework",
                ContentType    = ContentType.application,
                SubmissionDate = DateTime.Now,
                Student        = rMiller
            };

            context.Homeworks.AddOrUpdate(aPetersHomeworkCS, aPetersHomeworkSQL, bLambsonHomeworkCS, rMillerHomeworkCS, rMillerHomeworkJS);

            //seed resouces
            Resource csharpPresentation = new Resource()
            {
                Name         = "c# Presentation",
                ResourceType = ResourceType.presentation,
                Url          = "www.uni.com/csharp",
                Course       = csharp
            };

            Resource csharpLecture = new Resource()
            {
                Name         = "c# Lecture",
                ResourceType = ResourceType.video,
                Url          = "www.uni.com/csharp",
                Course       = csharp
            };

            Resource sqlPresentation = new Resource()
            {
                Name         = "sql Presentation",
                ResourceType = ResourceType.presentation,
                Url          = "www.uni.com/sql",
                Course       = sql
            };

            Resource sqlLecture = new Resource()
            {
                Name         = "sql Lecture",
                ResourceType = ResourceType.video,
                Url          = "www.uni.com/sql",
                Course       = sql
            };

            Resource jsPresentation = new Resource()
            {
                Name         = "js Presentation",
                ResourceType = ResourceType.presentation,
                Url          = "www.uni.com/js",
                Course       = js
            };

            Resource jsLecture = new Resource()
            {
                Name         = "js Lecture",
                ResourceType = ResourceType.video,
                Url          = "www.uni.com/js",
                Course       = js
            };

            context.Resources.AddOrUpdate(csharpPresentation, csharpLecture, sqlPresentation, sqlLecture, jsPresentation, jsLecture);
        }
Пример #16
0
        static void Main()
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion <StudentSystemContext, Configuration>());
            StudentSystemContext context = new StudentSystemContext();

            // 01. All students with their homework
            var studentsWithHomewrk = context.Students
                                      .Select(s => new { s.Name, Homework = s.Homeworks.Select(h => new { h.Content, h.ContentType }).ToList() })
                                      .ToList();

            //foreach (var student in studentsWithHomewrk)
            //{
            //    Console.WriteLine(student.Name);
            //    foreach (var homework in student.Homework)
            //    {
            //        Console.WriteLine($"Type: {homework.ContentType}, Content: {homework.Content}");
            //    }
            //}

            // 02. All courses and their resources

            var coursesAndResources =
                context.Courses.OrderBy(c => c.StartDate)
                .ThenByDescending(c => c.EndDate)
                .Select(c => new { c.Name, c.Description, c.Resources });

            //foreach (var courses in coursesAndResources)
            //{
            //    Console.WriteLine($"Course name: {courses.Name}, Course description: {courses.Description}");
            //    foreach (var resource in courses.Resources)
            //    {
            //        Console.WriteLine(resource);
            //    }
            //}

            // 03. All courses with more than 5 resources (haven't seeded such but oh well)

            context.Courses
            .Where(c => c.Resources.Count > 5)
            .OrderByDescending(c => c.Resources.Count)
            .ThenByDescending(c => c.StartDate)
            .Select(c => new { c.Name, c.StartDate })
            .ToList();
            //.ForEach(x => Console.WriteLine($"{x.Name} {x.StartDate}"));

            // 04. Active courses on a given date and students in 'em

            DateTime dateTime = DateTime.Parse("2016-08-01");


            context.Courses.Where(c => c.StartDate <dateTime && c.EndDate> dateTime)
            .OrderByDescending(c => c.Students.Count)
            .ThenByDescending(c => SqlFunctions.DateDiff("day", c.StartDate, c.EndDate))
            .Select(
                c => new { c.Name, c.StartDate, c.EndDate, Duration = SqlFunctions.DateDiff("day", c.StartDate, c.EndDate), c.Students.Count })
            .ToList();
            //.ForEach(
            //    x =>
            //        Console.WriteLine(
            //            $"Course: {x.Name} Period: {x.StartDate} - {x.EndDate} ({x.Duration} days). Attented by {x.Count} students "));

            // 05. All courses for students and some aggregates

            context.Students
            .Where(s => s.Courses.Any())
            .OrderByDescending(s => s.Courses.Sum(c => c.Price))
            .ThenByDescending(s => s.Courses.Count)
            .ThenBy(s => s.Name)
            .Select(
                s =>
                new
            {
                s.Name,
                s.Courses.Count,
                AvgPrice = s.Courses.Select(c => c.Price).Average(),
                Total    = s.Courses.Sum(c => c.Price)
            })
            .ToList()
            .ForEach(x => Console.WriteLine($"{x.Name} {x.Count} {x.AvgPrice} {x.Total}"));

            // 08. TagAttribute
        }
        static void Main()
        {
            var context       = new StudentSystemContext();
            var studentsConut = context.Students.Count();

            // Problem 3

            /* 3.1. Lists all students and their homework submissions. Select only their names and for each homework - content and
             *      content-type */

            var stHom = context.Homeworks.Where(h => h.StudentId == 1);

            foreach (var h in stHom)
            {
                Console.WriteLine(h.Content);
            }

            /*
             * var studentsHomeworks =
             *  context.Students.Select(s => new
             *                                 {
             *                                     s.Name,
             *                                     Homeworks = s.Courses.Select(c => c.Homeworks.Select(h => new
             *                                                                    {
             *                                                                        h.Content,
             *                                                                        h.ContentType
             *                                                                    }))
             *                                 });
             *
             * foreach (var sh in studentsHomeworks)
             * {
             *  Console.WriteLine("{0}, Homeworks: ", sh.Name);
             *  Console.WriteLine(new string('-', 25));
             *
             *  foreach (var course in sh.Homeworks)
             *  {
             *      foreach (var h in course)
             *      {
             *          Console.WriteLine("Content: {0}; Content Type: {1}", h.Content, h.ContentType);
             *      }
             *  }
             *  Console.WriteLine();
             * }
             */

            /* 3.2. List all courses with their corresponding resources. Select the course name and description and everything for
             *      each resource. Order the courses by start date (ascending), then by end date (descending)  */

            /*
             * var courses = context.Courses
             *          .OrderBy(c=> c.StartDate)
             *          .ThenByDescending(c => c.EndDate)
             *          .Select(c => new
             *          {
             *              c.Name,
             *              c.Description,
             *              Resources = c.Resources.Select(r => new
             *              {
             *                  r.Name,
             *                  r.ResourceType,
             *                  r.URL
             *              })
             *          });
             *
             * foreach (var c in courses)
             * {
             *  Console.WriteLine("Course: {0}; Description: {1}", c.Name, c.Description);
             *  Console.WriteLine("Resources:");
             *  foreach (var r in c.Resources)
             *  {
             *      Console.WriteLine("{0}, Type: {1}", r.Name, r.ResourceType);
             *      Console.WriteLine("Link: {0}", r.URL);
             *  }
             *  Console.WriteLine(new string('-', 25));
             *  Console.WriteLine();
             * }
             */

            /* 3.3. List all courses with more than 5 resources. Order them by resources count (descending),
             *      then by start date (descending). Select only the course name and the resource count */

            /*
             * var bigCourses = context.Courses
             *                      .Where(c => c.Resources.Count > 5)
             *                      .OrderByDescending(c => c.Resources.Count)
             *                      .ThenByDescending(c => c.StartDate)
             *                      .Select(c => new
             *                      {
             *                          c.Name,
             *                          ResourcesCount = c.Resources.Count
             *                      });
             *
             * foreach (var c in bigCourses)
             * {
             *  Console.WriteLine("Course: {0}, ResorsesCount = {1}", c.Name, c.ResourcesCount);
             * }
             */

            /* 3.4.	List all courses which were active on a given date (choose the date depending on the data seeded to ensure there
             *      are results), and for each course count the number of students enrolled. Select the course name, start and end date,
             *      course duration (difference between end and start date) and number of students enrolled.
             *      Order the results by the number of students enrolled (in descending order), then by duration (descending).  */
            /*
             * var activeCourses = context.Courses
             *                         .Where(c => c.StartDate < DateTime.Now && c.EndDate > DateTime.Now)
             *                         .ToList()
             *                         .OrderByDescending(c => c.Students.Count)
             *                         .ThenByDescending(c => (c.EndDate - c.StartDate).TotalDays)
             *                         .Select(c => new
             *                         {
             *                             c.Name,
             *                             c.StartDate,
             *                             c.EndDate,
             *                             Duration = (c.EndDate - c.StartDate).TotalDays,
             *                             StudentsCount = c.Students.Count
             *                         });
             *
             * foreach (var c in activeCourses)
             * {
             *  Console.WriteLine("Active Course: {0}, Start: {1}, End: {2}", c.Name, c.StartDate, c.EndDate);
             *  Console.WriteLine("Duration: {0} days, Students Count: {1}", c.Duration, c.StudentsCount);
             *  Console.WriteLine();
             * }
             */

            /* 3.5. For each student, calculate the number of courses she’s enrolled in, the total price of these courses and the
             *      average price per course for the student. Select the student name, number of courses, total price and average price.
             *      Order the results by total price (descending), then by number of courses (descending) and
             *      then by the student’s name (ascending). */

            /*
             * var allStudents = context.Students
             *                         .OrderByDescending(s => s.Courses.Sum(c => c.Price))
             *                         .ThenByDescending(s => s.Courses.Count)
             *                         .ThenBy(s => s.Name)
             *                         .Select(s => new
             *                         {
             *                             s.Name,
             *                             CoursesCount = s.Courses.Count,
             *                             TotalPrice = s.Courses.Sum(c => c.Price),
             *                             AvgPrice = s.Courses.Sum(c => c.Price) / s.Courses.Count
             *                             //AveragePrice = s.Courses.Average(c => c.Price)
             *                         });
             *
             * foreach (var s in allStudents)
             * {
             *    Console.WriteLine("Student: {0}, Courses enrolled in: {1}", s.Name, s.CoursesCount);
             *    Console.WriteLine("Total price: {0:f2} lv., Average price: {1:f2} lv.", s.TotalPrice, s.AvgPrice);
             *    Console.WriteLine();
             * }
             */
            var start = DateTime.Parse("01.12.2015");
            var end   = DateTime.Parse("30-Jan-2015");

            // Console.WriteLine(start);
            Console.WriteLine(start);
        }
Пример #18
0
        private void SeedDbWithSampleData(StudentSystemContext db)
        {
            var studentOne = new Student
            {
                Name             = "Gosho",
                RegistrationDate = new DateTime(2000, 10, 19),
                Birthday         = new DateTime(1989, 01, 01),
                PhoneNumber      = "0887999123"
            };

            var studentTwo = new Student
            {
                Name             = "Pesho",
                RegistrationDate = new DateTime(2001, 11, 20),
                Birthday         = new DateTime(1989, 01, 01),
                PhoneNumber      = "0887999123"
            };

            var studentThree = new Student
            {
                Name             = "Ivan",
                RegistrationDate = new DateTime(2002, 12, 21),
                Birthday         = new DateTime(1989, 01, 01),
                PhoneNumber      = "0887999123"
            };

            var courseOne = new Course
            {
                Name        = "C#",
                StartDate   = new DateTime(2015, 01, 02),
                EndDate     = new DateTime(2015, 02, 03),
                Price       = 210M,
                Description = "A course about C#"
            };

            var courseTwo = new Course
            {
                Name        = "Java",
                StartDate   = new DateTime(2015, 05, 02),
                EndDate     = new DateTime(2015, 06, 10),
                Price       = 200M,
                Description = "Java stuff"
            };

            var courseThree = new Course
            {
                Name        = "JS",
                StartDate   = new DateTime(2015, 08, 02),
                EndDate     = new DateTime(2015, 09, 12),
                Price       = 150M,
                Description = "JavaScript things"
            };

            db.Students.Add(studentOne);
            db.Students.Add(studentTwo);
            db.Students.Add(studentThree);

            db.Courses.Add(courseOne);
            db.Courses.Add(courseTwo);
            db.Courses.Add(courseThree);

            db.SaveChanges();

            studentOne = db.Students
                         .Include(s => s.Courses)
                         .Include(s => s.Homework)
                         .FirstOrDefault(s => s.Name == "Gosho");

            studentTwo = db.Students
                         .Include(s => s.Courses)
                         .Include(s => s.Homework)
                         .FirstOrDefault(s => s.Name == "Pesho");

            studentThree = db.Students
                           .Include(s => s.Courses)
                           .Include(s => s.Homework)
                           .FirstOrDefault(s => s.Name == "Ivan");

            courseOne = db.Courses
                        .Include(c => c.Students)
                        .Include(c => c.Resources)
                        .Include(c => c.HWSubmissions)
                        .FirstOrDefault(c => c.Name == "C#");

            courseTwo = db.Courses
                        .Include(c => c.Students)
                        .Include(c => c.Resources)
                        .Include(c => c.HWSubmissions)
                        .FirstOrDefault(c => c.Name == "Java");

            courseThree = db.Courses
                          .Include(c => c.Students)
                          .Include(c => c.Resources)
                          .Include(c => c.HWSubmissions)
                          .FirstOrDefault(c => c.Name == "JS");

            studentOne.Courses.Add(new StudentCourse
            {
                CourseId = courseOne.Id
            });

            studentOne.Courses.Add(new StudentCourse
            {
                CourseId = courseThree.Id
            });

            studentTwo.Courses.Add(new StudentCourse
            {
                CourseId = courseTwo.Id
            });

            studentThree.Courses.Add(new StudentCourse
            {
                CourseId = courseOne.Id
            });

            studentThree.Courses.Add(new StudentCourse
            {
                CourseId = courseTwo.Id
            });

            studentThree.Courses.Add(new StudentCourse
            {
                CourseId = courseThree.Id
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextOne",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextTwo",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextThree",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextFour",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextFive",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseOne.Resources.Add(new Resource
            {
                Name         = "SampleTextSix",
                ResourceType = Models.Enums.ResourceType.Document,
                Url          = "www.softuni.bg"
            });

            courseTwo.Resources.Add(new Resource
            {
                Name         = "SampleVideo",
                ResourceType = Models.Enums.ResourceType.Video,
                Url          = "www.youtube.com"
            });

            courseThree.Resources.Add(new Resource
            {
                Name         = "SimplePresentation",
                ResourceType = Models.Enums.ResourceType.Presentation,
                Url          = "www.google.com"
            });

            studentOne.Homework.Add(new Homework
            {
                Content        = "BlablaST1",
                ContentType    = Models.Enums.ContentType.Pdf,
                SubmissionDate = new DateTime(2017, 10, 20),
                CourseId       = courseOne.Id
            });

            studentOne.Homework.Add(new Homework
            {
                Content        = "BlablaST12",
                ContentType    = Models.Enums.ContentType.Zip,
                SubmissionDate = new DateTime(2017, 10, 25),
                CourseId       = courseTwo.Id
            });

            studentTwo.Homework.Add(new Homework
            {
                Content        = "BlablaST2",
                ContentType    = Models.Enums.ContentType.Pdf,
                SubmissionDate = new DateTime(2017, 10, 2),
                CourseId       = courseOne.Id
            });

            studentThree.Homework.Add(new Homework
            {
                Content        = "BlablaST3",
                ContentType    = Models.Enums.ContentType.Application,
                SubmissionDate = new DateTime(2017, 10, 10),
                CourseId       = courseThree.Id
            });

            db.SaveChanges();

            var licenseOne = new License
            {
                Name       = "SimpleResourceOne",
                ResourceId = 1
            };

            var licenseTwo = new License
            {
                Name       = "SimpleResourceTwo",
                ResourceId = 1
            };

            var licenseThree = new License
            {
                Name       = "SimpleResourceThree",
                ResourceId = 2
            };

            db.Licenses.Add(licenseOne);
            db.Licenses.Add(licenseTwo);
            db.Licenses.Add(licenseThree);

            db.SaveChanges();
        }
Пример #19
0
 private static void ResetDatabase(StudentSystemContext db)
 {
     db.Database.EnsureDeleted();
     db.Database.Migrate();
     Seed(db);
 }
Пример #20
0
 public BaseController()
 {
     this.context = new StudentSystemContext();
 }
Пример #21
0
        public SchoolsController()
        {
            StudentSystemContext context = new StudentSystemContext();

            this.data = new EfRepository <School>(context);
        }
Пример #22
0
        static void Main()
        {
            StudentSystemContext dbContext = new StudentSystemContext();

            dbContext.Database.EnsureCreated();
        }
Пример #23
0
        private static void Main()
        {
            var db = new StudentSystemContext();

            db.Database.EnsureCreated();
        }
Пример #24
0
        static void Main()
        {
            var context = new StudentSystemContext();

            // 1. Lists all students and their homework submissions.
            // Select only their names and for each homework - content and content-type.

            var studentsWithHomeworks = context.Students
                                        .Select(s => new
            {
                s.Name,
                Homeworks = s.Homeworks
                            .Select(h => new
                {
                    h.Content,
                    h.ContentType
                })
                            .ToList()
            })
                                        .ToList();

            foreach (var student in studentsWithHomeworks)
            {
                Console.WriteLine("-- {0}", student.Name);

                if (student.Homeworks.Any())
                {
                    foreach (var homework in student.Homeworks)
                    {
                        Console.WriteLine("[{0}] - {1}", homework.Content, homework.ContentType);
                    }
                }
                else
                {
                    Console.WriteLine("(No homeworks)");
                }
            }

            // 2. List all courses with their corresponding resources.
            // Select the course name and description and everything for each resource.
            // Order the courses by start date (ascending), then by end date (descending).

            var coursesWithResources = context.Courses
                                       .OrderBy(c => c.StartDate)
                                       .ThenByDescending(c => c.EndDate)
                                       .Select(c => new
            {
                c.Name,
                c.Description,
                Resources = c.Resources.ToList()
            })
                                       .ToList();

            foreach (var course in coursesWithResources)
            {
                Console.WriteLine("-- {0} - {1}", course.Name, course.Description);

                foreach (var resource in course.Resources)
                {
                    Console.WriteLine("{0} - {1} - {2}", resource.Name, resource.ResourceType, resource.URL);
                }
            }

            // 3. List all courses with more than 5 resources.
            // Order them by resources count (descending), then by start date (descending).
            // Select only the course name and the resource count.

            var coursesWithMoreThan5Resources = context.Courses
                                                .OrderByDescending(c => c.Resources.Count)
                                                .ThenByDescending(c => c.StartDate)
                                                .Select(c => new
            {
                c.Name,
                c.Resources.Count
            })
                                                .ToList();

            foreach (var course in coursesWithMoreThan5Resources)
            {
                Console.WriteLine("-- {0} - {1}", course.Name, course.Count);
            }

            // 4. List all courses which were active on a given date (choose the date depending
            // on the data seeded to ensure there are results), and for each course count the number of students enrolled.
            // Select the course name, start and end date, course duration (difference between end and start date)
            // and number of students enrolled. Order the results by the number of students
            // enrolled (in descending order), then by duration (descending).

            DateTime specificDate             = new DateTime(2014, 7, 5);
            var      activeCoursesOnGivenDate = context.Courses
                                                .Where(c => c.StartDate <= specificDate && specificDate <= c.EndDate)
                                                .OrderByDescending(c => c.Students.Count())
                                                .ThenByDescending(c => EntityFunctions.DiffDays(c.StartDate, c.EndDate))
                                                .Select(c => new
            {
                c.Name,
                c.StartDate,
                c.EndDate,
                Duration      = EntityFunctions.DiffDays(c.StartDate, c.EndDate),
                StudentsCount = c.Students.Count
            })
                                                .ToList();

            foreach (var course in activeCoursesOnGivenDate)
            {
                Console.WriteLine("-- {0}, start: {1}, end: {2}, duration: {3} days, students: {4}",
                                  course.Name,
                                  course.StartDate,
                                  course.EndDate,
                                  course.Duration,
                                  course.StudentsCount);
            }

            // 5. For each student, calculate the number of courses he/she has enrolled in,
            // the total price of these courses and the average price per course for the student.
            // Select the student name, number of courses, total price and average price.
            // Order the results by total price (descending), then by number of courses (descending)
            // and then by the student's name (ascending).

            var studentsWithCourses = context.Students
                                      .Where(s => s.Courses.Any())
                                      .OrderByDescending(s => s.Courses.Sum(c => c.Price))
                                      .ThenByDescending(s => s.Courses.Count)
                                      .ThenBy(s => s.Name)
                                      .Select(s => new
            {
                s.Name,
                EnrolledCourses = s.Courses.Count,
                TotalPrice      = s.Courses.Sum(c => c.Price),
                AveragePrice    = s.Courses.Average(c => (int)c.Price)
            })
                                      .ToList();

            foreach (var student in studentsWithCourses)
            {
                Console.WriteLine("-- {0}, courses: {1}, total price: {2}, average price: {3:f2}",
                                  student.Name,
                                  student.EnrolledCourses,
                                  student.TotalPrice,
                                  student.AveragePrice);
            }
        }
Пример #25
0
 private static void SeedResources(StudentSystemContext db)
 {
     ResouceGenerator.InitialResourseSeed(db);
 }
Пример #26
0
        // Problem 01 - Code First Student System
        // Problem 02 - Seed Some Data in the Database
        // Problem 03 - Working with the Database
        // Problem 04 - Resource Licenses
        public static void Main()
        {
            StudentSystemContext context = new StudentSystemContext();

            context.Database.Initialize(true);
        }
Пример #27
0
 private static void SeedCourses(StudentSystemContext db, int count)
 {
     CourseGenerator.InitialCourseSeed(db, count);
 }
 private static void SeedStudents(StudentSystemContext context)
 {
     StudentGenerator.InitialStudentsSeed(context);
 }
Пример #29
0
        static void Seed(StudentSystemContext dbContext)
        {
            var students = new[]
            {
                new Student
                {
                    Birthday     = new DateTime(1985, 2, 3),
                    Name         = "Pesho Ivanov",
                    PhoneNumber  = "0888123456",
                    RegisteredOn = new DateTime(2015, 6, 7)
                },

                new Student
                {
                    Name         = "Gosho Petrov",
                    RegisteredOn = new DateTime(2016, 3, 5)
                },

                new Student
                {
                    Name         = "Stamat Ivanov",
                    Birthday     = new DateTime(1995, 1, 7),
                    RegisteredOn = new DateTime(2016, 12, 20)
                },

                new Student
                {
                    Name         = "Mihail Stamatov",
                    RegisteredOn = new DateTime(2017, 1, 7),
                    PhoneNumber  = "0877445566"
                }
            };

            dbContext.Students.AddRange(students);

            var courses = new[]
            {
                new Course
                {
                    Name        = "JS Fundamentals",
                    Description = "JS for beginners",
                    StartDate   = new DateTime(2016, 9, 18),
                    EndDate     = new DateTime(2016, 10, 20),
                    Price       = 180.00m
                },

                new Course
                {
                    Name      = "JS Advanced",
                    StartDate = new DateTime(2016, 10, 21),
                    EndDate   = new DateTime(2016, 11, 19),
                    Price     = 180.00m
                },

                new Course
                {
                    Name        = "Js Applications",
                    StartDate   = new DateTime(2016, 11, 20),
                    EndDate     = new DateTime(2016, 12, 18),
                    Description = "JS Приложения",
                    Price       = 200.00m
                }
            };

            dbContext.Courses.AddRange(courses);

            var resources = new[]
            {
                new Resource
                {
                    Name         = "Intro",
                    Url          = "softuni.bg/resources/0123456789",
                    ResourceType = ResourceType.Presentation,
                    Course       = courses[0]
                },

                new Resource
                {
                    Name         = "OOP Intro",
                    Url          = "softuni.bg/resources/1245687",
                    ResourceType = ResourceType.Video,
                    Course       = courses[1]
                },

                new Resource
                {
                    Name         = "Objects",
                    Url          = "softuni.bg/resources/556688",
                    ResourceType = ResourceType.Document,
                    Course       = courses[0]
                }
            };

            dbContext.Resources.AddRange(resources);

            var homeworks = new[]
            {
                new Homework
                {
                    Content        = "softuni.bg/homeworks/124578",
                    ContentType    = ContentType.Zip,
                    SubmissionTime = new DateTime(2016, 2, 5, 12, 45, 55),
                    Course         = courses[0],
                    Student        = students[2]
                },

                new Homework
                {
                    Content        = "softuni.bg/homeworks/225588",
                    ContentType    = ContentType.Pdf,
                    SubmissionTime = new DateTime(2017, 5, 8, 14, 22, 36),
                    Course         = courses[1],
                    Student        = students[0]
                },

                new Homework
                {
                    Content        = "softuni.bg/homeworks/44778855",
                    ContentType    = ContentType.Application,
                    SubmissionTime = new DateTime(2017, 4, 6, 18, 22, 54),
                    Course         = courses[1],
                    Student        = students[2]
                }
            };

            dbContext.HomeworkSubmissions.AddRange(homeworks);

            var studentcourses = new[]
            {
                new StudentCourse
                {
                    Student = students[0],
                    Course  = courses[0]
                },

                new StudentCourse
                {
                    Student = students[1],
                    Course  = courses[0]
                },

                new StudentCourse
                {
                    Student = students[1],
                    Course  = courses[2]
                }
            };

            dbContext.StudentCourses.AddRange(studentcourses);

            dbContext.SaveChanges();
        }
 private static void SeedCourses(StudentSystemContext context)
 {
     CourseGenerator.InitialCourseSeed(context);
 }
Пример #31
0
 public static void Main()
 {
     using (var dbContext = new StudentSystemContext())
     {
     }
 }
 private static void SeedResources(StudentSystemContext context)
 {
     ResourceGenerator.InitialResourceSeed(context);
 }
 private static void SeedHomeworkSubmissions(StudentSystemContext context)
 {
     HomeworkSubmissionsGenerator.InitialHomeworkSubmissionSeed(context);
 }
        private static void Seed(StudentSystemContext db)
        {
            var Students = new[]
            {
                new Student()
                {
                    Name         = "Atanas Kambitov",
                    RegisteredOn = Convert.ToDateTime("01-02-2000"),
                    PhoneNumber  = "1234567890"
                },

                new Student()
                {
                    Name         = "Asen Kambitov",
                    RegisteredOn = Convert.ToDateTime("07-01-2010"),
                    PhoneNumber  = "1131562890"
                },
                new Student()
                {
                    Name         = "Stefan Kambitov",
                    RegisteredOn = Convert.ToDateTime("05-05-2008"),
                    BirthDay     = Convert.ToDateTime("05-02-1974"),
                    PhoneNumber  = "1232543210"
                },

                new Student()
                {
                    Name         = "Anton Stoqnov",
                    RegisteredOn = Convert.ToDateTime("03-09-2009"),
                    BirthDay     = Convert.ToDateTime("11-11-1974"),
                    PhoneNumber  = "1131212840"
                }
            };

            db.Students.AddRange(Students);

            var Courses = new[]
            {
                new Course()
                {
                    Name        = "Programming Basics",
                    Description = "Easy course for beginners !",
                    StartDate   = Convert.ToDateTime("25-05-2016"),
                    EndDate     = Convert.ToDateTime("29-06-2016"),
                    Price       = 330
                },

                new Course()
                {
                    Name      = "Programming Fundamentals",
                    StartDate = Convert.ToDateTime("25-07-2016"),
                    EndDate   = Convert.ToDateTime("29-08-2016"),
                    Price     = 390
                },

                new Course()
                {
                    Name        = "Software Technologies",
                    Description = "Learn deferent working technologies !",
                    StartDate   = Convert.ToDateTime("05-09-2016"),
                    EndDate     = Convert.ToDateTime("09-08-2016"),
                    Price       = 350
                },

                new Course()
                {
                    Name        = "Databases Basics",
                    Description = "Basic learning of databases !",
                    StartDate   = Convert.ToDateTime("25-05-2016"),
                    EndDate     = Convert.ToDateTime("29-06-2016"),
                    Price       = 290
                },
            };

            db.Courses.AddRange(Courses);

            var StudentCourses = new[]
            {
                new StudentCourse()
                {
                    Student = Students[1], Course = Courses[1]
                },
                new StudentCourse()
                {
                    Student = Students[2], Course = Courses[1]
                },
                new StudentCourse()
                {
                    Student = Students[0], Course = Courses[0]
                },
                new StudentCourse()
                {
                    Student = Students[0], Course = Courses[2]
                }
            };

            db.StudentsCourses.AddRange(StudentCourses);

            var Resourses = new[]
            {
                new Resource()
                {
                    Name         = "ResourseOne",
                    Url          = "https://www.softuni.bg",
                    ResourceType = ResourceType.Document,
                    CourseId     = Courses[2].CourseId
                },

                new Resource()
                {
                    Name         = "ResourseTwo",
                    Url          = "https://www.youtube.bg",
                    ResourceType = ResourceType.Video,
                    CourseId     = Courses[0].CourseId
                },

                new Resource()
                {
                    Name         = "ResourseThree",
                    Url          = "https://www.facebook.bg",
                    ResourceType = ResourceType.Other,
                    CourseId     = Courses[2].CourseId
                },
            };

            db.Resources.AddRange(Resourses);

            var HomeworksSubmissions = new[]
            {
                new Homework()
                {
                    Content        = "contentOne",
                    ContentType    = ContentType.Application,
                    SubmissionTime = Convert.ToDateTime("04-06-2015"),
                    StudentId      = Students[0].StudentId,
                    CourseId       = Courses[1].CourseId
                },

                new Homework()
                {
                    Content        = "contentTwo",
                    ContentType    = ContentType.Zip,
                    SubmissionTime = Convert.ToDateTime("01-08-2011"),
                    StudentId      = Students[1].StudentId,
                    CourseId       = Courses[2].CourseId
                },

                new Homework()
                {
                    Content        = "contentOne",
                    ContentType    = ContentType.Pdf,
                    SubmissionTime = Convert.ToDateTime("08-06-2017"),
                    StudentId      = Students[2].StudentId,
                    CourseId       = Courses[0].CourseId
                }
            };

            db.Homework.AddRange(HomeworksSubmissions);



            db.SaveChanges();
        }