private async Task Load() { if (AccountsManagerViewModel.LoadCommand.CanExecute(null)) { await AccountsManagerViewModel.LoadCommand.ExecuteAsync(null); await GmcManager.InitializeAsync(AccountsManagerViewModel.Accounts); } }
public MainViewModel() { // Initialize Data layer var fs = new MyAccounts.Business.IO.WindowsFileSystem(); var workingCopy = new WorkingCopy(fs, Properties.Settings.Default.WorkingFolder); var accountsRepository = new AccountsRepository(workingCopy); var accountCommandRepository = new AccountCommandRepository(workingCopy); var placesRepository = new PlacesRepository(); var placeProvider = PlaceProvider.Load(placesRepository); var placeInfoResolver = new PlaceInfoResolver(placeProvider); var operationPatternTransformer = new UnifiedAccountOperationPatternTransformer(placeInfoResolver); var operationsRepository = new OperationsRepository(workingCopy, new CsvAccountOperationManager(), operationPatternTransformer); // Initialize Managers var operationsManager = new OperationsManager(App.CacheManager, operationsRepository); var accountsManager = new AccountsManager(App.CacheManager, accountsRepository); var importManager = new ImportManager(App.CacheManager, accountCommandRepository, operationsManager); // Initialize View Models BusyIndicator = new BusyIndicatorViewModel(); ImportsManagerViewModel = new ImportsManagerViewModel(BusyIndicator, fs, importManager); OperationsManagerViewModel = new OperationsManagerViewModel(BusyIndicator, operationsManager, importManager); AccountsManagerViewModel = new AccountsManagerViewModel(BusyIndicator, accountsManager, operationsManager, importManager); DashboardViewModel = new DashboardViewModel(BusyIndicator); GmcManager = new GmcManager(BusyIndicator, App.CacheManager, operationsManager); _settingsManager = new SettingsManager(App.CacheManager); MessengerInstance.Register <Properties.Settings>(this, OnSettingsUpdated); _asyncMessageReceiver = new AsyncMessageReceiver(MessengerInstance); _asyncMessageReceiver.RegisterAsync <AccountDataInvalidated>(this, data => Refresh()); if (!IsInDesignMode) { LoadCommand = new AsyncCommand(Load); RefreshCommand = new AsyncCommand(Refresh); } else { AccountsManagerViewModel.Accounts.Add( new AccountViewModel { Name = "Blaise CC", Status = { Operations = 7, Balance = 2541.7345M, LastImportedOperation = "2012-0001" } }); AccountsManagerViewModel.CurrentAccount = AccountsManagerViewModel.Accounts.First(); } }
public static GmcManager PrepareGmcExecutor( ProfilePresetType profileType, string absolutePathToProject, string absolutePathToGothic2Root, string configurationFile) { var userGmcConfig = UserGmcConfigurationLoader.Load(absolutePathToProject, configurationFile); var gmcFolderPath = Path.Combine(absolutePathToGothic2Root, ".gmc"); var gothicFolder = GothicFolder.CreateFromPath(absolutePathToGothic2Root); var gmcFolder = GmcFolder.CreateFromPath(gmcFolderPath); var modFolder = ModFolder.CreateFromPath(absolutePathToProject); var profileResponse = ProfileDefinitionLoader.Load(profileType, gothicFolder, gmcFolder, modFolder, userGmcConfig); return(GmcManager.Create(profileResponse)); }