public void CreateNewQuery_Execute() { QueryCreator creator = new QueryCreator(); Type elementType = typeof(Customer); Query <Customer> query = creator.CreateQuery(elementType); IQueryable <Customer> queryable; queryable = from c in query where c.ID == null //initialized with properties == null select c; IQueryProvider provider = ((IQueryable)query).Provider; //execute: var ienumerable = provider.Execute <IEnumerable <Customer> >(queryable.Expression); var list = ienumerable.ToList(); //new QueryCreator: creator = new QueryCreator(this.FnGetObjects); query = creator.CreateQuery(elementType); queryable = from c in query where c.ID == null //initialized with properties == null select c; provider.Execute <IEnumerable <Customer> >(queryable.Expression).ToList(); }
private void KeyActive(object sender, EventArgs e) { while (input.isKeyAvailable()) { KeyEventArgs keyArgs = new KeyEventArgs(); StudentInfoEventArgs studentInfoEventArgs = new StudentInfoEventArgs(); keyArgs.Cki = input.GetKey(); switch (keyArgs.Cki.Key) { case ConsoleKey.I: timer.KeyPress += inputBoxController.ChangeState; timer.OnKeyPress(keyArgs); timer.KeyPress -= inputBoxController.ChangeState; break; case ConsoleKey.Enter: timer.KeyPress += inputBoxController.ChangeState; timer.OnKeyPress(keyArgs); timer.KeyPress -= inputBoxController.ChangeState; if (inputBoxController.GetInput(2) != null) { queryCreator.CreateQuery(inputBoxController.GetInput(2)); studentInfoEventArgs.Query = queryCreator.ReturnQuery(); studentInfoEventArgs.RawInput = queryCreator.Input; studentInfoEventArgs.User = queryCreator.User; timer.StudentRequest += studentDBController.StudentRequestEventHandler; timer.OnStudentRequest(studentInfoEventArgs); timer.StudentRequest -= studentDBController.StudentRequestEventHandler; outputBoxController.FillOutputBox(studentDBController.ReturnOperaionResult()); } inputBoxController.NullInput(); queryCreator.NullQeury(); studentDBController.NullOperationResult(); break; case ConsoleKey.C: timer.KeyPress += outputBoxController.ClearOutputBox; timer.OnKeyPress(keyArgs); timer.KeyPress -= outputBoxController.ClearOutputBox; break; case ConsoleKey.S: outputBoxController.FillOutputBox(student.DisplayInfo()); break; } studentView.Render(); System.Threading.Thread.Sleep(100); } }
private void KeyActive(object sender, EventArgs e) { while (input.isKeyAvailable()) { // Here should be the current view being rendered KeyEventArgs keyArgs = new KeyEventArgs(); TeacherInfoEventArgs teacherInfoEventArgs = new TeacherInfoEventArgs(); keyArgs.Cki = input.GetKey(); // Here diffrent methods will be attached to the event based on the Key // Triggered and deleted if needed // This is a pure logic for a controller -- into a method switch (keyArgs.Cki.Key) { case ConsoleKey.LeftArrow: case ConsoleKey.RightArrow: timer.KeyPress += taskbarController.ChangeSelect; timer.OnKeyPress(keyArgs); timer.KeyPress -= taskbarController.ChangeSelect; break; case ConsoleKey.I: timer.KeyPress += inputBoxController.ChangeState; timer.OnKeyPress(keyArgs); timer.KeyPress -= inputBoxController.ChangeState; break; case ConsoleKey.Enter: timer.KeyPress += inputBoxController.ChangeState; timer.OnKeyPress(keyArgs); timer.KeyPress -= inputBoxController.ChangeState; if (inputBoxController.GetInput(2) != null) { queryCreator.CreateQuery(inputBoxController.GetInput(2), taskbar.ReturnStateAsInt()); if (taskbar.ReturnStateAsInt() == 4) { teacherInfoEventArgs.Action = 1; } else { teacherInfoEventArgs.Action = 0; } teacherInfoEventArgs.Query = queryCreator.ReturnQuery(); teacherInfoEventArgs.RawInput = queryCreator.Input; timer.TeacherRequest += teacherDBController.TeacherRequestEventHandler; timer.OnTeacherRequest(teacherInfoEventArgs); timer.TeacherRequest -= teacherDBController.TeacherRequestEventHandler; } if (teacherInfoEventArgs.Action == 1 && queryCreator.ReturnQuery() != null) { outputBoxController1.FillOutputBox(teacherDBController.ReturnOperaionResult()); } else { outputBoxController2.FillOutputBox(teacherDBController.ReturnOperaionResult()); } inputBoxController.NullInput(); queryCreator.NullQeury(); teacherDBController.NullOperationResult(); break; case ConsoleKey.C: timer.KeyPress += outputBoxController1.ClearOutputBox; timer.KeyPress += outputBoxController2.ClearOutputBox; timer.OnKeyPress(keyArgs); timer.KeyPress -= outputBoxController1.ClearOutputBox; timer.KeyPress -= outputBoxController2.ClearOutputBox; break; case ConsoleKey.T: outputBoxController1.FillOutputBox(teacher.DisplayInfo()); break; } teacherView.Render(); System.Threading.Thread.Sleep(100); } }