예제 #1
0
 public SqLiteQuickTransactionStorage(IQuickTransactionFactory quickTransactionFactory,
                                      IAccountStorage accountStorage, ICategoryStorage categoryStorage) :
     base(quickTransactionFactory)
 {
     _accountStorage  = accountStorage;
     _categoryStorage = categoryStorage;
 }
예제 #2
0
        public void Setup()
        {
            _accountFactory     = new RegularAccountFactory();
            _categoryFactory    = new RegularCategoryFactory();
            _accountStorage     = new CachedAccountStorage(new SqLiteAccountStorage(_accountFactory));
            _categoryStorage    = new CachedCategoryStorage(new SqLiteCategoryStorage(_categoryFactory));
            _transactionFactory = new RegularQuickTransactionFactory();
            _storage            = new CachedQuickTransactionStorage(new SqLiteQuickTransactionStorage(_transactionFactory, _accountStorage, _categoryStorage));
            _storage.DeleteAllData();

            _transaction = CreateTransaction();
        }
예제 #3
0
        public static IQuickTransaction Convert(IDictionary <string, object> line,
                                                IQuickTransactionFactory quickTransactionFactory, IAccountStorage accountStorage,
                                                ICategoryStorage categoryStorage)
        {
            var id           = (long)line["id"];
            var accountId    = (long)(line["accountId"] is DBNull?0L: line["accountId"]);
            var categoryId   = (long)(line["categoryId"] is DBNull ? 0L : line["categoryId"]);
            var name         = line["name"].ToString();
            var total        = decimal.Parse(line["total"].ToString());
            var account      = accountStorage.GetAllAccounts().FirstOrDefault(x => x?.Id == accountId);
            var category     = categoryStorage.GetAllCategories().FirstOrDefault(x => x?.Id == categoryId);
            var weight       = decimal.Parse(line["weight"].ToString());
            var askForTotal  = (long)line["askForTotal"] > 0;
            var askForWeight = (long)line["askForWeight"] > 0;

            var transaction = quickTransactionFactory.CreateQuickTransaction(account, category, name, total, id, weight, askForTotal, askForWeight);

            transaction.Id = id;

            return(transaction);
        }
예제 #4
0
 public MemoryQuickTransactionStorage(IQuickTransactionFactory quickTransactionFactory) :
     base(quickTransactionFactory)
 {
 }
예제 #5
0
 protected QuickTransactionStorageBase(IQuickTransactionFactory quickTransactionFactory)
 {
     _quickTransactionFactory = quickTransactionFactory;
 }