private void btnNewCharge_Click(object sender, EventArgs e) { if (txtCharge.Text.Trim().Equals(String.Empty) || txtMaxVal.Text.Trim().Equals(String.Empty) || txtMinVal.Text.Trim().Equals(String.Empty)) { API.Message("Please Fill All Parameters", MessageBoxIcon.Warning); } else if (!transactionTypes.ContainsKey(cboTransactionType.Text)) { API.Message("An error has occured while matching values contact admin", MessageBoxIcon.Error); } else { try { TransactionCharge transactionCharge = new TransactionCharge { MaxValue = Convert.ToDouble(txtMaxVal.Text), MinValue = Convert.ToDouble(txtMinVal.Text), Charge = Convert.ToDouble(txtCharge.Text), TransactionType = transactionTypes[cboTransactionType.Text] }; API.Controllers.TransactionCharges.Create(transactionCharge); API.Message("Transaction Created Successfully " + transactionCharge.MaxValue, MessageBoxIcon.Information); this.LoadData(); } catch (Exception ex) { API.Message(ex.Message, MessageBoxIcon.Error); return; } } }
internal static void Create(TransactionCharge transactionCharge) { database.NewExecute( "INSERT INTO transaction_charges (`TransactionType`,`MinValue`,`MaxValue`,`Charge`) VALUES (@tt,@minV,@maxV,@charge);", new SQL().ParameterRange("@tt", "@minV", "@maxV", "@charge"), new SQL().ValuesRange(transactionCharge.TransactionType, transactionCharge.MinValue, transactionCharge.MaxValue, transactionCharge.Charge)) ; }
private void ReadyTransaction(object sender, RoutedEventArgs e) { TransactionDB transDB = new TransactionDB(); ConnectionsDB conDB = new ConnectionsDB(); ChildInfoDatabase childDB = new ChildInfoDatabase(); GuardianInfoDB parentDB = new GuardianInfoDB(); if (parentDB.GuardianNameExists(txt_GuardianName.Text) && childDB.ChildNameExists(txt_ChildName.Text)) { SetAllowanceID(); this.transaction = new TransactionCharge(conDB.GetGuardianID(allowanceID), allowanceID); CalculateTransaction(sender, e); } }
public static TransactionCharge FormatTransactionCharge(MySqlDataReader reader) { TransactionCharge transaC = null; while (reader.Read()) { transaC = new TransactionCharge { Charge = reader.GetDouble("Charge"), DateStamp = reader.GetDateTime("date_stamp"), Id = reader.GetInt32("Id"), MaxValue = reader.GetDouble("MaxValue"), MinValue = reader.GetDouble("MinValue"), Percentage = reader.GetDouble("Percentage"), }; } reader.Close(); return(transaC); }
private void LoadData() { ChildInfoDatabase childDB = new ChildInfoDatabase(); TransactionDB transDB = new TransactionDB(); GuardianInfoDB parentDB = new GuardianInfoDB(); ConnectionsDB conDB = new ConnectionsDB(); this.txt_ChildName.Text = childDB.GetChildName(this.transactionID); this.txt_GuardianName.Text = transDB.GetParentNameFromTrans(this.transactionID); this.originalFee = transDB.GetTransactionTotal(this.transactionID); this.txt_TransactionTotal.Text = String.Format("{0:0.00}", transDB.GetTransactionTotal(this.transactionID)); this.originalEventName = transDB.GetTransEventName(this.transactionID); string eventName = this.originalEventName; LoadEventCMB(eventName); this.txt_CheckIn.Text = transDB.GetTwelveHourTime(this.transactionID, "CheckedIn"); this.txt_CheckOut.Text = transDB.GetTwelveHourTime(this.transactionID, "CheckedOut"); this.txt_Date.Text = transDB.GetTransactionDate(this.transactionID); this.transaction = new TransactionCharge(transDB.GetGuardianIDFromTrans(this.transactionID), conDB.GetAllowanceID(this.transactionID)); }
private void btnWithdraw_Click(object sender, EventArgs e) { if (acc == null) { API.Message("Please Search For an Account to Withdraw From", MessageBoxIcon.Error); } else { double withdraw = 0, charge = 0; try { withdraw = Convert.ToDouble(txtWithdraw.Text); } catch { API.Message("Please Input A Valid Number", MessageBoxIcon.Error); return; } TransactionCharge transactionCharge = API.Controllers.TransactionCharges.FindByValue(withdraw, Transaction.TransactionTypes.WITHDRAW); if (transactionCharge != null) { switch (API.Controllers.Settings.GetChargingSystem()) { case 1: //values system charge = transactionCharge.Charge; break; case 2: charge = (transactionCharge.Percentage / 100) * withdraw; break; } if ((withdraw + charge) > acc.Balance) { API.Message("Please Input A Valid Amount.\nYou Cannot Withdraw More Than You Have\nYou Have to Pay for the charge too ." + charge, MessageBoxIcon.Error); } else { if (MessageBox.Show("Confirm Withdrawal Of \n" + withdraw + " + " + charge + " From : {" + acc.Names + " : " + acc.Number + "}", "Withdraw", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { Account SysAcc = API.Controllers.Accounts.FetchByAccountNumber("0"); Transaction transaction = new Transaction { TransationGUId = Guid.NewGuid().ToString(), TransationType = Transaction.TransactionTypes.WITHDRAW }; API.Controllers.Transaction.Create(transaction); transaction = API.Controllers.Transaction.FindByGUID(transaction.TransationGUId); TransactionDescription transactionDescription = new TransactionDescription { Description = "Over the Counter Withdrawal : " + withdraw + ", Transaction Charge : " + charge, GUID = Guid.NewGuid().ToString(), CreditAccount = acc, DebitAccount = acc }; API.Controllers.TransactionDescription.Create(transactionDescription); transactionDescription = API.Controllers.TransactionDescription.FindByGUID(transactionDescription.GUID); TransactionDescription transactionChargesDesc = new TransactionDescription { Description = "Withdraw , Transaction Charge : " + charge, GUID = Guid.NewGuid().ToString(), CreditAccount = SysAcc, DebitAccount = acc }; API.Controllers.TransactionDescription.Create(transactionChargesDesc); transactionChargesDesc = API.Controllers.TransactionDescription.FindByGUID(transactionChargesDesc.GUID); CreditDebit creditDebit = new CreditDebit { Debit = withdraw + charge, Transaction = transaction, TransactionDescription = transactionDescription, Account = acc, TransactionType = Transaction.TransactionTypes.WITHDRAW }; API.Controllers.CreditDebit.Create(creditDebit); CreditDebit creditSys = new CreditDebit { Credit = charge, Transaction = transaction, Account = SysAcc, TransactionDescription = transactionChargesDesc, TransactionType = Transaction.TransactionTypes.SYSTEM_DEPOSIT }; API.Controllers.CreditDebit.Create(creditSys); API.Message("Transaction Successfull", MessageBoxIcon.Information); } catch (Exception ex) { API.Message(ex.Message, MessageBoxIcon.Error); return; } } } } else { API.Message("Failed to transact.No charges defined.Please contact administrator or manager", MessageBoxIcon.Error); } } }