예제 #1
0
        protected void btnSubmit_OnClick(object sender, EventArgs e)
        {
            using (var ctx = new ApplicationDbContext())
            {
                var amount        = decimal.Parse(txtAmount.Text.Trim());
                var debitAccount  = ctx.Accounts.Single(x => x.AccountName == txtDebitAccount.Text.Trim());
                var creditAccount = ctx.Accounts.Single(x => x.AccountName == txtCreditAccount.Text.Trim());

                var transaction = new Transaction()
                {
                    Id          = Guid.NewGuid(),
                    Description = txtDescription.Text.Trim()
                };

                var tranLegDebit = new TransactionLeg()
                {
                    Id                 = Guid.NewGuid(),
                    Transaction        = transaction,
                    Account            = debitAccount,
                    TransactionLegType = TransactionLegType.Debit,
                    Amount             = amount
                };

                var tranLegCredit = new TransactionLeg()
                {
                    Id                 = Guid.NewGuid(),
                    Transaction        = transaction,
                    Account            = creditAccount,
                    TransactionLegType = TransactionLegType.Credit,
                    Amount             = amount
                };

                try
                {
                    ctx.TransactionLegs.Add(tranLegDebit);
                    ctx.TransactionLegs.Add(tranLegCredit);
                    ctx.Transactions.Add(transaction);

                    ctx.SaveChanges();

                    lblMessage.Text = "Transaction added successfully";
                    Clear();
                }
                catch (Exception ex)
                {
                    lblMessage.Text = ex.Message;
                }
            }
        }
예제 #2
0
        protected void btnSubmit_OnClick(object sender, CommandEventArgs e)
        {
            if (e.CommandName == "SubmitExpensesTransaction")
            {
                using (var ctx = new ApplicationDbContext())
                {
                    var amount        = decimal.Parse(txtAmountExpenses.Text.Trim());
                    var debitAccount  = ctx.Accounts.Single(x => x.AccountName == ddlDebitAccountExpenses.SelectedValue);
                    var creditAccount = ctx.Accounts.Single(x => x.AccountName == ddlCreditAccountExpenses.SelectedValue);

                    var transaction = new Transaction()
                    {
                        Id          = Guid.NewGuid(),
                        Description = txtDescriptionExpenses.Text.Trim(),
                        Timestamp   = DateTime.ParseExact(txtTransactionDateExpenses.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    var tranLegDebit = new TransactionLeg()
                    {
                        Id                 = Guid.NewGuid(),
                        Transaction        = transaction,
                        Account            = debitAccount,
                        TransactionLegType = TransactionLegType.Debit,
                        Amount             = amount,
                        Timestamp          = DateTime.ParseExact(txtTransactionDateExpenses.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    var tranLegCredit = new TransactionLeg()
                    {
                        Id                 = Guid.NewGuid(),
                        Transaction        = transaction,
                        Account            = creditAccount,
                        TransactionLegType = TransactionLegType.Credit,
                        Amount             = amount,
                        Timestamp          = DateTime.ParseExact(txtTransactionDateExpenses.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    try
                    {
                        ctx.TransactionLegs.Add(tranLegDebit);
                        ctx.TransactionLegs.Add(tranLegCredit);
                        ctx.Transactions.Add(transaction);

                        ctx.SaveChanges();

                        lblMessageExpenses.Text = "Transaction added successfully";
                        ClearExpenses();

                        LoadInformation();
                    }
                    catch (Exception ex)
                    {
                        lblMessageExpenses.Text = ex.Message;
                    }
                }
            }
            else if (e.CommandName == "SubmitOtherTransaction")
            {
                using (var ctx = new ApplicationDbContext())
                {
                    var amount        = decimal.Parse(txtAmount.Text.Trim());
                    var debitAccount  = ctx.Accounts.Single(x => x.AccountName == ddlDebitAccount.SelectedValue);
                    var creditAccount = ctx.Accounts.Single(x => x.AccountName == ddlCreditAccount.SelectedValue);

                    var transaction = new Transaction()
                    {
                        Id          = Guid.NewGuid(),
                        Description = txtDescription.Text.Trim(),
                        Timestamp   = DateTime.ParseExact(txtTransactionDate.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    var tranLegDebit = new TransactionLeg()
                    {
                        Id                 = Guid.NewGuid(),
                        Transaction        = transaction,
                        Account            = debitAccount,
                        TransactionLegType = TransactionLegType.Debit,
                        Amount             = amount,
                        Timestamp          = DateTime.ParseExact(txtTransactionDate.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    var tranLegCredit = new TransactionLeg()
                    {
                        Id                 = Guid.NewGuid(),
                        Transaction        = transaction,
                        Account            = creditAccount,
                        TransactionLegType = TransactionLegType.Credit,
                        Amount             = amount,
                        Timestamp          = DateTime.ParseExact(txtTransactionDate.Text, "yyyy/MM/dd", CultureInfo.InvariantCulture)
                    };

                    try
                    {
                        ctx.TransactionLegs.Add(tranLegDebit);
                        ctx.TransactionLegs.Add(tranLegCredit);
                        ctx.Transactions.Add(transaction);

                        ctx.SaveChanges();

                        lblMessage.Text = "Transaction added successfully";
                        Clear();

                        LoadInformation();
                    }
                    catch (Exception ex)
                    {
                        lblMessage.Text = ex.Message;
                    }
                }
            }
        }