/// <summary>
 /// Create new transaction for the expense.
 /// </summary>
 /// <param name="transactionData">transaction data</param>
 /// <returns>true if transaction saved successfully else false.</returns>
 public bool CreateTransaction(TransactionMembers transactionData)
 {
     object[] transactionInputData = new object[7];
     transactionInputData[0] = transactionData.ExpenseId;
     transactionInputData[1] = transactionData.AmountReturned;
     transactionInputData[2] = transactionData.AmountReturnedOn;
     transactionInputData[3] = transactionData.ReturnedBy;
     transactionInputData[4] = transactionData.ReceivedBy;
     transactionInputData[5] = transactionData.Description;
     transactionInputData[6] = userSession.CompanyId;
     return(DataLibrary.ExecuteQuery(ref transactionInputData, "bspCreateTransaction").Equals(0));
 }
Exemple #2
0
        public ActionResult Create(TransactionViewModel transactionViewModel)
        {
            if (expenseRepository.CheckAmountBeyondLevel(transactionViewModel.AmountReturned ?? 0, transactionViewModel.SelectedExpense, transactionViewModel.AmountReturnedBy, transactionViewModel.AmountReceivedBy))
            {
                ModelState.AddModelError("AmountReturned", "Entered amount returned is more than to return.");
            }

            if (ModelState.IsValid)
            {
                TransactionMembers transactionMembers = new TransactionMembers
                {
                    AmountReturned   = transactionViewModel.AmountReturned.Value,
                    AmountReturnedOn = transactionViewModel.AmountReturnedOn.Value,
                    ReceivedBy       = transactionViewModel.AmountReceivedBy,
                    ReturnedBy       = transactionViewModel.AmountReturnedBy,
                    ExpenseId        = transactionViewModel.SelectedExpense,
                    Description      = transactionViewModel.Description
                };
                bool isSavedSuccessfully = false;
                using (this.expenseRepository)
                {
                    isSavedSuccessfully = this.expenseRepository.CreateTransaction(transactionMembers);
                }

                if (isSavedSuccessfully)
                {
                    return(this.RedirectToAction("Create", "Transaction"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "There was an issue saving the transaction. Please try again.");
                    ReloadModelOnError(transactionViewModel, this.expenseRepository);
                    return(this.View("Create", transactionViewModel));
                }
            }
            else
            {
                ReloadModelOnError(transactionViewModel, this.expenseRepository);
                return(this.View("Create", transactionViewModel));
            }
        }