public void Run(IInterrogator <DataSet> interrogator) { subscription = interrogator.DataProvider.Subscribe(this); interrogator.Start(); string command; do { SystemConsole.WriteLine(); using (new ConsoleFormatter(ConsoleColor.DarkRed, ConsoleColor.White)) { SystemConsole.WriteLine("Type 'quit' to exit the application"); } using (new ConsoleFormatter(ConsoleColor.Gray, ConsoleColor.White)) { SystemConsole.WriteLine("Type 'refresh' to refresh views"); } command = SystemConsole.ReadLine(); if (command == "refresh") { interrogator.Refresh(); } } while (command != "quit"); interrogator.Stop(); }
public Dictionary <IPath, IList <object> > SelectEnumerablesAsRelated(IList <IPath> paths, object data) { Dictionary <IPath, IList <object> > values; if (paths.Count > 0) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); INavigator navigator = interrogator.CreateNavigator(data, paths[0].GetType()); if (navigator == null) { throw new Exception(string.Concat("Couldn't create a navigator for the path '", paths[0].ToString(), "'.")); } values = navigator.SelectEnumerablesAsRelated(paths); navigator.Dispose(); } else { values = new Dictionary <IPath, IList <object> >(); } return(values); }
public Dictionary <IPath, IList <object> > SelectEnumerablesAsRelated(IList <IPath> paths, object data) { Dictionary <IPath, IList <object> > values; if (paths.Count > 0) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); INavigator navigator = interrogator.CreateNavigator(data, paths[0].GetType()); if (navigator == null) { throw new Exception(string.Format(ErrorResource.CouldntCreateNavigator, paths[0])); } values = navigator.SelectEnumerablesAsRelated(paths); navigator.Dispose(); } else { values = new Dictionary <IPath, IList <object> >(); } return(values); }
public void DataTableInterrogator_CreateMapper_WhenDataTable_ExpectDataTableInterrogator() { //------------Setup for test-------------------------- DataTable obj = new DataTable(); //------------Execute Test--------------------------- IInterrogator interrogator = InterrogatorFactory.CreateInteregator(obj.GetType()); //------------Assert Results------------------------- Assert.AreEqual(typeof(DataTableInterrogator), interrogator.GetType()); }
public IEnumerable <IPath> Map(object data) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); IMapper mapper = interrogator.CreateMapper(data); if (mapper == null) { throw new Exception(string.Concat("Couldn't create a mapper for '", data.ToString(), "'.")); } return(mapper.Map(data)); }
public IEnumerable <IPath> Map(object data) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); IMapper mapper = interrogator.CreateMapper(data); if (mapper == null) { throw new Exception(string.Format(ErrorResource.CouldntCreateMapper, data)); } return(mapper.Map(data)); }
public IEnumerable <object> SelectEnumerable(IPath path, object data) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); INavigator navigator = interrogator.CreateNavigator(data, path.GetType()); if (navigator == null) { throw new Exception(string.Concat("Couldn't create a navigator for the path '", path.ToString(), "'.")); } IEnumerable <object> values = navigator.SelectEnumerable(path); navigator.Dispose(); return(values); }
public IEnumerable <object> SelectEnumerable(IPath path, object data) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); INavigator navigator = interrogator.CreateNavigator(data, path.GetType()); if (navigator == null) { throw new Exception(string.Format(ErrorResource.CouldntCreateNavigator, path)); } IEnumerable <object> values = navigator.SelectEnumerable(path); navigator.Dispose(); return(values); }
public object SelectScalar(IPath path, object data) { IInterrogator interrogator = InterrogatorFactory.CreateInteregator(data.GetType()); INavigator navigator = interrogator.CreateNavigator(data, path.GetType()); if (navigator == null) { throw new Exception(string.Format(ErrorResource.CouldntCreateNavigator, path)); } object value = navigator.SelectScalar(path); navigator.Dispose(); return(value); }
public void Run(IInterrogator <DataSet> interrogator) { subscription = interrogator.DataProvider.Subscribe(this); Action <object> changeContext = (args) => { ApplicationContext newContext = new ApplicationContext(context) { PlanId = viewModel.PlanId, SuiteId = viewModel.SuiteId, Keyword = viewModel.Keyword }; this.context = newContext; interrogator.SwitchContext(newContext); ShowSelectedView(); }; RelayCommand <object> changeContextCommand = new RelayCommand <object>(changeContext, args => true); RelayCommand <object> viewChangedCommand = new RelayCommand <object>(args => ShowSelectedView(), args => true); RelayCommand <object> closeCommand = new RelayCommand <object>(args => { interrogator.Stop(); Closing(); }, args => true); uiThread = new Thread(() => { viewModel = new MainViewModel(context, changeContextCommand, changeContextCommand, changeContextCommand, viewChangedCommand, closeCommand); MainForm mainForm = new MainForm { DataContext = viewModel }; try{ mainForm.ShowDialog(); } finally{ mainForm.Close(); } }) { IsBackground = true }; uiThread.SetApartmentState(ApartmentState.STA); uiThread.Start(); interrogator.Start(); //Do not return until the app finishes executing. uiThread.Join(); }
public void Ask(string question, IInterrogator interrogator) { Console.Out.Write(question); interrogator.AnsweredWith(Console.In.ReadLine(), this); }
public void OnNext <T>(IInterrogator <T> data) { //In a plugin workflow, we would use this event to create some kind of GameObject that could // parse some input and then callback to asker.AwaitingResponse.Value. scrpt.asker = data; }