示例#1
0
        private void Show_Balance_Before_Reversal()
        {
            dc = new CollegeDBDataContext();
            int     counter = 0;
            decimal balance = 0;
            bool    flag    = false;

            foreach (Transaction trans in dc.Transactions)
            {
                if (tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString())
                {
                    balance = trans.Balance;
                    balance = decimal.Round(balance, 2, MidpointRounding.AwayFromZero); //rounding off to 2 decimal places
                }

                if ((tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString()) &&
                    (tbRefNumberR.Text.Trim() == trans.Reference_Number.ToString()) &&
                    (trans.Reversal == true))
                {
                    flag = true;
                }
                counter++;
            }

            if (flag == true)
            {
                tbBalanceR.Clear();
            }
            else
            {
                tbBalanceR.Text = balance.ToString();
            }
        }
示例#2
0
        private void cbPayP_CheckedChanged(object sender, EventArgs e)
        {
            if (cbPayP.CheckState.ToString() == "Checked")
            {
                btnConfirmP.Enabled = true;
            }
            else
            {
                btnConfirmP.Enabled = false;
            }

            try
            {
                dc = new CollegeDBDataContext();

                //translating students table to get courseFee and studentNumber
                var CouseFeeData = dc.Students.Select(t => new
                {
                    Student_Number = t.Student_Number,
                    Course_Fee     = t.Course_Fee
                }).ToList();

                decimal tp     = 0;
                decimal cf     = 0;
                decimal bal    = 0;
                int     refNum = 0;
                btnConfirmP.Text = "Pay";

                foreach (var cfItem in CouseFeeData)
                {
                    if (cfItem.Student_Number.ToString() == tbStdNumberP.Text)
                    {
                        cf = cfItem.Course_Fee;
                        break;
                    }
                }

                foreach (Transaction trans in dc.Transactions)
                {
                    if (tbStdNumberP.Text == trans.Student_Number.ToString())
                    {
                        tp     = trans.Total_Paid;       //adding up amounts paid from Transactions table to get total paid by a student
                        refNum = trans.Reference_Number; //get the reference number
                    }
                }

                tp  = tp + Decimal.Parse(tbAmountP.Text);    //adding the value input by user to his/her total paid from the Transactions table
                bal = cf - tp;                               //calculating balance

                tbTotalPaidP.Text = tp.ToString();           //outputing total paid to the textbox
                tbBalanceP.Text   = bal.ToString();          //outputing the balance to the textbox
                trName            = cbPayP.Text;             //assigning the the clicked radio button name to trName(transaction name)
                tbRefNumberP.Text = (refNum + 1).ToString(); //assigning and incrementing reference number
            }
            catch (FormatException fexp)
            {
                MessageBox.Show(String.Format("{0}\n{1}", fexp.Message, "Put valid input on Amount"));
            }
        }
示例#3
0
        private void Flag_Transaction_As_Reversed()
        {
            dc = new CollegeDBDataContext();
            Transaction trans = dc.Transactions.SingleOrDefault(E => E.Reference_Number == int.Parse(tbRefNumberR.Text));

            trans.Reversal = true;
            dc.SubmitChanges();
        }
示例#4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            btnSave.Enabled = false;

            dc = new CollegeDBDataContext();
            try
            {
                if (tbStudentNumber.ReadOnly == false)
                {
                    dc = new CollegeDBDataContext();
                    Student std = new Student();
                    std.Student_Number    = int.Parse(tbStudentNumber.Text);
                    std.Firstname         = tbFirstname.Text;
                    std.Middlename        = tbMiddlename.Text;
                    std.Surname           = tbSurname.Text;
                    std.Date_Of_Birth     = DateTime.Parse(dtpDOB.Text);
                    std.Gender            = comboBoxGender.Text;
                    std.Registration_Date = DateTime.Parse(dtpRegDate.Text);
                    std.Course            = comboBoxCourse.Text;
                    std.Course_Fee        = decimal.Parse(tbCourseFee.Text);

                    //writing/commiting to the database
                    dc.Students.InsertOnSubmit(std);
                    dc.SubmitChanges();
                }
                else
                {
                    Student std = dc.Students.SingleOrDefault(E => E.Student_Number == int.Parse(tbStudentNumber.Text));
                    std.Student_Number    = int.Parse(tbStudentNumber.Text);
                    std.Firstname         = tbFirstname.Text;
                    std.Middlename        = tbMiddlename.Text;
                    std.Surname           = tbSurname.Text;
                    std.Date_Of_Birth     = DateTime.Parse(dtpDOB.Text);
                    std.Gender            = comboBoxGender.Text;
                    std.Registration_Date = DateTime.Parse(dtpRegDate.Text);
                    std.Course            = comboBoxCourse.Text;
                    std.Course_Fee        = decimal.Parse(tbCourseFee.Text);


                    //updating balances in the transaction table if course fee is changed
                    foreach (Transaction trans in dc.Transactions)
                    {
                        if (tbStudentNumber.Text.Trim() == trans.Student_Number.ToString())
                        {
                            trans.Balance = std.Course_Fee - trans.Total_Paid;
                        }
                    }

                    dc.SubmitChanges();
                    MessageBox.Show("Record Updated in the table.");
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show(exp.Message);
            }
        }
示例#5
0
        private void cbReverseR_CheckedChanged(object sender, EventArgs e)
        {
            dc = new CollegeDBDataContext();
            bool pass = false;

            cbReverseR.Enabled = false;

            foreach (Transaction trans in dc.Transactions)
            {
                if (((tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString()) &&
                     (tbRefNumberR.Text.Trim() == trans.Reference_Number.ToString() &&
                      (trans.Reversal == true))) ||
                    ((tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString()) &&
                     (tbRefNumberR.Text.Trim() == trans.Reference_Number.ToString() &&
                      (trans.Reversal == true))) && (trans.Transaction_Name == "Reversal"))
                {
                    pass = true;
                    break; //a match has been found, therefore break
                }
            }

            if ((tbAmountR.Text.Trim() == " ") || (pass == true)) //reference number not found and the transaction was reversed
            {
                this.TransactionNotFound();
            }
            else if (pass == false)
            {
                dc = new CollegeDBDataContext();
                //translating students table to get courseFee and studentNumber
                var CouseFeeData = dc.Students.Select(t => new
                {
                    Student_Number = t.Student_Number,
                    Course_Fee     = t.Course_Fee
                }).ToList();

                foreach (var cfItem in CouseFeeData)
                {
                    if (cfItem.Student_Number.ToString() == tbStudent_NumberR.Text)
                    {
                        cf = cfItem.Course_Fee;
                        break;
                    }
                }

                this.ShowTransactionDetails();
                lbBalance.Text = "Post Reversal Balance";
                if (cbReverseR.Checked == true)
                {
                    this.Show_Balance_After_Calculation(); //new balance after calculation
                }
                btnConfirmR.Enabled = true;
            }
            cbReverseR.Enabled = false;
        }
示例#6
0
 private void LoadData()
 {
     dc = new CollegeDBDataContext();
     tbAmountR.Enabled    = false;
     tbCourseFeeR.Enabled = false;
     tbTotalPaidR.Enabled = false;
     btnConfirmR.Enabled  = false;
     tbBalanceR.Enabled   = false;
     tbDateR.Enabled      = false;
     cbReverseR.AutoCheck = true;
     cbReverseR.Enabled   = false;
 }
示例#7
0
        private void btnConfirmR_Click(object sender, EventArgs e) //writing changes to the Transactions table
        {
            dc = new CollegeDBDataContext();

            int?   RefNumber = null;
            string trName    = "Reversal";

            dc.ReversePayment(RefNumber, int.Parse(tbStudent_NumberR.Text), DateTime.Today, trName, decimal.Parse(tbTotalPaidR.Text), decimal.Parse(tbBalanceR.Text), decimal.Parse(tbAmountR.Text));

            //writing/commiting to the database
            dc.SubmitChanges();
            btnConfirmR.Enabled = false;
            MessageBox.Show("Changes were updated");
            this.Flag_Transaction_As_Reversed(); //the transaction will be flaged as reversed
            //this.ClearWidgets();
        }
示例#8
0
        public QueryForm()
        {
            InitializeComponent();

            cbQuery.Items.Add("Student Number");
            cbQuery.Items.Add("Firstname");
            cbQuery.Items.Add("Middlename");
            cbQuery.Items.Add("Surname");
            cbQuery.Items.Add("Gender");
            cbQuery.Items.Add("Course");
            cbQuery.Items.Add("Year Registered");

            dc         = new CollegeDBDataContext();
            this.Load += QueryForm1_Load;
            dataGridView1.ReadOnly = true;
        }
示例#9
0
        private void ShowStudentDetails()
        {
            dc = new CollegeDBDataContext();

            foreach (Student std in dc.Students)
            {
                if (tbStudent_NumberR.Text.Trim() == std.Student_Number.ToString())
                {
                    cf = std.Course_Fee;
                    cf = decimal.Round(cf, 2, MidpointRounding.AwayFromZero); //rounding off to 2 decimal places
                    tbCourseFeeR.Text = cf.ToString();
                    this.CalculateTotPaid();
                    tbTotalPaidR.Text = tp.ToString();
                    break;
                }
            }
        }
示例#10
0
        private void CalculateTotPaid()//calculate total paid by student
        {
            tp = 0;
            dc = new CollegeDBDataContext();
            foreach (Transaction trans in dc.Transactions)
            {
                if ((trans.Transaction_Name == "Payment") && (trans.Reversal == null) &&
                    tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString())
                {
                    tp = tp + trans.Transaction_Amount; //adding up amounts paid from Transactions table to get total paid by a student
                }
            }

            tp                = decimal.Round(tp, 2, MidpointRounding.AwayFromZero); //rounding off to 2 decimal places
            refNum            = refNum + 1;
            tbTotalPaidR.Text = tp.ToString();
        }
示例#11
0
        private void tbStdNumberP_TextChanged_1(object sender, EventArgs e)
        {
            dc = new CollegeDBDataContext();

            tbAmountP.Enabled = false; //the student not found yet and the textEditor for the amount is not enabled
            tbAmountP.Text    = "0.00";

            foreach (Student std in dc.Students)
            {
                if (tbStdNumberP.Text.Trim() == std.Student_Number.ToString())
                {
                    tbAmountP.Enabled = true; //the amount textEditor is enabled for the user to input figures
                    tbAmountP.Focus();
                    this.ShowStudentTransDetails();
                }
            }
        }
示例#12
0
 private void LoadData()
 {
     dc = new CollegeDBDataContext();
     tbAmountP.Enabled     = false;
     tbCourseP.Enabled     = false;
     tbCourseFeeP.Enabled  = false;
     tbFirstnameP.Enabled  = false;
     tbMiddlenameP.Enabled = false;
     tbSurnameP.Enabled    = false;
     tbTotalPaidP.Enabled  = false;
     dtpRegDateP.Enabled   = false;
     tbRefNumberP.ReadOnly = true;
     btnConfirmP.Enabled   = false;
     tbBalanceP.ReadOnly   = true;
     tbDateP.Enabled       = false;
     cbPayP.Enabled        = false;
     this.ClearWidgets();
 }
示例#13
0
        private void Total_Paid_After_Calc()
        {
            dc = new CollegeDBDataContext();
            tp = 0; //reinitialise total paid

            foreach (Transaction trans in dc.Transactions)
            {
                if ((trans.Transaction_Name == "Payment") &&
                    (trans.Reversal == null) &&
                    (tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString()))
                {
                    tp = tp + trans.Transaction_Amount;
                }
            }

            tp = tp - Decimal.Parse(tbAmountR.Text);
            tp = decimal.Round(tp, 2, MidpointRounding.AwayFromZero); //rounding off to 2 decimal places
            tbTotalPaidR.Text = tp.ToString();
        }
示例#14
0
        private void btnConfirmP_Click_1(object sender, EventArgs e)
        {
            try
            {
                dc = new CollegeDBDataContext();

                int?RefNumber = null;
                dc.Payment_Insert(RefNumber, int.Parse(tbStdNumberP.Text), DateTime.Parse(tbDateP.Text), trName, decimal.Parse(tbTotalPaidP.Text), decimal.Parse(tbBalanceP.Text), decimal.Parse(tbAmountP.Text));

                //writing/commiting to the database
                dc.SubmitChanges();
                btnConfirmP.Enabled = false;
                MessageBox.Show("Changes were updated");
                this.ClearWidgets();
            }
            catch (FormatException fexp)
            {
                MessageBox.Show(String.Format("{0}\n{1}", fexp.Message, "Fill up all relevant areas"));
            }
        }
示例#15
0
        private void ShowTransactionDetails()
        {
            dc             = new CollegeDBDataContext();
            lbBalance.Text = "Balance before reversal";

            foreach (Transaction trans in dc.Transactions)
            {
                if ((tbStudent_NumberR.Text.Trim() == trans.Student_Number.ToString()) &&
                    (tbRefNumberR.Text.Trim() == trans.Reference_Number.ToString()) &&
                    trans.Reversal == null)
                {
                    tbDateR.Text      = trans.Transaction_Date.ToString();
                    tbRefNumberR.Text = trans.Reference_Number.ToString();
                    tbAmountR.Text    = decimal.Round(trans.Transaction_Amount, 2, MidpointRounding.AwayFromZero).ToString();
                    tbCourseFeeR.Text = cf.ToString();

                    if (cbReverseR.CheckState == CheckState.Unchecked)
                    {
                        this.CalculateTotPaid(); //calculate total if before reversal
                    }
                    else
                    {
                        this.Total_Paid_After_Calc(); //calculate total if reserval is allowed
                    }
                    this.Show_Balance_Before_Reversal();
                    tbAmountR.Text  = decimal.Round(trans.Transaction_Amount, 2, MidpointRounding.AwayFromZero).ToString();
                    cbReverseR.Text = String.Format("Click to reverse {0:C} for student {1}", trans.Transaction_Amount,
                                                    tbStudent_NumberR.Text);
                    cbReverseR.Enabled = true; /*the user will be allowed to reverse the transaction as ref number is found*/
                    break;
                }
                else
                {
                    /*nothing will be shown if the reversal took place before*/
                    tbCourseFeeR.Clear();
                    tbTotalPaidR.Clear();
                    tbBalanceR.Text = " ";
                }
            }
            this.Show_Balance_Before_Reversal();
        }
示例#16
0
        private void PinBox_Load(object sender, EventArgs e)
        {
            dc = new CollegeDBDataContext();

            new Point(-600, 600);
        }
 private void LoadData()
 {
     dc = new CollegeDBDataContext();
     dataGridView1.DataSource    = dc.Students;
     this.dataGridView1.ReadOnly = true;
 }
示例#18
0
 private void FormLogin_Load(object sender, EventArgs e)
 {
     this.HideConfirmation();
     dc = new CollegeDBDataContext();
     tbUsername.Focus();
 }