예제 #1
0
        private void InitializeBudgetViewCache()
        {
            IBudgetViewCacheFactory cacheFactory = this.BudgetStore.TryGetExtension <IBudgetViewCacheFactory>();
            IBudgetViewCache        cache        = null;

            if (cacheFactory != null)
            {
                cache = cacheFactory.CreateCache(this);
            }
            else
            {
                cache = new MemoryBudgetViewCache(this);
            }

            this.BudgetViewCache = cache;
            _budgetViewListenter = new BudgetViewListener(this);
        }
예제 #2
0
        public BudgetMonthView(BudgetModel model, DateTime date)
        {
            _model          = model;
            Date            = date.FirstDayOfMonth();
            _internalBudget = _model.GetBudget();
            _internalBudget.MasterCategories.LoadCollection();
            _lastDayOfMonth = Date.LastDayOfMonth();
            _incomeCategory = _internalBudget.IncomeCategories.GetIncomeCategory(Date);

            _masterCategories = new TransformingObservableCollection <MasterCategory, MasterCategoryMonthView>(
                _internalBudget.MasterCategories,
                mc => { return(new MasterCategoryMonthView(mc, Date)); },
                mcv => { mcv.Dispose(); });

            _cache = _model.BudgetViewCache;
            _cache.CacheUpdated += Cache_CacheUpdated;
            RefreshValues();
        }
예제 #3
0
        public CategoryMonthView(Category subCategory, DateTime date)
        {
            if (subCategory == null)
            {
                throw new ArgumentNullException(nameof(subCategory));
            }

            Category         = subCategory;
            _model           = Category.Model;
            _firstDayOfMonth = date.FirstDayOfMonth().Date;
            _lastDayOfMonth  = _firstDayOfMonth.LastDayOfMonth().Date;
            _cache           = _model.BudgetViewCache;
            CategoryMonth    = Category.CategoryMonths.GetCategoryMonth(_firstDayOfMonth);
            CategoryMonth.PropertyChanged += CategoryMonth_PropertyChanged;

            RefreshValues();
            _cache.CacheUpdated += Cache_CacheUpdated;
        }