示例#1
0
 public SqLiteQuickTransactionStorage(IQuickTransactionFactory quickTransactionFactory,
                                      IAccountStorage accountStorage, ICategoryStorage categoryStorage) :
     base(quickTransactionFactory)
 {
     _accountStorage  = accountStorage;
     _categoryStorage = categoryStorage;
 }
示例#2
0
 public SqLiteTransactionStorage(ITransactionFactory transactionFactory,
                                 IAccountStorage accountStorage,
                                 ICategoryStorage categoryStorage) : base(transactionFactory)
 {
     _accountStorage  = accountStorage;
     _categoryStorage = categoryStorage;
 }
示例#3
0
 public void Setup()
 {
     _factory            = new BarCodeFactory();
     _accountStorage     = new SqLiteAccountStorage(new RegularAccountFactory());
     _categoryStorage    = new SqLiteCategoryStorage(new RegularCategoryFactory());
     _transactionStorage =
         new SqLiteTransactionStorage(new RegularTransactionFactory(), _accountStorage, _categoryStorage);
     _storage = new SqLiteBarCodeStorage(
         new BarCodeFactory(), _transactionStorage);
     _storage.DeleteAllData();
 }
示例#4
0
 public CategoryTransactionsReportViewModel(IAccountStorage accountStorage, ICategoryStorage categoryStorage, ITransactionStorage transactionStorage)
 {
     _accountStorage     = accountStorage ?? throw new ArgumentNullException(nameof(accountStorage));
     _categoryStorage    = categoryStorage ?? throw new ArgumentNullException(nameof(categoryStorage));;
     _transactionStorage = transactionStorage ?? throw new ArgumentNullException(nameof(transactionStorage));
     _filteredSource     = new TransactionFilteredSource(DateTime.Now, DateTime.Now);
     Accounts            = new ObservableCollection <IAccount>(_accountStorage.GetAllAccounts());
     Categories          = new ObservableCollection <ICategory>(_categoryStorage.MakeFlatCategoryTree());
     StartDate           = DateTimeOffset.Now;
     EndDate             = StartDate;
 }
示例#5
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();
        }
示例#6
0
        public MainWindow()
        {
            InitializeComponent();
            findTimerResource();
            findStorageResource();

            _timer.TimerCompleted += _timer_TimerCompleted;
            _syncContext = SynchronizationContext.Current;

            _categoryStorage = new CategoryFileStorage();
            _categoryItems = getCategoryItems();
        }
示例#7
0
        private ITransaction CreateTransaction(IAccountStorage accountManager, ICategoryStorage categoryManager, ITransactionFactory factory)
        {
            var transactionName  = "Test Transaction";
            var transactionTotal = 213.00m;


            var account  = accountManager.CreateAccount("Test account", "Account Description", "EUR");
            var category = categoryManager.CreateCategory("Sample category", "Category Description", 0, null);

            var result = factory.CreateTransaction(account, category, transactionName, transactionTotal, DateTime.Now, 0, 0.12m, null, null);

            return(result);
        }
示例#8
0
        public void Setup()
        {
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();

            _accountStorage  = new CachedAccountStorage(new SqLiteAccountStorage(accountFactory));
            _categoryStorage = new CachedCategoryStorage(new SqLiteCategoryStorage(categoryFactory));
            var transactionFactory = new RegularTransactionFactory();

            _storage = new CachedTransactionStorage(new SqLiteTransactionStorage(transactionFactory, _accountStorage, _categoryStorage));
            _storage.DeleteAllData();
            CreateTransaction();
        }
示例#9
0
 public void Setup()
 {
     accountStorage     = new CachedAccountStorage(new SqLiteAccountStorage(new RegularAccountFactory()));
     categoryStorage    = new CachedCategoryStorage(new SqLiteCategoryStorage(new RegularCategoryFactory()));
     transactionFactory = new RegularTransactionFactory();
     storage            = new CachedTransactionStorage(new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage));
     categoryStorage.DeleteAllData();
     accountStorage.DeleteAllData();
     storage.DeleteAllData();
     transaction       = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
     childTransaction  = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
     childTransaction1 = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
 }
示例#10
0
        public Report1ViewModel(IAccountStorage accountStorage, ICategoryStorage categoryStorage, ITransactionStorage transactionStorage)
        {
            _accountStorage     = accountStorage ?? throw new ArgumentNullException(nameof(accountStorage));
            _categoryStorage    = categoryStorage ?? throw new ArgumentNullException(nameof(categoryStorage));;
            _transactionStorage = transactionStorage ?? throw new ArgumentNullException(nameof(transactionStorage));

            Accounts     = new ObservableCollection <IAccount>(_accountStorage.GetAllAccounts());
            Account      = Accounts.FirstOrDefault();
            ReportPeriod = new ObservableCollection <string>
            {
                "All period",
                "Today",
                "Yesterday",
                "This Month",
                "Last Month"
            };
        }
示例#11
0
        public void Setup()
        {
            _factory = new RegularCategoryFactory();
            _storage = new SqLiteCategoryStorage(_factory);
            _storage.DeleteAllData();

            {
                var name        = "Test Category";
                var description = "Test Description";
                _category = _factory.CreateCategory(name, description, 1, null);
            }


            {
                var name        = $"Child {_category.Name} Category";
                var description = $"Child {_category.Name} Description";
                _childCategory = _factory.CreateCategory(name, description, 2, _category);
            }
        }
示例#12
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);
        }
示例#13
0
 public EditCategoryViewModel(ICategoryStorage categoryStorage, ICategory category, ICategory parent)
 {
     _categoryStorage = categoryStorage;
     Categories       = _categoryStorage.MakeFlatCategoryTree();
     if (category != null)
     {
         _category   = category;
         Name        = category.Name;
         Description = category.Description;
         if (category.Parent != null)
         {
             ParentCategory = Categories.FirstOrDefault(x => x.Id == category.Parent.Id);
         }
     }
     else
     {
         if (parent != null)
         {
             ParentCategory = Categories.FirstOrDefault(x => x.Id == parent.Id);
         }
     }
 }
示例#14
0
        public static ITransaction Convert(IDictionary <string, object> line, ITransactionFactory transactionFactory,
                                           IAccountStorage accountStorage, ICategoryStorage categoryStorage)
        {
            var id         = (long)line["id"];
            var timestamp  = DateTime.Parse(line["timestamp"].ToString());
            var accountId  = (long)(line["accountId"]);
            var categoryId = (long)(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 productId = (line["productId"] is System.DBNull)? 0: (long)line["productId"];//Add Product Storage
            //var parentId = (line["parentId"] is System.DBNull) ? 0 : (long)line["parentId"];
            //var isComplexTransaction = (long) line["isComplexTransaction"] > 0;

            var transaction = (Transaction)transactionFactory.CreateTransaction(account, category, name, total, timestamp, id, weight, null, null);

            transaction.Id        = id;
            transaction.Timestamp = timestamp;

            return(transaction);
        }
示例#15
0
 public CachedCategoryStorage(ICategoryStorage categoryStorage)
 {
     _storage = categoryStorage;
 }
示例#16
0
 public CategoryLogic(ICategoryStorage categoryStorage)
 {
     _categoryStorage = categoryStorage;
 }
示例#17
0
 public Report1(ITransactionStorage transactionStorage, ICategoryStorage categoryStorage)
 {
     _transactionStorage = transactionStorage;
     _categoryStorage    = categoryStorage;
 }
 public CategoryLogic(ICategoryStorage clientStorage)
 {
     _clientStorage = clientStorage;
 }