private void ConfigureContainer() { // lets consider ServiceLocator is an anti-pattern // TODO use naming convention registering Container.RegisterInstance <IConfigProvider>(new ConfigProvider(AppSettings.Default, true)); Container.RegisterTypeAsSingleton <IJsonManager, JsonManager>(); Container.RegisterTypeAsSingleton <IAutoKeyboardInputHelper, AutoKeyboardInputHelper>(); Container.RegisterTypeAsSingleton <IApplicationUpdater, ApplicationUpdater.ApplicationUpdater>(); Container.RegisterTypeAsSingleton <IInvoicesXmlManager, InvoicesXmlManager>(); Container.RegisterTypeAsSingleton <ICsvLoader, CsvLoader>(); Container.RegisterTypeAsSingleton <IAutocompleteDataLoader, AutocompleteDataLoader>(); Container.RegisterTypeAsSingleton <ICurrencyConverter, CurrencyConverter>(); Container.RegisterTypeAsSingleton <IInvoiceConverter, InvoiceConverter>(); Container.RegisterTypeAsSingleton <ITransactionsReader, TransactionsReader>(); Container.RegisterTypeAsSingleton <IGpcGenerator, GpcGenerator>(); Container.RegisterTypeAsSingleton <IFileOperationService, FileOperationsService>(); Container.RegisterTypeAsSingleton <IMainWindowViewModel, MainWindowViewModel>(); Container.RegisterTypeAsSingleton <IDialogService, DialogService>(); Container.RegisterType <IManualChangeWindowViewModel, ManualChangeWindowViewModel>(); var autocompleteDataLoader = Container.Resolve <IAutocompleteDataLoader>(); _autocompleteData = autocompleteDataLoader.LoadSettings(); Container.RegisterInstance(_autocompleteData); _keyboardInputHelper = Container.Resolve <IAutoKeyboardInputHelper>(); // SHOULD BE HERE, otherwise will not get instantiated _appUpdater = Container.Resolve <IApplicationUpdater>(); _appUpdater.CheckUpdate(); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; // TODO avoid using }
public void SaveSettings(IAutocompleteData data) { _jsonManager.SerializeDictionaryToJson(data.PohodaProdCodeBySku, PohodaProdCodeBySkuJson); _jsonManager.SerializeDictionaryToJson(data.ProdWarehouseSectionBySku, ProdWarehouseSectionBySkuJson); _jsonManager.SerializeDictionaryToJson(data.ShippingNameBySku, ShippingNameBySkuJson); _jsonManager.SerializeDictionaryToJson(data.PackQuantitySku, ProductQuantityBySkuJson); _jsonManager.SerializeDictionaryToJson(data.CustomsDeclarationBySku, CustomsDeclarationBySkuJson); _jsonManager.SerializeDictionaryToJson(data.DefaultShippingByPartnerCountry, DefaultShippingByPartnerCountryJson); }
public InvoiceConverter(IAutocompleteData autocompleteData, ICurrencyConverter currencyConverter, ICsvLoader csvLoader, IInvoicesXmlManager invoicesXmlManager, IAutocompleteDataLoader autocompleteDataLoader, IDialogService dialogService) { _autocompleteData = autocompleteData; _currencyConverter = currencyConverter; _invoicesXmlManager = invoicesXmlManager; _autocompleteDataLoader = autocompleteDataLoader; _dialogService = dialogService; autocompleteDataLoader.LoadSettings(); _rates = csvLoader.LoadFixedCurrencyRates(); // TODO make it possible to choose from settings _vatPercentage = csvLoader.LoadCountryVatRates(); // TODO make it possible to choose from settings }