public StatisticCashFlowViewModel(IPaymentRepository paymentRepository, ISettingsManager settingsManager, IMvxMessenger messenger) : base(messenger) { this.settingsManager = settingsManager; cashFlowDataProvider = new CashFlowDataProvider(paymentRepository); CashFlowModel = GetCashFlowModel(); }
private void UpdateMainTile() { var cashFlow = new CashFlowDataProvider(paymentRepository) .GetCashFlow(DateTime.Today.GetFirstDayOfMonth(), DateTime.Today.GetLastDayOfMonth()); new TileUpdateService().UpdateMainTile(cashFlow.Income.Label, cashFlow.Expense.Label, cashFlow.Revenue.Label); }
public StatisticMonthlyCashFlowViewModel(CashFlowDataProvider monthlyExpensesDataProvider, ISettingsManager settingsManager, IMvxMessenger messenger) : base(DateTime.Today.AddMonths(-5), DateTime.Today.GetLastDayOfMonth(), messenger) { this.monthlyExpensesDataProvider = monthlyExpensesDataProvider; this.settingsManager = settingsManager; MonthlyExpensesModel = GetModel(); }
public void GetValues_SetupData_ListWithoutTransfer() { //Setup var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.Setup(x => x.GetList(It.IsAny<Expression<Func<PaymentViewModel, bool>>>())).Returns(new List<PaymentViewModel> { new PaymentViewModel { Id = 1, Type = PaymentType.Income, Date = DateTime.Today, Amount = 60 }, new PaymentViewModel { Id = 2, Type = PaymentType.Expense, Date = DateTime.Today, Amount = 50 }, new PaymentViewModel { Id = 3, Type = PaymentType.Transfer, Date = DateTime.Today, Amount = 40 } }); //Excution var result = new CashFlowDataProvider(paymentRepoSetup.Object).GetCashFlow(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)); //Assertion result.Income.Value.ShouldBe(60); result.Expense.Value.ShouldBe(50); result.Revenue.Value.ShouldBe(10); }
public void GetValues_SetupData_CalculatedCorrectTimeRange() { var paymentList = new List<PaymentViewModel> { new PaymentViewModel { Id = 1, Type = (int) PaymentType.Expense, Date = DateTime.Today, Amount = 60 }, new PaymentViewModel { Id = 2, Type = (int) PaymentType.Expense, Date = DateTime.Today.AddDays(5), Amount = 50 }, new PaymentViewModel { Id = 3, Type = (int) PaymentType.Expense, Date = DateTime.Today.AddDays(-5), Amount = 40 } }; //Setup var paymentRepoSetup = new Mock<IPaymentRepository>(); paymentRepoSetup.Setup(x => x.GetList(It.IsAny<Expression<Func<PaymentViewModel, bool>>>())) .Returns((Expression<Func<PaymentViewModel, bool>> filter) => paymentList.Where(filter.Compile()).ToList()); //Excution var result = new CashFlowDataProvider(paymentRepoSetup.Object).GetCashFlow(DateTime.Today.AddDays(-3), DateTime.Today.AddDays(3)); //Assertion result.Income.Value.ShouldBe(0); result.Expense.Value.ShouldBe(60); result.Revenue.Value.ShouldBe(-60); }