Exemplo n.º 1
0
        // create teacher
        private static Teacher CreateTeacher(myDBContext context)
        {
            Course course = new Course();

            Console.WriteLine("Teacher Name: ");
            string name = Console.ReadLine();

            Console.WriteLine("AuID: ");
            string auid = Console.ReadLine();

            Console.WriteLine("Assign teacher to a course? type(y) for yes ");
            string input = Console.ReadLine();

            if (input == "y")
            {
                Console.WriteLine("type CourseID");
                course = findCourse(context);
            }

            Teacher teacher = new Teacher()
            {
                Name   = name,
                AuId   = auid,
                Course = course
            };

            course.Teachers = new List <Teacher>();
            course.Teachers.Add(teacher);
            context.Teachers.Add(teacher);
            return(teacher);
        }
Exemplo n.º 2
0
        private static Exercise CreateExeciseHelpRequest(myDBContext context)
        {
            Student  student  = findStudent(context);
            Exercise exercise = inputExercise(context);

            //Console.WriteLine("Lecture: ");
            //string lecture = Console.ReadLine();

            //Console.WriteLine("Number: ");
            //int number = int.Parse(Console.ReadLine());

            //Console.WriteLine("Help where?: ");
            //string helpWhere = Console.ReadLine();

            //Exercise exercise = new Exercise()
            //{
            //    Lecture = lecture,
            //    Number = number,
            //    HelpWhere = helpWhere
            //};

            if (student != null)
            {
                exercise.Student  = student;
                student.Exercises = new List <Exercise>();
                student.Exercises.Add(exercise);
            }
            return(exercise);
        }
Exemplo n.º 3
0
        // create assignmentHelpRequest
        private static Assignment CreateAssignmentHelpRequest(myDBContext context)
        {
            Student    student    = findStudent(context);
            Assignment assignment = inputAssignment(context);

            //Console.WriteLine("AssignmentName: ");
            //string assignmentName = Console.ReadLine();

            //Console.WriteLine("AssignmentNumber: ");
            //string assignmentNumber = Console.ReadLine();

            //Console.WriteLine("AssignmentID: ");
            //int assignmentId = int.Parse(Console.ReadLine());

            //Assignment assignment = new Assignment()
            //{
            //    AssignmentName = assignmentName,
            //    AssignmentNumber = assignmentNumber,
            //    AssignmentId = assignmentId
            //};

            if (student != null)
            {
                assignment.StudentAssignments = new List <StudentAssignment>()
                {
                    new StudentAssignment()
                    {
                        Student    = student,
                        Assignment = assignment,
                    }
                };
            }

            return(assignment);
        }
Exemplo n.º 4
0
        private static void View_Students_HelpRequest(myDBContext context)
        {
            Console.WriteLine("Find help request by students");
            string studentId = findStudent(context).AuId;


            Console.WriteLine("Needs help with: ");
            var exercises = context.Exercises.Where(e => e.StudentFKId == studentId && e.IsOpen == true)
                            .Select(e => new { e.ExerciseId, e.Lecture, e.Number, e.HelpWhere, e.IsOpen }).ToList();

            foreach (var e in exercises)
            {
                Console.WriteLine(e);
            }


            var studentsInShadowTabel = context.Students
                                        .Include(s => s.StudentAssignments).ThenInclude(row => row.Assignment)
                                        .First(s => s.AuId == studentId);

            foreach (var s in studentsInShadowTabel.StudentAssignments)
            {
                if (s.Assignment.IsOpen == true)
                {
                    Console.WriteLine(s.Assignment.ToString());
                }
            }
        }
Exemplo n.º 5
0
        //find
        #region Find methods
        // find student
        private static Student findStudent(myDBContext context)
        {
            ListAllStudents(context);
            Console.WriteLine("Choose student AuID: ");
            string auid = Console.ReadLine();

            return(context.Students.Where(s => s.AuId == auid).Single());
        }
Exemplo n.º 6
0
        //find teacher
        private static Teacher findTeacher(myDBContext context)
        {
            ListAllTeachers(context);
            Console.WriteLine("Choose Teacher AuID: ");
            string auid = Console.ReadLine();

            return(context.Teachers.Where(s => s.AuId == auid).Single());
        }
Exemplo n.º 7
0
        // find course
        private static Course findCourse(myDBContext context)
        {
            ListAllCourses(context);
            Console.WriteLine("Choose CourseID: ");
            int courseId = int.Parse(Console.ReadLine());

            return(context.Courses.Where(c => c.CourseId == courseId).Single());
        }
Exemplo n.º 8
0
 public static List <MyBook> GetAllBooks()
 {
     using (myDBContext db = new myDBContext())
     {
         var books = from o in db.MyBooks
                     select o;
         return(books.ToList());
     }
 }
Exemplo n.º 9
0
        private static void ListAllTeachers(myDBContext context)
        {
            Console.WriteLine("listing all teachers");
            var teachers = context.Teachers.ToList();

            foreach (var t in teachers)
            {
                Console.WriteLine($"Teacher name: {t.Name}, AuID: {t.AuId}");
            }
        }
Exemplo n.º 10
0
        //Lists
        #region Lists
        //lists

        private static void ListAllStudents(myDBContext context)
        {
            Console.WriteLine("listing all students");
            var students = context.Students.ToList();

            foreach (var s in students)
            {
                Console.WriteLine($"Student name: {s.Name}, AuID: {s.AuId}");
            }
        }
Exemplo n.º 11
0
        //find Assignment
        private static Assignment findAssignment(myDBContext context)
        {
            Console.WriteLine("AssignmentNumber: ");
            string assignmentNumber = Console.ReadLine();

            Console.WriteLine("AssignmentID: ");
            int assignmentId = int.Parse(Console.ReadLine());

            return(context.Assignments.Where(a => a.AssignmentNumber == assignmentNumber && a.AssignmentId == assignmentId).Single());
        }
Exemplo n.º 12
0
        private static void ListAllCourses(myDBContext context)
        {
            Console.WriteLine("listing all courses");
            var courses = context.Courses.ToList();

            foreach (var c in courses)
            {
                Console.WriteLine($"Course name: {c.Name}, CourseID: {c.CourseId}");
            }
        }
Exemplo n.º 13
0
        // find Execise
        private static Exercise findExercise(myDBContext context)
        {
            ListStudentHelpRequests(context);
            Console.WriteLine("Lecture: ");
            string lecture = Console.ReadLine();

            Console.WriteLine("Number: ");
            int number = int.Parse(Console.ReadLine());

            return(context.Exercises.Where(e => e.Lecture == lecture && e.Number == number).Single());
        }
Exemplo n.º 14
0
        private static void ListStudentHelpRequests(myDBContext context)
        {
            Console.WriteLine("type which student you are looking for");
            Student student      = findStudent(context);
            var     HelpRequests = student.Exercises;

            Console.WriteLine("Listing all students helpRequests");
            foreach (var e in student.Exercises)
            {
                Console.WriteLine($"Course: {e.Course}, Lecture: {e.Lecture}, Exercise Nr: {e.Number}, Location: {e.HelpWhere}");
            }
        }
Exemplo n.º 15
0
        //input assignment to couse
        private static Assignment inputAssignment(myDBContext context)
        {
            Course  course  = new Course();
            Course  temp    = findCourse(context);
            Teacher teacher = new Teacher();

            Console.WriteLine("AssignmentName: ");
            string assignmentName = Console.ReadLine();

            Console.WriteLine("AssignmentNumber: ");
            string assignmentNumber = Console.ReadLine();

            Console.WriteLine("Want a specific teacher? type(y) for yes ");
            string input = Console.ReadLine();

            if (input == "y")
            {
                Console.WriteLine("type teachers auID");
                teacher = findTeacher(context);
            }

            Assignment assignment = new Assignment()
            {
                AssignmentNumber = assignmentNumber,
                AssignmentName   = assignmentName,
                TeacherFKId      = teacher.AuId,
                IsOpen           = true
            };

            if (temp != null)
            {
                course = temp;
            }

            if (course != null)
            {
                course.Assignments = new List <Assignment>();
                course.Assignments.Add(assignment);
                assignment.Course = course;
                context.Assignments.Add(assignment);
            }
            else
            {
                Console.WriteLine("No course and no teacher");
                return(null);
            }
            return(assignment);
        }
Exemplo n.º 16
0
        // help With assigment
        private static Teacher HelpWithAssignment(myDBContext context)
        {
            Assignment assignment = findAssignment(context);
            Teacher    teacher    = CreateTeacher(context);

            if (assignment != null)
            {
                assignment.Teacher = teacher;
                teacher.Assignments.Add(assignment);
            }
            if (assignment == null)
            {
                return(null);
            }
            else
            {
                return(assignment.Teacher);
            }
        }
Exemplo n.º 17
0
        private static void Run()
        {
            Console.WriteLine("Please enter your user id, or if you are a new user, enter your desired user id");
            string   Name     = Console.ReadLine();
            Customer Customer = _customerSingleton.FindCustomer(Name);

            Console.WriteLine("Enter 1 to place order, 2 to view order history");
            string response = Console.ReadLine();

            if (response == "1")
            {
                myDBContext context = new myDBContext();
                var         order   = new Order();
                Console.WriteLine("Welcome to PizzaBox");
                DisplayStoreMenu();
                order.Customer = new Customer();
                int num = 0;
                SelectStore(ref num);
                order.Store  = _storeSingleton.Stores[num].Name;
                order.Pizzas = SelectPizza();
                Console.WriteLine($"Your total is ${order.GetPrice()}");
                Console.WriteLine($"{order.ToString()}");
                _storeSingleton.Stores[num].orders.Add(order);
                _storeSingleton.finish();
                _customerSingleton.AddOrder(order, Name);
                _customerSingleton.finish();

                var OH = new OrderHistory()
                {
                    StoreName    = _storeSingleton.Stores[num].Name,
                    CustomerName = Name,
                    TotalPrice   = (int)order.GetPrice(),
                };
                OH.SetPriceZero();
                context.Add(OH);
                context.SaveChanges();
            }
            else
            {
                Console.WriteLine(Customer.ToString());
            }
        }
Exemplo n.º 18
0
        // input execise to course
        private static Exercise inputExercise(myDBContext context)
        {
            Course  course  = findCourse(context);
            Teacher teacher = new Teacher();

            Console.WriteLine("Lecture: ");
            string lecture = Console.ReadLine();

            Console.WriteLine("Number: ");
            int number = int.Parse(Console.ReadLine());

            Console.WriteLine("Help where?: ");
            string helpWhere = Console.ReadLine();

            Console.WriteLine("Want a specific teacher? type(y) for yes ");
            string input = Console.ReadLine();

            if (input == "y")
            {
                Console.WriteLine("type teachers auID");
                teacher = findTeacher(context);
            }

            Exercise exercise = new Exercise()
            {
                Lecture     = lecture,
                Number      = number,
                HelpWhere   = helpWhere,
                TeacherFKId = teacher.AuId,
                IsOpen      = true
            };

            if (course != null)
            {
                course.Exercises = new List <Exercise>();
                course.Exercises.Add(exercise);
                context.Exercises.Add(exercise);
            }


            return(exercise);
        }
Exemplo n.º 19
0
        private static Teacher HelpWithExecise(myDBContext context)
        {
            // help with execise
            Exercise exercise = findExercise(context);
            Teacher  teacher  = CreateTeacher(context);

            if (exercise != null)
            {
                exercise.Teacher = teacher;
                teacher.Exercises.Add(exercise);
                exercise.IsOpen = false;
            }
            if (exercise == null)
            {
                return(null);
            }
            else
            {
                return(exercise.Teacher);
            }
        }
Exemplo n.º 20
0
        //create course
        private static Course CreateCourse(myDBContext context)
        {
            //Teacher teacher = findTeacher(context); // finder teacher der skal sættes til kurset

            Console.WriteLine("Course title: ");
            string title = Console.ReadLine();

            Course course = new Course()
            {
                Name = title,
                //CourseId = courseId
            };

            course.Teachers       = new List <Teacher>();
            course.StudentCourses = new List <StudentCourse>();
            course.Assignments    = new List <Assignment>();
            course.Exercises      = new List <Exercise>();



            return(course);
        }
Exemplo n.º 21
0
        private static void View_Print_all_helprequest(myDBContext context)
        {
            var courses = context.Courses.ToList();

            foreach (var c in courses)
            {
                Console.WriteLine(c.Name);
                var assignments = context.Assignments.Where(a => a.CourseFKId == c.CourseId);
                var exercises   = context.Exercises.Where(e => e.CourseFKId == c.CourseId);

                foreach (var a in assignments)
                {
                    Console.WriteLine(a.ToString());
                }

                foreach (var e in exercises)
                {
                    Console.WriteLine(e.ToString());
                }
                Console.WriteLine();
            }
        }
Exemplo n.º 22
0
        //create
        #region Create methods
        //create student
        private static Student CreateStudent(myDBContext context)
        {
            //Course course = findCourse(context);

            Console.WriteLine("Student Name: ");
            string name = Console.ReadLine();

            Console.WriteLine("Student AuID: ");
            string auid = Console.ReadLine();

            Student student = new Student()
            {
                Name = name,
                AuId = auid
            };

            student.Exercises          = new List <Exercise>();
            student.StudentAssignments = new List <StudentAssignment>();
            student.StudentCourses     = new List <StudentCourse>();

            return(student);
        }
Exemplo n.º 23
0
        //views

        #region views

        private static void View_Teacher_Course_HelpRequests(myDBContext context)
        {
            Console.WriteLine("Find help request with teacherId and courseId");
            string teacherId = findTeacher(context).AuId;
            int    courseId  = findCourse(context).CourseId;

            Console.WriteLine("Helps with: ");
            var exercises = context.Exercises.Where(e => e.TeacherFKId == teacherId && courseId == e.CourseFKId && e.IsOpen == true)
                            .Select(e => new { e.ExerciseId, e.Lecture, e.Number, e.HelpWhere }).ToList();

            foreach (var e in exercises)
            {
                Console.WriteLine(e);
            }

            var assignments = context.Assignments.Where(a => a.TeacherFKId == teacherId && courseId == a.CourseFKId && a.IsOpen == true)
                              .Select(a => new { a.AssignmentName, a.AssignmentNumber, a.AssignmentId }).ToList();

            foreach (var s in assignments)
            {
                Console.WriteLine(s);
            }
        }
Exemplo n.º 24
0
        static void Main(string[] args)
        {
            using (var context = new myDBContext())
            {
                while (true)
                {
                    Console.WriteLine("|----------------------------------------------------------------------------------------------------|");
                    System.Console.WriteLine("Type command");
                    System.Console.WriteLine("Usage");
                    System.Console.WriteLine("Create:\t s(Student), t(Teacher), c(Course), e(Exercise HelpRequest), a(Assignment HelpRequest)");
                    System.Console.WriteLine("Lists:\t ls(Students), lt(Teachers), lc(Courses)");
                    System.Console.WriteLine("Find:\t sfr(helpRequests by student), tcfr(help request by teacher/course)");
                    System.Console.WriteLine("print:\t pa (print all help requests)");
                    System.Console.WriteLine("Exit:\t x");
                    Console.WriteLine("|----------------------------------------------------------------------------------------------------|\n");

                    string line = Console.ReadLine();

                    switch (line)
                    {
                    case "s":
                        Student student = CreateStudent(context);
                        context.Students.Add(student);
                        context.SaveChanges();
                        break;

                    case "c":
                        Course course = CreateCourse(context);
                        context.Courses.Add(course);
                        context.SaveChanges();
                        break;

                    case "t":
                        Teacher teacher = CreateTeacher(context);
                        context.Teachers.Add(teacher);
                        context.SaveChanges();
                        break;

                    case "e":
                        Exercise exercise = CreateExeciseHelpRequest(context);
                        context.Exercises.Add(exercise);
                        context.SaveChanges();
                        break;

                    case "a":
                        Assignment assignment = CreateAssignmentHelpRequest(context);
                        context.Assignments.Add(assignment);
                        context.SaveChanges();
                        break;

                    case "ls":
                        ListAllStudents(context);
                        break;

                    case "lt":
                        ListAllTeachers(context);
                        break;

                    case "lc":
                        ListAllCourses(context);
                        break;

                    case "tcfr":
                        View_Teacher_Course_HelpRequests(context);
                        break;

                    case "sfr":
                        View_Students_HelpRequest(context);
                        break;

                    case "pa":
                        View_Print_all_helprequest(context);
                        break;

                    case "x":
                        System.Console.WriteLine("Exiting....");
                        return;

                    default:
                        System.Console.WriteLine("Unknown command");
                        break;
                    }
                }
            }
        }
Exemplo n.º 25
0
        static void StoreRun()
        {
            Console.WriteLine("Enter 1 for Domino's, 2 for Pizza Hut");
            int StoreChoice = int.Parse(Console.ReadLine());
            var context     = new myDBContext();
            var Store       = context.Stores.Single(a => a.Id == StoreChoice);

            Console.WriteLine("Enter 1 for complete order history, 2 for weekly revenue, 3 for monthly");
            int InformationChoice = int.Parse(Console.ReadLine());

            if (InformationChoice == 1)
            {
                var OrderList = context.Orders.Where(a => a.StoreId == Store.Id);
                foreach (var Order in OrderList)
                {
                    Console.WriteLine($"Customer {Order.CustomerId} spent {Order.Price} dollars on {Order.DateAndTime}");
                }
            }
            var           revenueRecords = new List <RevenueRecord>();
            SqlConnection connection     = new SqlConnection("Server=tcp:p1.database.windows.net,1433;Initial Catalog=myDB;User ID=p1;Password=Pword000");

            if (InformationChoice == 2)
            {
                SqlCommand cmd = new SqlCommand($"SELECT SUM(Price) AS REVENUE, DATEPART(YEAR, DateAndTime) AS YEAR, DATEPART(WEEK, DateAndTime) AS WEEK FROM Orders WHERE StoreID = {StoreChoice} GROUP BY DATEPART(YEAR, DateAndTime), DATEPART(WEEK, DateAndTime);", connection);
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        RevenueRecord revenueRecord = new RevenueRecord();
                        revenueRecord.Revenue = reader.GetDecimal(reader.GetOrdinal("REVENUE"));
                        revenueRecord.Year    = reader.GetInt32(reader.GetOrdinal("YEAR"));
                        revenueRecord.Week    = reader.GetInt32(reader.GetOrdinal("WEEK"));
                        revenueRecords.Add(revenueRecord);
                    }
                    foreach (RevenueRecord revenueRecord1 in revenueRecords)
                    {
                        Console.WriteLine(revenueRecord1.WeekPrint());
                    }
                }
            }
            else
            {
                //monthly rev
                SqlCommand cmd = new SqlCommand($"SELECT SUM(Price) AS REVENUE, DATEPART(YEAR, DateAndTime) AS YEAR, DATEPART(MONTH, DateAndTime) AS MONTH FROM Orders WHERE StoreID = {StoreChoice} GROUP BY DATEPART(YEAR, DateAndTime), DATEPART(MONTH, DateAndTime);", connection);
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        RevenueRecord revenueRecord = new RevenueRecord();
                        revenueRecord.Revenue = reader.GetDecimal(reader.GetOrdinal("REVENUE"));
                        revenueRecord.Year    = reader.GetInt32(reader.GetOrdinal("YEAR"));
                        revenueRecord.Month   = reader.GetInt32(reader.GetOrdinal("MONTH"));
                        revenueRecords.Add(revenueRecord);
                    }
                    foreach (RevenueRecord revenueRecord1 in revenueRecords)
                    {
                        Console.WriteLine(revenueRecord1.MonthPrint());
                    }
                }
            }
        }
Exemplo n.º 26
0
        static void Run()
        {
            bool CanOrder = true;
            //login + save the store visit
            var context = new myDBContext();

            Console.WriteLine("Enter your user ID");
            string CustomerName = Console.ReadLine();
            string StoreName    = "";

            Console.WriteLine("Enter 1 for Domino's, 2 for Pizza Hut");
            string Selection = Console.ReadLine();

            switch (Selection)
            {
            case "1":
                StoreName = "Dominoes";
                break;

            case "2":
                StoreName = "PizzaHut";
                break;
            }
            var CurrentDt = DateTime.Now;
            var Store     = context.Stores.Single(a => a.Name == StoreName);
            var Customer  = context.Customers.SingleOrDefault(a => a.Name == CustomerName);

            if (Customer == null)
            {
                Customer = new Customer()
                {
                    Name               = CustomerName,
                    LastTimeOrdered    = CurrentDt,
                    LastStoreVisited   = Store.Id,
                    LastStoreVisitTime = CurrentDt,
                };
                context.Add(Customer);
                context.SaveChanges();
            }
            else
            {
                if (Store.Id != Customer.LastStoreVisited && CurrentDt < Customer.LastStoreVisitTime.AddHours(24))
                {
                    Console.WriteLine($"You are still locked into {context.Stores.Single(a => a.Id == Customer.LastStoreVisited).Name}");
                    CanOrder = false;
                }
                else if (CurrentDt < Customer.LastTimeOrdered.AddHours(2))
                {
                    Console.WriteLine("You can only order once every 2 hours");
                    CanOrder = false;
                }
                else
                {
                    Customer.LastTimeOrdered    = CurrentDt;
                    Customer.LastStoreVisited   = Store.Id;
                    Customer.LastStoreVisitTime = CurrentDt;
                }
            }
            //finished login
            if (CanOrder)
            {
                var Order = new Order()
                {
                    CustomerId  = Customer.Id,
                    StoreId     = Store.Id,
                    DateAndTime = CurrentDt,
                };
                //this loops and allows the customer to add or complete their order
                Console.WriteLine("Enter 1 to order, 0 if you don't want to order or if you want to finalize your order");
                int     OrderOrNot      = int.Parse(Console.ReadLine());
                decimal OrderTotalPrice = 0;
                int     OrderSizeLimit  = 50;
                decimal PriceLimit      = 250;
                while (OrderOrNot != 0 && --OrderSizeLimit > -1)
                {
                    //SHOULD BE IN a while loop that repeatedly asks if user wants to add another pizza to order
                    //selecting a pizza preset
                    if (OrderOrNot == 1)
                    {
                        Console.WriteLine("Enter 1 for preset Pizza, 2 for custom");
                        int CustomOrPreset = int.Parse(Console.ReadLine());
                        if (CustomOrPreset == 1)
                        {
                            Console.WriteLine("Enter 2 for MeatPizza, 3 for Veggie");
                            int PizzaChoice = int.Parse(Console.ReadLine());
                            var Pizza       = context.Pizzas.FirstOrDefault(p => p.Id == PizzaChoice);
                            if (OrderTotalPrice + Pizza.Price > PriceLimit)
                            {
                                OrderOrNot = 0;
                                Console.WriteLine("You've exceed the order price limit, discarding the last selected pizza");
                            }
                            else
                            {
                                var OrderPizza = new OrderPizza()
                                {
                                    Order = Order,
                                    Pizza = Pizza,
                                    Price = Pizza.Price,
                                };
                                context.Add(OrderPizza);
                                OrderTotalPrice += Pizza.Price;
                            }
                        }
                        //custom pizza setup
                        else
                        {
                            Console.WriteLine("Pick a crust type");
                            foreach (Crust Crust in context.Crusts)
                            {
                                Console.WriteLine($"{Crust.Id}-{Crust.Type}: {Crust.Price}");
                            }
                            int CrustChoice = int.Parse(Console.ReadLine());
                            var ChosenCrust = context.Crusts.SingleOrDefault(a => a.Id == CrustChoice);

                            Console.WriteLine("Pick a size type");
                            foreach (Size Size in context.Sizes)
                            {
                                Console.WriteLine($"{Size.Id}-{Size.Type}: {Size.Price}");
                            }
                            int SizeChoice = int.Parse(Console.ReadLine());
                            var ChosenSize = context.Sizes.SingleOrDefault(a => a.Id == SizeChoice);

                            //Has to be modified to allow picking an array of toppings
                            decimal        PizzaPrice     = 0;
                            List <Topping> ChosenToppings = new List <Topping>();
                            ChosenToppings.Add(context.Toppings.Single(a => a.Id == 1));
                            ChosenToppings.Add(context.Toppings.Single(a => a.Id == 2));
                            PizzaPrice += 4;
                            for (int i = 0; i < 3; i++)
                            {
                                Console.WriteLine("Pick a Topping type, -1 to exit");
                                foreach (Topping Topping in context.Toppings)
                                {
                                    Console.WriteLine($"{Topping.Id}-{Topping.Type}: {Topping.Price}");
                                }
                                int ToppingChoice = int.Parse(Console.ReadLine());
                                if (ToppingChoice != -1)
                                {
                                    var ChosenTopping = context.Toppings.Single(a => a.Id == ToppingChoice);
                                    ChosenToppings.Add(ChosenTopping);
                                    PizzaPrice += ChosenTopping.Price;
                                }
                                else
                                {
                                    i = 24;
                                }
                            }
                            PizzaPrice += ChosenCrust.Price;
                            PizzaPrice += ChosenSize.Price;

                            //var Pizza = context.Pizzas.SingleOrDefault(a => a.Crust == ChosenCrust && a.Size == ChosenSize && a.PizzaToppings == { ChosenTopping} );
                            if (OrderTotalPrice + PizzaPrice > PriceLimit)
                            {
                                OrderOrNot = 0;
                                Console.WriteLine("You've exceed the order price limit, discarding the last selected pizza");
                            }
                            else
                            {
                                var OrderPizza = new OrderPizza()
                                {
                                    Order = Order,
                                    Price = PizzaPrice,
                                };
                                context.Add(OrderPizza);
                                OrderTotalPrice += PizzaPrice;
                            }
                        }
                        if (OrderOrNot == 1)
                        {
                            Console.WriteLine("Enter 1 to keep ordering, 0 if you want to finalize your order");
                            OrderOrNot = int.Parse(Console.ReadLine());
                        }
                    }
                }
                Order.Price = OrderTotalPrice;
                context.Add(Order);
                context.SaveChanges();
                //At this point we have the order and the OrderPizzas in the database,
                //Price is below 250 and # items is < 50
                //let user remove items if they choose

                Console.WriteLine("Enter 1 to modify your order, or 0 to see final price");
                int ModifyChoice = int.Parse(Console.ReadLine());
                while (ModifyChoice == 1)
                {
                    var Items = context.OrderPizzas
                                .Where(a => a.OrderId == Order.Id)
                                .ToList();
                    if (Items.Count > 0)
                    {
                        Console.WriteLine("Enter number corresponding to the order item you want removed");
                        foreach (var Item in Items)
                        {
                            Console.WriteLine($"{Item.Id}: Pizza that costs {Item.Price} dollars");
                        }
                        int ItemSelection = int.Parse(Console.ReadLine());
                        var ItemToRemove  = context.OrderPizzas.Single(a => a.OrderId == Order.Id && a.Id == ItemSelection);
                        context.OrderPizzas.Remove(ItemToRemove);
                        Order.Price -= ItemToRemove.Price;
                        context.SaveChanges();
                    }
                    else
                    {
                        Console.WriteLine("No items left to remove");
                    }
                    Console.WriteLine("Enter 1 to keep modifying your order, or 0 to see final price");
                    ModifyChoice = int.Parse(Console.ReadLine());
                }

                Console.WriteLine($"Final Price: {Order.Price}");
            }
        }