private void ConfigureContainer() { Container.Bind <IPersonReader>().To <SQLReader>(); // Service Reader configuration var serviceReaderUri = new ServiceReaderUri("http://localhost:9874"); Container.Bind <ServiceReaderUri>().ToConstant(serviceReaderUri); // CSV Reader Configuration var csvFilePath = new CSVReaderFilePath(AppDomain.CurrentDomain.BaseDirectory + "People.txt"); Container.Bind <CSVReaderFilePath>().ToConstant(csvFilePath); // SQL Reader configuration var sqlFileName = new SQLReaderDBFileName("people.db"); Container.Bind <SQLReaderDBFileName>().ToConstant(sqlFileName); }
private static void ComposeObjects() { // Data Reader var readerUri = new ServiceReaderUri("http://localhost:9874"); var reader = new ServiceReader(readerUri); // Retry Function var delay = new TimeSpan(0, 0, 3); var retryReader = new RetryReader(reader, delay); // Exception Logging Function var logFilePath = AppDomain.CurrentDomain.BaseDirectory + "ExceptionLog.txt"; var logger = new FileLogger(logFilePath); var loggingReader = new ExceptionLoggingReader(retryReader, logger); // Caching Function var cachingReader = new CachingReader(loggingReader); var viewModel = new PeopleViewModel(retryReader); Application.Current.MainWindow = new MainWindow(viewModel); }