public void SetUp() { _keeperDb = new KeeperDb(); _underTest = new RateExtractor(_keeperDb); _keeperDb.CurrencyRates = new ObservableCollection <CurrencyRate> { new CurrencyRate { BankDay = FirstDay, Currency = CurrencyCodes.BYR, Rate = 1, }, new CurrencyRate { BankDay = ThirdDay, Currency = CurrencyCodes.BYR, Rate = 2, }, new CurrencyRate { BankDay = ThirdDay, Currency = CurrencyCodes.EUR, Rate = 7, }, }; }
public void EncryptAndSerialize(KeeperDb db, string filename) { try { MadeDbxBackup(filename); } catch (Exception e) { MessageBox.Show(e.Message); } byte[] key = { 0xc5, 0x51, 0xf6, 0x4e, 0x97, 0xdc, 0xa0, 0x54, 0x89, 0x1d, 0xe6, 0x62, 0x3f, 0x27, 0x00, 0xca }; byte[] initVector = { 0xf3, 0x5e, 0x7a, 0x81, 0xae, 0x8c, 0xb4, 0x92, 0xd0, 0xf2, 0xe7, 0xc1, 0x8d, 0x54, 0x00, 0xd8 }; try { using (Stream fStream = new FileStream(filename, FileMode.Create, FileAccess.Write)) { var rmCrypto = new RijndaelManaged(); using (var cryptoStream = new CryptoStream(fStream, rmCrypto.CreateEncryptor(key, initVector), CryptoStreamMode.Write)) { var binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(cryptoStream, db); } } } catch (Exception e) { MessageBox.Show(e.Message); } }
public BankDepositRatesAndRulesViewModel(KeeperDb db) { _db = db; NewDate = DateTime.Today; // DepositOffersForCombobox = accountTreeStraightener.Flatten(_db.Accounts).Where(a => a.Deposit != null).ToList(); DepositOffersForCombobox = _db.BankDepositOffers.ToList(); }
public OpenOrEditDepositViewModel(KeeperDb db, IWindowManager windowManager) { _db = db; _windowManager = windowManager; InitializeListsForCombobox(); }
public NbRatesViewModel(KeeperDb db, NbRbRatesExtractor nbRbRatesExtractor) { var dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += DispatcherTimerTick; dispatcherTimer.Interval = new TimeSpan(0, 0, 1); dispatcherTimer.Start(); _backgroundWorker = new BackgroundWorker(); _backgroundWorker.WorkerReportsProgress = true; _backgroundWorker.WorkerSupportsCancellation = true; _backgroundWorker.DoWork += BackgroundWorkerDoWork; if (db.OfficialRates == null) { db.OfficialRates = new ObservableCollection <NbRate>(); db.OfficialRates.Add(new NbRate() { Date = new DateTime(1995, 3, 31), UsdRate = 11550, EurRate = 0, RurRate = 2.28 }); } Rows = db.OfficialRates; _nbRbRatesExtractor = nbRbRatesExtractor; }
public void ClearAllTables(KeeperDb db) { db.CurrencyRates.Clear(); db.ArticlesAssociations.Clear(); db.TransWithTags.Clear(); ClearAccounts(db); }
public void SetUp() { mSpecificKeeperDb = new KeeperDb(); mSpecificResult = new DbLoadResult(mSpecificKeeperDb); mDbGeneralLoader = A.Fake <IDbGeneralLoader>(); A.CallTo(() => mDbGeneralLoader.LoadByExtension()).Returns(mSpecificResult); mUnderTest = new DbExporter(mDbGeneralLoader); }
public void RemoveBranchFromDatabase(KeeperDb db, Account branch) { foreach (var child in branch.Children.ToArray()) { RemoveBranchFromDatabase(db, child); } db.Accounts.Remove(branch); }
public UniversalControlVm(KeeperDb db, BalanceDuringTransactionHinter balanceDuringTransactionHinter, AccNameSelectionControlInitializer accNameSelectionControlInitializer, AssociationFinder associationFinder) { _db = db; _accNameSelectionControlInitializer = accNameSelectionControlInitializer; _associationFinder = associationFinder; _balanceDuringTransactionHinter = balanceDuringTransactionHinter; }
public MonthForecaster(KeeperDb db, RegularPaymentsProvider regularPaymentsProvider, RateExtractor rateExtractor, DepositCalculationAggregator depositCalculationAggregator) { _db = db; _regularPaymentsProvider = regularPaymentsProvider; _rateExtractor = rateExtractor; _depositCalculationAggregator = depositCalculationAggregator; }
public ComboTreesCaterer(KeeperDb db) { _db = db; InitializeListsForIncome(); InitializeListsForExpense(); InitializeListsForTransfer(); InitializeListsForExchange(); InitializeListForFilterTags(); }
public MenuFileExecutor(KeeperDb db, MySettings mySettings, DbCleaner dbCleaner, DbBackuper dbBackuper, IDbToTxtSaver dbToTxtSaver, IDbFromTxtLoader dbFromTxtLoader) { _db = db; _mySettings = mySettings; _dbCleaner = dbCleaner; _dbBackuper = dbBackuper; _dbToTxtSaver = dbToTxtSaver; _dbFromTxtLoader = dbFromTxtLoader; }
private void ClearAccounts(KeeperDb db) { var roots = new List <Account>(from account in db.Accounts where account.Parent == null select account); foreach (var root in roots) { RemoveBranchFromDatabase(db, root); } }
static Account GetRandomAccount(KeeperDb keeperDb, Account targetAccount) { switch (mRnd.Next(2)) { case 0: return(keeperDb.Accounts[mRnd.Next(keeperDb.Accounts.Count)]); default: return(targetAccount); } }
public AccountForestViewModel(ShellModel shellModel, KeeperDb db, AccountTreesGardener accountTreesGardener, AccountLowLevelOperator accountLowLevelOperator, DepositCalculationAggregator depositCalculationAggregator) { MyForestModel = shellModel.MyForestModel; _db = db; _accountTreesGardener = accountTreesGardener; _accountLowLevelOperator = accountLowLevelOperator; _depositCalculationAggregator = depositCalculationAggregator; InitVariablesToShowAccounts(); }
public BankDepositOffersViewModel(KeeperDb db, IWindowManager windowManager) { _db = db; _windowManager = windowManager; if (db.BankDepositOffers == null) { db.BankDepositOffers = new ObservableCollection <BankDepositOffer>(); } Rows = db.BankDepositOffers; InitializeListsForCombobox(); }
private void ImportDatabaseFromTxt() { var result = _dbFromTxtLoader.LoadDbFromTxt((string)_mySettings.GetSetting("TemporaryTxtDbPath")); if (result.Code != 0) { MessageBox.Show(result.Explanation); } else { _db = result.Db; } }
public RatesViewModel(KeeperDb db) { CurrencyList = Enum.GetValues(typeof(CurrencyCodes)).OfType <CurrencyCodes>().ToList(); Rows = db.CurrencyRates; IsCollectionChanged = false; InitFilterList(); SelectedFilter = FilterList.First(f => !f.IsOn); var view = CollectionViewSource.GetDefaultView(Rows); view.Filter += OnFilter; view.SortDescriptions.Add(new SortDescription("BankDay", ListSortDirection.Ascending)); }
public ArticlesAssociationsViewModel(KeeperDb db, ComboboxCaterer comboboxCaterer) { _db = db; _comboboxCaterer = comboboxCaterer; InitializeListsForCombobox(); Rows = _db.ArticlesAssociations; var view = CollectionViewSource.GetDefaultView(Rows); view.SortDescriptions.Add(new SortDescription("OperationType", ListSortDirection.Ascending)); view.SortDescriptions.Add(new SortDescription("ExternalAccount", ListSortDirection.Ascending)); }
public RegularPaymentsViewModel(RegularPaymentsProvider provider, KeeperDb db) { _provider = provider; _db = db; CurrencyList = Enum.GetValues(typeof(CurrencyCodes)).OfType <CurrencyCodes>().ToList(); ArticleList = new List <string>(); var accounts = _db.FlattenAccounts().Where(a => a.Is("Все доходы") || a.Is("Все расходы")).ToList(); foreach (var account in accounts) { ArticleList.Add(account.Name); } }
public FilterModel(KeeperDb db, AccNameSelectionControlInitializer accNameSelectionControlInitializer) { AvailableAccNames = new List <AccName> { new AccName().PopulateFromAccount(db.SeekAccount("Мои"), new List <string>()) }; IsAccNamePosition12 = true; AmountEqualTo = true; IsCurrencyPosition12 = true; MyTagPickerVm = new TagPickerVm { TagSelectorVm = accNameSelectionControlInitializer.ForFilter(), Tags = MyTags }; IsTagsJoinedByAnd = true; CleanAll(); MyTags.CollectionChanged += MyTags_CollectionChanged; }
public DbLoadResult LoadDbFromTxt(string path) { var db = new KeeperDb { Accounts = LoadAccounts(path) }; // var accountsPlaneList = _accountTreeStraightener.Flatten(db.Accounts).ToList(); var accountsPlaneList = db.FlattenAccounts().ToList(); db.BankDepositOffers = LoadFrom(path, "BankDepositOffers.txt", _dbClassesInstanceParser.BankDepositOfferFromString, accountsPlaneList); if (Result != null) { return(Result); } LoadDepositOffersRates(path, db.BankDepositOffers.ToList()); LoadDeposits(path, accountsPlaneList, db.BankDepositOffers.ToList()); if (Result != null) { return(Result); } db.TransWithTags = LoadFrom(path, "TransWithTags.txt", _dbClassesInstanceParser.TranWithTagsFromString, accountsPlaneList); if (Result != null) { return(Result); } db.ArticlesAssociations = LoadFrom(path, "ArticlesAssociations.txt", _dbClassesInstanceParser.ArticleAssociationFromStringWithNames, accountsPlaneList); if (Result != null) { return(Result); } db.CurrencyRates = LoadFrom(path, "CurrencyRates.txt", _dbClassesInstanceParser.CurrencyRateFromString, accountsPlaneList); if (Result != null) { return(Result); } db.OfficialRates = LoadFrom(path, "OfficialRates.txt", _dbClassesInstanceParser.OfficialRateFromString, accountsPlaneList); if (Result != null) { return(Result); } return(new DbLoadResult(db)); }
public TransModel(KeeperDb db) { Db = db; _tranFilter = new TranFilter(); Rows = WrapTransactions(db.TransWithTags); Rows.CollectionChanged += Rows_CollectionChanged; SortedRows = CollectionViewSource.GetDefaultView(Rows); SortedRows.Filter += Filter; SortedRows.SortDescriptions.Add(new SortDescription("Tran.Timestamp", ListSortDirection.Ascending)); SortedRows.MoveCurrentToLast(); SelectedTranWrappedForDatagrid = (TranWrappedForDatagrid)SortedRows.CurrentItem; SelectedTranWrappedForDatagrid.IsSelected = true; IsCollectionChanged = false; }
public DepositsViewModel(KeeperDb db, RateExtractor rateExtractor, DepositCalculationAggregator depositCalculatorAggregator, OldRatesDiagramDataExtractor oldRatesDiagramDataExtractor) { var sw = new Stopwatch(); Console.WriteLine("DepositViewModel ctor starts {0}", sw.Elapsed); sw.Start(); _db = db; _rateExtractor = rateExtractor; _depositCalculatorAggregator = depositCalculatorAggregator; _oldRatesDiagramDataExtractor = oldRatesDiagramDataExtractor; MyTitleStyle = new Style(); DepositList = new List <Deposit>(); foreach (var account in _db.FlattenAccounts()) { if (!account.Is("Депозиты") || account.Children.Count != 0 || !account.IsDeposit()) { continue; } _depositCalculatorAggregator.FillinFieldsForOneDepositReport(account.Deposit); DepositList.Add(account.Deposit); } SelectedDeposit = DepositList[0]; UpperRow = new GridLength(1, GridUnitType.Star); LowerRow = new GridLength(1, GridUnitType.Star); LeftColumn = new GridLength(1, GridUnitType.Star); RightColumn = new GridLength(1, GridUnitType.Star); DepoCurrenciesProportionChartCtor(); Console.WriteLine("DepositViewModel ctor 1 {0}", sw.Elapsed); YearsProfitCtor(); Console.WriteLine("DepositViewModel ctor 2 {0}", sw.Elapsed); TotalBalancesCtor(); Console.WriteLine("DepositViewModel ctor 3 {0}", sw.Elapsed); // CashDepoProportionChartCtor(); sw.Stop(); Console.WriteLine("DepositViewModel ctor takes {0}", sw.Elapsed); }
private void PrepareTestDb() { _rootAccountWithoutChildren = new Account("RootWithoutChildren"); _rootAccount = new Account("Root"); _parentAccount = new Account("Parent account"); _emptyChildAccount = new Account("Empty child account"); _childAccountWithOperation = new Account("Child account with operation"); _rootAccount.Children.Add(_parentAccount); _parentAccount.Children.Add(_emptyChildAccount); _parentAccount.Children.Add(_childAccountWithOperation); _db = new KeeperDb { Accounts = new ObservableCollection <Account>(), TransWithTags = new ObservableCollection <TranWithTags>() }; _db.Accounts.Add(_rootAccount); _db.Accounts.Add(_rootAccountWithoutChildren); _db.TransWithTags.Add(new TranWithTags() { MyAccount = _childAccountWithOperation }); }
public void Execute(MainMenuAction action) { switch (action) { case MainMenuAction.SaveDatabase: new DbSerializer().EncryptAndSerialize(_db, _mySettings.GetCombinedSetting("DbFileFullPath")); break; case MainMenuAction.LoadDatabase: _db = new DbSerializer().DecryptAndDeserialize(_mySettings.GetCombinedSetting("DbFileFullPath")); break; case MainMenuAction.ClearDatabase: _dbCleaner.ClearAllTables(_db); break; case MainMenuAction.MakeDatabaseBackup: _dbBackuper.MakeDbTxtCopy(); break; case MainMenuAction.ExportDatabaseToTxt: _dbToTxtSaver.SaveDbInTxt(); break; case MainMenuAction.ImportDatabaseFromTxt: ImportDatabaseFromTxt(); break; case MainMenuAction.RemoveExtraBackups: new DbBackupOrganizer().RemoveIdenticalBackups(); break; case MainMenuAction.RemoveAllNonFirstInMonth: new DbBackupOrganizer().RemoveAllNonFirstInMonth(); break; } }
public RateExtractor(KeeperDb db) { _db = db; }
public TransViewModel(KeeperDb db) { Model = new TransModel(db); Top = 100; Left = 700; }
public OldRatesDiagramDataFactory(KeeperDb db) { _db = db; }
public AccountCantBeDeletedChecker(KeeperDb keeperDb) { _keeperDb = keeperDb; }