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;
         }
     }
 }
Пример #2
0
 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);
            }
        }
Пример #4
0
                    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));
        }
Пример #6
0
        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);
                }
            }
        }