public async Task Given_income_When_add_it_Then_it_is_accepted() { var target = TestClientFactory.BuildClient(out var settings); var transaction = new IncomeTransaction { Description = "Test income transaction from Buxfer", Amount = 1.0m, AccountId = settings.AccountId, Date = DateTime.Now }; transaction.TagNames.Add(BuxferClientAutoTestsTag); var createdTransaction = await target.AddTransaction(transaction); createdTransaction.ShouldBeLike(transaction); createdTransaction.Amount.Should().Be(transaction.Amount); createdTransaction.AccountId.Should().Be(transaction.AccountId); var loadedTransaction = await Load <IncomeTransaction>(target, createdTransaction.Id, transaction.TagNames.First()); loadedTransaction.ShouldBeLike(transaction); }
private async void OnAddTransactionClick(object sender, EventArgs e) { float.TryParse(amountField.Text, out float conversion); if (TransactionToEdit != null) { TransactionToEdit.Description = descriptionField.Text; TransactionToEdit.Amount = conversion; await App.Database.SaveItemAsync(TransactionToEdit); } else { IncomeTransaction transaction = new IncomeTransaction { Description = descriptionField.Text, Amount = conversion }; await App.Database.SaveItemAsync(transaction); UserIncomeView.UserIncome.Add(transaction); } await Navigation.PopAsync(); }
/// <summary> /// Заполняет модель даными из моделей слоя DAL /// </summary> /// <param name="transaction">Транзакция с доходами</param> /// <param name="dalRecord">Запись из базы о транзакции</param> /// <returns></returns> public static IncomeTransaction FillFromDalEntities(this IncomeTransaction transaction, SnapshotRecord dalRecord) { transaction.ContractorName = dalRecord.ContractorName; transaction.CreditAccountNumber = dalRecord.CreditAccountNumber; transaction.Date = dalRecord.TransactionDate; transaction.DebitAccountNumber = dalRecord.DebitAccountNumber; transaction.Puprose = dalRecord.PaymentPurpose; transaction.Sum = dalRecord.IncomeSum; switch (dalRecord.TransactionType) { case 0: transaction.Type = IncomeTypes.Salary; break; case 1: transaction.Type = IncomeTypes.Pension; break; case 2: transaction.Type = IncomeTypes.Service; break; } return(transaction); }
public IncomeModelV2(IncomeTransaction transaction) : base(transaction) { DebitAccount = transaction.DebitAccountNumber; CreditAccount = transaction.CreditAccountNumber; ContractorInn = transaction.ContractorInn; Purpose = transaction.Puprose; }
public void AddIncomeTransaction(IncomeTransaction transaction) { if (transaction == null) { throw new ArgumentNullException(nameof(transaction)); } transaction.Id = Guid.NewGuid(); _context.IncomeTransactions.Add(transaction); }
public AddUserIncomePage(IncomeTransaction item) { InitializeComponent(); Title = "Edit User Income"; AddTransactionButton.Text = "Edit User Income"; TransactionToEdit = item; descriptionField.Text = TransactionToEdit.Description; amountField.Text = TransactionToEdit.Amount.ToString(); }
public void AddIncome(PaymentForm formData) { var incomeData = new IncomeTransaction { Id = Guid.NewGuid(), Frequency = formData.Frequency, Investor = LoginService.Investor, TransactionAmount = formData.Amount, TransactionType = TransactionType.Income }; DbContext.Add <IncomeTransaction>(incomeData); DbContext.SaveChanges(); }
public IncomeModel(IncomeTransaction transaction) { Date = transaction.Date; Sum = transaction.Sum; ContractorName = transaction.ContractorName; switch (transaction.Type) { case IncomeTypes.Salary: IncomeType = "salary"; break; case IncomeTypes.Pension: IncomeType = "pension"; break; case IncomeTypes.Service: IncomeType = "service"; break; } }
public static IncomeTransaction ConvertToYearlyStandard(this IncomeTransaction transaction) { switch (transaction.Frequency) { case TransactionFrequency.Weekly: return(new IncomeTransaction { Id = transaction.Id, Investor = transaction.Investor, Frequency = TransactionFrequency.Yearly, TransactionAmount = transaction.TransactionAmount * 52 }); case TransactionFrequency.Fortnightly: return(new IncomeTransaction { Id = transaction.Id, Investor = transaction.Investor, Frequency = TransactionFrequency.Yearly, TransactionAmount = transaction.TransactionAmount * 26 }); case TransactionFrequency.Monthly: return(new IncomeTransaction { Id = transaction.Id, Investor = transaction.Investor, Frequency = TransactionFrequency.Yearly, TransactionAmount = transaction.TransactionAmount * 12 }); case TransactionFrequency.Yearly: return(transaction); default: throw new NotImplementedException(); } }
public static void Init(FinanceDbContext db) { if (HasRun) { return; } var trans1 = new IncomeTransaction { Id = Guid.NewGuid(), TransactionAmount = 50000M, Frequency = TransactionFrequency.Yearly }; var trans2 = new ExpenseTransaction { Id = Guid.NewGuid(), TransactionAmount = 100M, Frequency = TransactionFrequency.Weekly }; var trans3 = new IncomeTransaction { Id = Guid.NewGuid(), TransactionAmount = 80000M, Frequency = TransactionFrequency.Yearly }; var trans4 = new ExpenseTransaction { Id = Guid.NewGuid(), TransactionAmount = 300M, Frequency = TransactionFrequency.Weekly }; var trans5 = new IncomeTransaction { Id = Guid.NewGuid(), TransactionAmount = 250000M, Frequency = TransactionFrequency.Yearly }; var trans6 = new ExpenseTransaction { Id = Guid.NewGuid(), TransactionAmount = 200M, Frequency = TransactionFrequency.Weekly }; var trans7 = new IncomeTransaction { Id = Guid.NewGuid(), TransactionAmount = 201M, Frequency = TransactionFrequency.Weekly }; var trans8 = new IncomeTransaction { Id = Guid.NewGuid(), TransactionAmount = 210M, Frequency = TransactionFrequency.Weekly }; var investor1 = new Investor { Id = Guid.NewGuid(), Email = "*****@*****.**" , Income = new List <IncomeTransaction>() { trans1, trans7 } , Expenses = new List <ExpenseTransaction>() { trans2 } , Name = "David Stokes" , Password = "******" }; var investor2 = new Investor { Id = Guid.NewGuid(), Email = "*****@*****.**" , Income = new List <IncomeTransaction>() { trans3 } , Expenses = new List <ExpenseTransaction>() { trans4 } , Name = "Fiona Slight" , Password = "******" }; var investor3 = new Investor { Id = Guid.NewGuid(), Email = "*****@*****.**" , Income = new List <IncomeTransaction>() { trans5 } , Expenses = new List <ExpenseTransaction>() { trans6 } , Name = "Ashley Lane" , Password = "******" }; //db.Incomes.Add(trans1); //db.Expenses.Add(trans2); //db.Incomes.Add(trans3); //db.Expenses.Add(trans4); //db.Incomes.Add(trans5); //db.Expenses.Add(trans6); //db.Incomes.Add(trans7); //db.Incomes.Add(trans8); db.Investors.Add(investor1); db.Investors.Add(investor2); db.Investors.Add(investor3); db.SaveChangesAsync(); DataGenerator.HasRun = true; }
/// <summary> /// Adds income transaction /// </summary> /// <param name="transaction">The transaction.</param> /// <returns>Transaction creation status</returns> public async Task <IncomeTransaction> AddTransaction(IncomeTransaction transaction) { return(await AddTransaction <IncomeTransaction>(transaction)); }
public void DeleteIncomeTransaction(IncomeTransaction transaction) { _context.IncomeTransactions.Remove(transaction); }