public NewRuleController( [NotNull] UiContext uiContext, [NotNull] ITransactionRuleService rulesService, [NotNull] IBudgetBucketRepository bucketRepo) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (rulesService == null) { throw new ArgumentNullException(nameof(rulesService)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.rulesService = rulesService; this.bucketRepo = bucketRepo; this.messageBoxService = uiContext.UserPrompts.MessageBox; this.logger = uiContext.Logger; MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); }
/// <summary> /// Initializes a new instance of the <see cref="TransactionManagerService" /> class. /// </summary> /// <param name="bucketRepository">The bucket repository.</param> /// <param name="statementRepository">The statement repository.</param> /// <param name="logger">The logger.</param> /// <param name="monitorableDependencies">The dependency monitor manager</param> /// <exception cref="System.ArgumentNullException"> /// </exception> public TransactionManagerService( [NotNull] IBudgetBucketRepository bucketRepository, [NotNull] IStatementRepository statementRepository, [NotNull] ILogger logger, [NotNull] MonitorableDependencies monitorableDependencies) { if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } if (statementRepository == null) { throw new ArgumentNullException(nameof(statementRepository)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (monitorableDependencies == null) throw new ArgumentNullException(nameof(monitorableDependencies)); this.bucketRepository = bucketRepository; this.statementRepository = statementRepository; this.logger = logger; this.monitorableDependencies = monitorableDependencies; }
/// <summary> /// Initializes a new instance of the <see cref="TransactionManagerService" /> class. /// </summary> /// <param name="bucketRepository">The bucket repository.</param> /// <param name="statementRepository">The statement repository.</param> /// <param name="logger">The logger.</param> /// <param name="monitorableDependencies">The dependency monitor manager</param> /// <exception cref="System.ArgumentNullException"> /// </exception> public TransactionManagerService( [NotNull] IBudgetBucketRepository bucketRepository, [NotNull] IStatementRepository statementRepository, [NotNull] ILogger logger, [NotNull] MonitorableDependencies monitorableDependencies) { if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } if (statementRepository == null) { throw new ArgumentNullException(nameof(statementRepository)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (monitorableDependencies == null) { throw new ArgumentNullException(nameof(monitorableDependencies)); } this.bucketRepository = bucketRepository; this.statementRepository = statementRepository; this.logger = logger; this.monitorableDependencies = monitorableDependencies; }
public Mapper_LedgerBookDto_LedgerBook( [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] IAccountTypeRepository accountTypeRepo, [NotNull] ILedgerBucketFactory bucketFactory, [NotNull] ILedgerTransactionFactory transactionFactory, [NotNull] IReconciliationBuilder reconciliationBuilder) { if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } if (accountTypeRepo == null) { throw new ArgumentNullException(nameof(accountTypeRepo)); } if (bucketFactory == null) { throw new ArgumentNullException(nameof(bucketFactory)); } if (transactionFactory == null) { throw new ArgumentNullException(nameof(transactionFactory)); } if (reconciliationBuilder == null) { throw new ArgumentNullException(nameof(reconciliationBuilder)); } this.bucketRepo = bucketRepo; this.accountTypeRepo = accountTypeRepo; this.bucketFactory = bucketFactory; this.transactionFactory = transactionFactory; this.reconciliationBuilder = reconciliationBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="BudgetMaintenanceService" /> class. /// </summary> /// <exception cref="System.ArgumentNullException">budgetRepository</exception> public BudgetMaintenanceService( [NotNull] IBudgetRepository budgetRepository, [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] ILogger logger, [NotNull] MonitorableDependencies monitorableDependencies) { if (budgetRepository == null) { throw new ArgumentNullException(nameof(budgetRepository)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (monitorableDependencies == null) { throw new ArgumentNullException(nameof(monitorableDependencies)); } this.budgetRepository = budgetRepository; this.logger = logger; this.monitorableDependencies = monitorableDependencies; BudgetBucketRepository = bucketRepo; CreateNewBudgetCollection(); }
public DashboardService( [NotNull] IWidgetService widgetService, [NotNull] IBudgetBucketRepository bucketRepository, [NotNull] IBudgetRepository budgetRepository, [NotNull] ILogger logger, [NotNull] MonitorableDependencies monitorableDependencies) { if (widgetService == null) { throw new ArgumentNullException(nameof(widgetService)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } if (budgetRepository == null) { throw new ArgumentNullException(nameof(budgetRepository)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (monitorableDependencies == null) throw new ArgumentNullException(nameof(monitorableDependencies)); this.widgetService = widgetService; this.bucketRepository = bucketRepository; this.budgetRepository = budgetRepository; this.logger = logger; this.monitoringServices = monitorableDependencies; this.monitoringServices.DependencyChanged += OnMonitoringServicesDependencyChanged; }
public StatementAutoMapperConfiguration( [NotNull] ITransactionTypeRepository transactionTypeRepo, [NotNull] IAccountTypeRepository accountTypeRepo, [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] ILogger logger) { if (transactionTypeRepo == null) { throw new ArgumentNullException("transactionTypeRepo"); } if (accountTypeRepo == null) { throw new ArgumentNullException("accountTypeRepo"); } if (bucketRepo == null) { throw new ArgumentNullException("bucketRepo"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.transactionTypeRepo = transactionTypeRepo; this.accountTypeRepo = accountTypeRepo; this.bucketRepo = bucketRepo; this.logger = logger; }
public void FilterByBucket_ShouldReturn2Buckets_GivenSurplusBucketCode() { var model2 = new StatementModelBuilder() .AppendTransaction( new Transaction { Account = StatementModelTestData.ChequeAccount, Amount = -255.65M, BudgetBucket = StatementModelTestData.SurplusBucket, Date = new DateTime(2013, 9, 10), }) .AppendTransaction( new Transaction { Account = StatementModelTestData.ChequeAccount, Amount = -1000M, BudgetBucket = new FixedBudgetProjectBucket("FOO", "Bar", 2000M), Date = new DateTime(2013, 9, 9) }) .Merge(this.testData) .Build(); this.testData = model2; this.budgetBucketRepo = new BucketBucketRepoAlwaysFind(); Arrange(); var result = this.subject.FilterByBucket(SurplusBucket.SurplusCode); this.testData.Output(DateTime.MinValue); Assert.AreEqual(2, result.Count()); }
public NewRuleController( [NotNull] UiContext uiContext, [NotNull] ITransactionRuleService rulesService, [NotNull] IBudgetBucketRepository bucketRepo) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (rulesService == null) { throw new ArgumentNullException(nameof(rulesService)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.rulesService = rulesService; this.bucketRepo = bucketRepo; this.messageBoxService = uiContext.UserPrompts.MessageBox; this.logger = uiContext.Logger; MessengerInstance = uiContext.Messenger; MessengerInstance.Register <ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); }
public void TestIntialise() { this.mockRuleService = new Mock <ITransactionRuleService>(MockBehavior.Strict); this.mockReconciliationConsistency = new Mock <IReconciliationConsistency>(); this.bucketRepo = new BucketBucketRepoAlwaysFind(); this.testDataBudgets = BudgetModelTestData.CreateCollectionWith1And2(); this.testDataBudgetContext = new BudgetCurrencyContext(this.testDataBudgets, this.testDataBudgets.CurrentActiveBudget); this.testDataStatement = new StatementModelBuilder() .TestData5() .AppendTransaction(new Transaction { Account = StatementModelTestData.ChequeAccount, Amount = -23.56M, BudgetBucket = StatementModelTestData.RegoBucket, Date = ReconcileDate.Date.AddDays(-1), TransactionType = new NamedTransaction("Foo"), Description = "Last transaction" }) .Build(); this.testDataToDoList = new List <ToDoTask>(); this.subject = new ReconciliationCreationManager(this.mockRuleService.Object, this.mockReconciliationConsistency.Object, new FakeLogger()); this.testDataLedgerBook = LedgerBookTestData.TestData5(() => new LedgerBookTestHarness(new Mock <IReconciliationBuilder>().Object)); this.mockReconciliationConsistency.Setup(m => m.EnsureConsistency(It.IsAny <LedgerBook>())).Returns(new Mock <IDisposable>().Object); }
public LedgerAutoMapperConfiguration( [NotNull] ILedgerTransactionFactory ledgerTransactionFactory, [NotNull] IAccountTypeRepository accountTypeRepo, [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] ILogger logger) { if (ledgerTransactionFactory == null) { throw new ArgumentNullException("ledgerTransactionFactory"); } if (accountTypeRepo == null) { throw new ArgumentNullException("accountTypeRepo"); } if (bucketRepo == null) { throw new ArgumentNullException("bucketRepo"); } if (logger == null) { throw new ArgumentNullException("logger"); } this.ledgerTransactionFactory = ledgerTransactionFactory; this.accountTypeRepo = accountTypeRepo; this.bucketRepo = bucketRepo; this.logger = logger; }
public BurnDownChartsBuilder( IBudgetBucketRepository budgetBucketRepository, Func<BucketBurnDownController> bucketSpendingFactory) { this.budgetBucketRepository = budgetBucketRepository; this.bucketSpendingFactory = bucketSpendingFactory; }
public void TestIntialise() { this.mockRuleService = new Mock<ITransactionRuleService>(MockBehavior.Strict); this.mockReconciliationConsistency = new Mock<IReconciliationConsistency>(); this.bucketRepo = new BucketBucketRepoAlwaysFind(); this.testDataBudgets = BudgetModelTestData.CreateCollectionWith1And2(); this.testDataBudgetContext = new BudgetCurrencyContext(this.testDataBudgets, this.testDataBudgets.CurrentActiveBudget); this.testDataStatement = new StatementModelBuilder() .TestData5() .AppendTransaction(new Transaction { Account = StatementModelTestData.ChequeAccount, Amount = -23.56M, BudgetBucket = StatementModelTestData.RegoBucket, Date = ReconcileDate.Date.AddDays(-1), TransactionType = new NamedTransaction("Foo"), Description = "Last transaction" }) .Build(); this.testDataToDoList = new List<ToDoTask>(); this.subject = new ReconciliationManager(this.mockRuleService.Object, this.mockReconciliationConsistency.Object, new FakeLogger()); this.testDataLedgerBook = LedgerBookTestData.TestData5(() => new LedgerBookTestHarness(new Mock<IReconciliationBuilder>().Object)); this.mockReconciliationConsistency.Setup(m => m.EnsureConsistency(It.IsAny<LedgerBook>())).Returns(new Mock<IDisposable>().Object); }
public CsvOnDiskStatementModelRepositoryV1TestHarness(IAccountTypeRepository accountTypeRepo, IUserMessageBox userMessageBox, IBudgetBucketRepository bucketRepo, BankImportUtilities importUtilities, ILogger logger) : base(userMessageBox, importUtilities, logger, new TransactionSetDtoToStatementModelMapper(), new StatementModelToTransactionSetDtoMapper()) { }
public Mapper_IncomeDto_Income([NotNull] IBudgetBucketRepository bucketRepo) { if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.bucketRepo = bucketRepo; }
public void FilterByBucket_ShouldReturnAllBuckets_GivenNullBucketCode() { this.budgetBucketRepo = new BucketBucketRepoAlwaysFind(); Arrange(); var result = this.subject.FilterByBucket(null); Assert.AreEqual(10, result.Count()); }
/// <summary> /// Initializes a new instance of the <see cref="LongTermSpendingTrendAnalyser" /> class. /// </summary> /// <param name="budgetBucketRepo">The budget bucket repo.</param> /// <exception cref="System.ArgumentNullException"></exception> public LongTermSpendingTrendAnalyser([NotNull] IBudgetBucketRepository budgetBucketRepo) { if (budgetBucketRepo == null) { throw new ArgumentNullException(nameof(budgetBucketRepo)); } this.budgetBucketRepo = budgetBucketRepo; }
public MatchingRuleFactory([NotNull] IBudgetBucketRepository bucketRepo) { if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.bucketRepo = bucketRepo; }
public MatchingRuleFactory([NotNull] IBudgetBucketRepository bucketRepo) { if (bucketRepo == null) { throw new ArgumentNullException("bucketRepo"); } this.bucketRepo = bucketRepo; }
/// <summary> /// Initializes a new instance of the <see cref="BudgetPieGraphService" /> class. /// </summary> /// <param name="budgetBucketRepository">The budget bucket repository.</param> /// <exception cref="System.ArgumentNullException">budgetBucketRepository</exception> public BudgetPieGraphService([NotNull] IBudgetBucketRepository budgetBucketRepository) { if (budgetBucketRepository == null) { throw new ArgumentNullException(nameof(budgetBucketRepository)); } this.budgetBucketRepository = budgetBucketRepository; }
/// <summary> /// Updates the widget with new input. /// </summary> /// <exception cref="System.ArgumentNullException"></exception> public override void Update([NotNull] params object[] input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (!ValidateUpdateInput(input)) { ToolTip = this.disabledToolTip; Enabled = false; return; } Statement = (StatementModel)input[0]; this.bucketRepository = (IBudgetBucketRepository)input[1]; if (!this.bucketRepository.IsValidCode(BucketCode)) { ToolTip = this.disabledToolTip; Enabled = false; return; } if (Statement == null) { ToolTip = this.disabledToolTip; Enabled = false; return; } Enabled = true; var bucket = (FixedBudgetProjectBucket)this.bucketRepository.GetByCode(BucketCode); var totalBudget = bucket.FixedBudgetAmount; Maximum = Convert.ToDouble(totalBudget); // Debit transactions are negative so normally the total spend will be a negative number. var totalSpend = Statement.AllTransactions.Where(t => t.BudgetBucket != null && t.BudgetBucket.Code == BucketCode) .Sum(t => t.Amount); var remainingBudget = totalBudget + totalSpend; Value = Convert.ToDouble(remainingBudget); ToolTip = string.Format(CultureInfo.CurrentCulture, this.remainingBudgetToolTip, bucket.Description, remainingBudget, totalSpend); DetailedText = string.Format(CultureInfo.CurrentCulture, "{0} Project", bucket.SubCode); if (remainingBudget < 0.1M * totalBudget) { ColourStyleName = WidgetWarningStyle; } else { ColourStyleName = this.standardStyle; } }
public OverallPerformanceBudgetAnalyser([NotNull] IBudgetBucketRepository bucketRepository) { if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; }
public BudgetPieController([NotNull] IBudgetBucketRepository budgetBucketRepository) { if (budgetBucketRepository == null) { throw new ArgumentNullException("budgetBucketRepository"); } this.budgetBucketRepository = budgetBucketRepository; }
public Mapper_TransactionDto_Transaction([NotNull] IAccountTypeRepository accountRepo, [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] ITransactionTypeRepository transactionTypeRepo) { if (accountRepo == null) throw new ArgumentNullException(nameof(accountRepo)); if (bucketRepo == null) throw new ArgumentNullException(nameof(bucketRepo)); if (transactionTypeRepo == null) throw new ArgumentNullException(nameof(transactionTypeRepo)); this.accountRepo = accountRepo; this.bucketRepo = bucketRepo; this.transactionTypeRepo = transactionTypeRepo; }
public void FilterByBucket_ShouldReturn3Buckets_GivenIncomeBucketCode() { this.budgetBucketRepo = new BucketBucketRepoAlwaysFind(); Arrange(); var result = this.subject.FilterByBucket(StatementModelTestData.IncomeBucket.Code); Assert.AreEqual(3, result.Count()); }
public override void Update([NotNull] params object[] input) { if (input == null) { throw new ArgumentNullException("input"); } if (!ValidateUpdateInput(input)) { Enabled = false; return; } Budget = (BudgetCurrencyContext)input[0]; this.statement = (StatementModel)input[1]; Filter = (GlobalFilterCriteria)input[2]; this.bucketRepository = (IBudgetBucketRepository)input[3]; if (!this.bucketRepository.IsValidCode(BucketCode)) { Enabled = false; return; } SetAdditionalDependencies(input); if (this.statement == null || Budget == null || Filter == null || Filter.Cleared || Filter.BeginDate == null || Filter.EndDate == null) { Enabled = false; return; } Enabled = true; decimal totalBudget = MonthlyBudgetAmount() * Filter.BeginDate.Value.DurationInMonths(Filter.EndDate.Value); Maximum = Convert.ToDouble(totalBudget); // Debit transactions are negative so normally the total spend will be a negative number. decimal remainingBudget = totalBudget + this.statement.Transactions.Where(t => t.BudgetBucket != null && t.BudgetBucket.Code == BucketCode).Sum(t => t.Amount); if (remainingBudget < 0) { remainingBudget = 0; } Value = Convert.ToDouble(remainingBudget); ToolTip = string.Format(CultureInfo.CurrentCulture, RemainingBudgetToolTip, remainingBudget); if (remainingBudget < 0.2M * totalBudget) { ColourStyleName = WidgetWarningStyle; } else { ColourStyleName = this.standardStyle; } }
public StatementViewModel([NotNull] IBudgetBucketRepository budgetBucketRepository) { if (budgetBucketRepository == null) { throw new ArgumentNullException("budgetBucketRepository"); } this.budgetBucketRepository = budgetBucketRepository; this.doNotUseSortByDate = true; }
public OverallPerformanceController([NotNull] IBudgetBucketRepository bucketRepository) { if (bucketRepository == null) { throw new ArgumentNullException("bucketRepository"); } this.doNotUseExpenseFilter = true; this.bucketRepository = bucketRepository; }
public MatchingRule([NotNull] IBudgetBucketRepository bucketRepository) { if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; RuleId = Guid.NewGuid(); Created = DateTime.Now; And = true; }
public Mapper_BudgetCollectionDto_BudgetCollection( [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] IDtoMapper<BudgetBucketDto, BudgetBucket> bucketMapper, [NotNull] IDtoMapper<BudgetModelDto, BudgetModel> budgetMapper) { if (bucketRepo == null) throw new ArgumentNullException(nameof(bucketRepo)); if (bucketMapper == null) throw new ArgumentNullException(nameof(bucketMapper)); if (budgetMapper == null) throw new ArgumentNullException(nameof(budgetMapper)); this.bucketRepo = bucketRepo; this.bucketMapper = bucketMapper; this.budgetMapper = budgetMapper; }
public EditingTransactionController([NotNull] UiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepo) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.bucketRepo = bucketRepo; MessengerInstance = uiContext.Messenger; }
private XamlOnDiskBudgetRepository Arrange(IBudgetBucketRepository bucketRepo = null) { if (bucketRepo == null) { bucketRepo = new InMemoryBudgetBucketRepository(new Mapper_BudgetBucketDto_BudgetBucket(new BudgetBucketFactory())); } return(new XamlOnDiskBudgetRepository( bucketRepo, new Mapper_BudgetCollectionDto_BudgetCollection( bucketRepo, new Mapper_BudgetBucketDto_BudgetBucket(new BudgetBucketFactory()), new Mapper_BudgetModelDto_BudgetModel(bucketRepo)), this.mockFileSelector.Object)); }
public LedgerBucketFactory([NotNull] IBudgetBucketRepository bucketRepo, [NotNull] IAccountTypeRepository accountRepo) { if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } if (accountRepo == null) { throw new ArgumentNullException(nameof(accountRepo)); } this.bucketRepo = bucketRepo; this.accountRepo = accountRepo; }
/// <summary> /// Initializes a new instance of the <see cref="BurnDownChartsBuilder" /> class. /// </summary> /// <param name="budgetBucketRepository">The budget bucket repository.</param> /// <param name="chartAnalyserFactory">The chart analyser factory.</param> /// <exception cref="System.ArgumentNullException"> /// </exception> public BurnDownChartsBuilder([NotNull] IBudgetBucketRepository budgetBucketRepository, [NotNull] Func <IBurnDownChartAnalyser> chartAnalyserFactory) { if (budgetBucketRepository == null) { throw new ArgumentNullException(nameof(budgetBucketRepository)); } if (chartAnalyserFactory == null) { throw new ArgumentNullException(nameof(chartAnalyserFactory)); } this.budgetBucketRepository = budgetBucketRepository; this.chartAnalyserFactory = chartAnalyserFactory; }
public SplitTransactionController([NotNull] UiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepo) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.bucketRepo = bucketRepo; MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); }
/// <summary> /// Initializes a new instance of the <see cref="BurnDownChartsBuilder" /> class. /// </summary> /// <param name="budgetBucketRepository">The budget bucket repository.</param> /// <param name="chartAnalyserFactory">The chart analyser factory.</param> /// <exception cref="System.ArgumentNullException"> /// </exception> public BurnDownChartsBuilder([NotNull] IBudgetBucketRepository budgetBucketRepository, [NotNull] Func<IBurnDownChartAnalyser> chartAnalyserFactory) { if (budgetBucketRepository == null) { throw new ArgumentNullException(nameof(budgetBucketRepository)); } if (chartAnalyserFactory == null) { throw new ArgumentNullException(nameof(chartAnalyserFactory)); } this.budgetBucketRepository = budgetBucketRepository; this.chartAnalyserFactory = chartAnalyserFactory; }
public SplitTransactionController([NotNull] UiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepo) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } this.bucketRepo = bucketRepo; MessengerInstance = uiContext.Messenger; MessengerInstance.Register <ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); }
/// <summary> /// Initializes a new instance of the <see cref="SimilarMatchedRule" /> class. /// </summary> /// <param name="bucketRepository">The bucket repository.</param> /// <param name="rule">The rule.</param> /// <exception cref="System.ArgumentNullException"></exception> public SimilarMatchedRule([NotNull] IBudgetBucketRepository bucketRepository, [NotNull] MatchingRule rule) : base(bucketRepository) { if (rule == null) { throw new ArgumentNullException(nameof(rule)); } Amount = rule.Amount; And = rule.And; Description = rule.Description; Reference1 = rule.Reference1; Reference2 = rule.Reference2; Reference3 = rule.Reference3; TransactionType = rule.TransactionType; AllowSubclassAccess(rule.Bucket.Code, rule.RuleId); }
public CreateNewFixedBudgetController([NotNull] IUiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepository) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; MessengerInstance = uiContext.Messenger; MessengerInstance.Register <ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); this.messageBox = uiContext.UserPrompts.MessageBox; }
public CreateNewFixedBudgetController([NotNull] IUiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepository) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); this.messageBox = uiContext.UserPrompts.MessageBox; }
public AddUserDefinedBurnDownController( [NotNull] AddUserDefinedBurnDownDialogViewLoader viewLoader, [NotNull] IBudgetBucketRepository bucketRepository) { if (viewLoader == null) { throw new ArgumentNullException("viewLoader"); } if (bucketRepository == null) { throw new ArgumentNullException("bucketRepository"); } this.viewLoader = viewLoader; this.bucketRepository = bucketRepository; }
public BudgetController( [NotNull] IBudgetRepository budgetRepository, [NotNull] UiContext uiContext, [NotNull] DemoFileHelper demoFileHelper, [NotNull] IBudgetBucketRepository bucketRepo) { if (budgetRepository == null) { throw new ArgumentNullException("budgetRepository"); } if (uiContext == null) { throw new ArgumentNullException("uiContext"); } if (demoFileHelper == null) { throw new ArgumentNullException("demoFileHelper"); } if (bucketRepo == null) { throw new ArgumentNullException("bucketRepo"); } this.demoFileHelper = demoFileHelper; this.bucketRepo = bucketRepo; this.budgetRepository = budgetRepository; this.questionBox = uiContext.UserPrompts.YesNoBox; this.messageBox = uiContext.UserPrompts.MessageBox; this.fileOpenDialogFactory = uiContext.UserPrompts.OpenFileFactory; this.fileSaveDialogFactory = uiContext.UserPrompts.SaveFileFactory; this.inputBox = uiContext.UserPrompts.InputBox; BudgetPieController = uiContext.BudgetPieController; Shown = false; MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ApplicationStateRequestedMessage>(this, OnApplicationStateRequested); MessengerInstance.Register<ApplicationStateLoadedMessage>(this, OnApplicationStateLoaded); MessengerInstance.Register<ShellDialogResponseMessage>(this, OnPopUpResponseReceived); var budget = new BudgetModel(); CurrentBudget = new BudgetCurrencyContext(new BudgetCollection(new[] { budget }), budget); }
public Mapper_LedgerBookDto_LedgerBook( [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] IAccountTypeRepository accountTypeRepo, [NotNull] ILedgerBucketFactory bucketFactory, [NotNull] ILedgerTransactionFactory transactionFactory, [NotNull] IReconciliationBuilder reconciliationBuilder) { if (bucketRepo == null) throw new ArgumentNullException(nameof(bucketRepo)); if (accountTypeRepo == null) throw new ArgumentNullException(nameof(accountTypeRepo)); if (bucketFactory == null) throw new ArgumentNullException(nameof(bucketFactory)); if (transactionFactory == null) throw new ArgumentNullException(nameof(transactionFactory)); if (reconciliationBuilder == null) throw new ArgumentNullException(nameof(reconciliationBuilder)); this.bucketRepo = bucketRepo; this.accountTypeRepo = accountTypeRepo; this.bucketFactory = bucketFactory; this.transactionFactory = transactionFactory; this.reconciliationBuilder = reconciliationBuilder; }
public ChooseBudgetBucketController([NotNull] UiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepository) { if (uiContext == null) { throw new ArgumentNullException("uiContext"); } if (bucketRepository == null) { throw new ArgumentNullException("bucketRepository"); } this.bucketRepository = bucketRepository; BudgetBuckets = bucketRepository.Buckets.ToList(); MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); }
public Mapper_TransactionDto_Transaction([NotNull] IAccountTypeRepository accountRepo, [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] ITransactionTypeRepository transactionTypeRepo) { if (accountRepo == null) { throw new ArgumentNullException(nameof(accountRepo)); } if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } if (transactionTypeRepo == null) { throw new ArgumentNullException(nameof(transactionTypeRepo)); } this.accountRepo = accountRepo; this.bucketRepo = bucketRepo; this.transactionTypeRepo = transactionTypeRepo; }
public void TestInitialise() { this.mockRuleRepo = new Mock <IMatchingRuleRepository>(); this.mockMatchMaker = new Mock <IMatchmaker>(); this.mockRuleFactory = new Mock <IMatchingRuleFactory>(); this.mockBucketRepo = new BucketBucketRepoAlwaysFind(); this.subject = new TransactionRuleService( this.mockRuleRepo.Object, new FakeLogger(), this.mockMatchMaker.Object, this.mockRuleFactory.Object, new FakeEnvironmentFolders(), new FakeMonitorableDependencies(), this.mockBucketRepo); PrivateAccessor.SetField(this.subject, "rulesStorageKey", "Any storage key value"); }
public CreateNewSurprisePaymentMonitorController([NotNull] IUiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepository) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; MessengerInstance = uiContext.Messenger; MessengerInstance.Register <ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); PaymentStartDate = DateTime.Today; Frequency = WeeklyOrFortnightly.Weekly; this.messageBox = uiContext.UserPrompts.MessageBox; }
public CreateNewSurprisePaymentMonitorController([NotNull] IUiContext uiContext, [NotNull] IBudgetBucketRepository bucketRepository) { if (uiContext == null) { throw new ArgumentNullException(nameof(uiContext)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } this.bucketRepository = bucketRepository; MessengerInstance = uiContext.Messenger; MessengerInstance.Register<ShellDialogResponseMessage>(this, OnShellDialogResponseReceived); PaymentStartDate = DateTime.Today; Frequency = WeeklyOrFortnightly.Weekly; this.messageBox = uiContext.UserPrompts.MessageBox; }
public TransactionRuleService( [NotNull] IMatchingRuleRepository ruleRepository, [NotNull] ILogger logger, [NotNull] IMatchmaker matchmaker, [NotNull] IMatchingRuleFactory ruleFactory, [NotNull] IEnvironmentFolders environmentFolders, [NotNull] MonitorableDependencies monitorableDependencies, [NotNull] IBudgetBucketRepository bucketRepo) { this.bucketRepo = bucketRepo ?? throw new ArgumentNullException(nameof(bucketRepo)); this.ruleRepository = ruleRepository ?? throw new ArgumentNullException(nameof(ruleRepository)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.matchmaker = matchmaker ?? throw new ArgumentNullException(nameof(matchmaker)); this.ruleFactory = ruleFactory ?? throw new ArgumentNullException(nameof(ruleFactory)); this.environmentFolders = environmentFolders ?? throw new ArgumentNullException(nameof(environmentFolders)); this.monitorableDependencies = monitorableDependencies ?? throw new ArgumentNullException(nameof(monitorableDependencies)); this.matchingRules = new List <MatchingRule>(); this.matchingRulesGroupedByBucket = new List <RulesGroupedByBucket>(); }
private LongTermSpendingTrendAnalyser Arrange(IBudgetBucketRepository bucketRepo = null) { if (bucketRepo == null) { var bucketRepositoryMock = new Mock<IBudgetBucketRepository>(); var buckets = new List<BudgetBucket> { StatementModelTestData.CarMtcBucket, StatementModelTestData.HairBucket, StatementModelTestData.PhoneBucket, StatementModelTestData.PowerBucket, StatementModelTestData.RegoBucket, StatementModelTestData.IncomeBucket }; bucketRepositoryMock.Setup(r => r.Buckets).Returns(buckets); bucketRepo = bucketRepositoryMock.Object; } return new LongTermSpendingTrendAnalyser(bucketRepo); }
public void TestInit() { PrivateAccessor.SetProperty(this.testAppDb, "StatementModelStorageKey", @"Foo.csv"); PrivateAccessor.SetProperty(this.testAppDb, "FileName", @"C:\AppDb.bax"); this.testData = StatementModelTestData.TestData2(); this.mockBudgetBucketRepo = new Mock <IBudgetBucketRepository>(); this.mockStatementRepo = new Mock <IStatementRepository>(); this.mockStatementRepo.Setup(m => m.LoadAsync(It.IsAny <string>(), It.IsAny <bool>())) .Returns(Task.FromResult(this.testData)) .Verifiable(); this.mockBudgetBucketRepo .Setup(m => m.Buckets) .Returns(BudgetBucketTestData.BudgetModelTestData1Buckets); this.budgetBucketRepo = this.mockBudgetBucketRepo.Object; Arrange(); }
private LongTermSpendingTrendAnalyser Arrange(IBudgetBucketRepository bucketRepo = null) { if (bucketRepo == null) { var bucketRepositoryMock = new Mock <IBudgetBucketRepository>(); var buckets = new List <BudgetBucket> { StatementModelTestData.CarMtcBucket, StatementModelTestData.HairBucket, StatementModelTestData.PhoneBucket, StatementModelTestData.PowerBucket, StatementModelTestData.RegoBucket, StatementModelTestData.IncomeBucket }; bucketRepositoryMock.Setup(r => r.Buckets).Returns(buckets); bucketRepo = bucketRepositoryMock.Object; } return(new LongTermSpendingTrendAnalyser(bucketRepo)); }
/// <summary> /// Initializes a new instance of the <see cref="XamlOnDiskBudgetRepository" /> class. /// </summary> public XamlOnDiskBudgetRepository( [NotNull] IBudgetBucketRepository bucketRepository, [NotNull] IDtoMapper<BudgetCollectionDto, BudgetCollection> mapper, [NotNull] IReaderWriterSelector readerWriterSelector) { if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } if (mapper == null) { throw new ArgumentNullException(nameof(mapper)); } if (readerWriterSelector == null) throw new ArgumentNullException(nameof(readerWriterSelector)); this.budgetBucketRepository = bucketRepository; this.mapper = mapper; this.readerWriterSelector = readerWriterSelector; }
public Mapper_BudgetCollectionDto_BudgetCollection( [NotNull] IBudgetBucketRepository bucketRepo, [NotNull] IDtoMapper <BudgetBucketDto, BudgetBucket> bucketMapper, [NotNull] IDtoMapper <BudgetModelDto, BudgetModel> budgetMapper) { if (bucketRepo == null) { throw new ArgumentNullException(nameof(bucketRepo)); } if (bucketMapper == null) { throw new ArgumentNullException(nameof(bucketMapper)); } if (budgetMapper == null) { throw new ArgumentNullException(nameof(budgetMapper)); } this.bucketRepo = bucketRepo; this.bucketMapper = bucketMapper; this.budgetMapper = budgetMapper; }
public DashboardService( [NotNull] IWidgetService widgetService, [NotNull] IBudgetBucketRepository bucketRepository, [NotNull] IBudgetRepository budgetRepository, [NotNull] ILogger logger, [NotNull] MonitorableDependencies monitorableDependencies) { if (widgetService == null) { throw new ArgumentNullException(nameof(widgetService)); } if (bucketRepository == null) { throw new ArgumentNullException(nameof(bucketRepository)); } if (budgetRepository == null) { throw new ArgumentNullException(nameof(budgetRepository)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (monitorableDependencies == null) { throw new ArgumentNullException(nameof(monitorableDependencies)); } this.widgetService = widgetService; this.bucketRepository = bucketRepository; this.budgetRepository = budgetRepository; this.logger = logger; this.monitoringServices = monitorableDependencies; this.monitoringServices.DependencyChanged += OnMonitoringServicesDependencyChanged; }