public async Task<bool> AddOrUpdateAsync(Budget entity) { if (entity == null) throw new ArgumentNullException(nameof(entity)); var existingBudget = entity.Guid == Guid.Empty ? null : await Budgets.FindAsync(entity.Guid); Budgets.AddOrUpdate(x => x.Guid, entity); await this.SaveChangesAsync(); return existingBudget == null; }
public void ValidateBudget_ValidBudget_ReturnTrue() { var budget = new Budget { Name = "Test Name", StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(1), Limit = 10 }; var budgetService = new BudgetService(ProvidersFactory.GetNewBudgetsProviders(), ProvidersFactory.GetNewTransactionsProviders()); Assert.DoesNotThrow(() => budgetService.Validate(budget)); }
public void ValidateBudget_LimitLessThanZero_ThrowException() { var budget = new Budget { Name = "Test Name", StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(1), Limit = -10 }; var budgetService = new BudgetService(ProvidersFactory.GetNewBudgetsProviders(), ProvidersFactory.GetNewTransactionsProviders()); budgetService.Validate(budget); }
public void ValidateBudget_EmptyName_ThrowException() { var budget = new Budget { Name = string.Empty, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(1), Limit = 10 }; var budgetService = new BudgetService(ProvidersFactory.GetNewBudgetsProviders(), ProvidersFactory.GetNewTransactionsProviders()); budgetService.Validate(budget); }
public async Task<DeletedEntity<Budget>> DeteleAsync(Budget entity) { var budgetToDelete = entity.Guid == Guid.Empty ? null : await Budgets.FindAsync(entity.Guid); BudgetAccessRights.RemoveRange(budgetToDelete.AccessRights); var deletedBudget = budgetToDelete == null ? null : Budgets.Remove(budgetToDelete); await this.SaveChangesAsync(); return new DeletedEntity<Budget>(deletedBudget); }
public async Task<bool> AddOrUpdateAsync(Budget entity) { await Task.CompletedTask; return false; }
public async Task<DeletedEntity<Budget>> DeteleAsync(Budget entity) { await Task.CompletedTask; return new DeletedEntity<Budget>(null); }
public void ValidateBudget_NullBudget_ThrowException(Budget budget) { var budgetService = new BudgetService(ProvidersFactory.GetNewBudgetsProviders(), ProvidersFactory.GetNewTransactionsProviders()); budgetService.Validate(budget); }
public async Task<DeletedEntity<Budget>> DeteleAsync(Budget entity) { var budgetToDelete = entity.Guid == Guid.Empty ? null : await Budgets.FindAsync(entity.Guid); budgetToDelete.Transactions.Clear(); var deletedBudget = budgetToDelete == null ? null : Budgets.Remove(budgetToDelete); await this.SaveChangesAsync(); return new DeletedEntity<Budget>(deletedBudget); }
/// <summary> /// Changes limit of the budget according to the wallet currency /// </summary> /// <param name="budget">Budget to change limit</param> /// <param name="walletCurrency">Currency of a wallet, according to this currency will be the transaction currency changed</param> /// <param name="oldCurrency">Old currency of a wallet</param> public static void ChangeCurrency(Budget budget, Currency walletCurrency, Currency oldCurrency) { budget.Limit = budget.Limit* ExchangeRateReader.GetExchangeRate(oldCurrency.Code, walletCurrency.Code); }