// 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); }
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); }
// 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); }
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()); } } }
//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()); }
//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()); }
// 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()); }
public static List <MyBook> GetAllBooks() { using (myDBContext db = new myDBContext()) { var books = from o in db.MyBooks select o; return(books.ToList()); } }
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}"); } }
//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}"); } }
//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()); }
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}"); } }
// 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()); }
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}"); } }
//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); }
// 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); } }
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()); } }
// 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); }
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); } }
//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); }
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(); } }
//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); }
//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); } }
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; } } } }
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()); } } } }
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}"); } }