Ejemplo n.º 1
0
        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
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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
 }