Esempio n. 1
0
        public Payslip GeneratePaySlip(double anuualSalaray, double superRate)
        {
            TaxRates taxRates = GetTaxRates(anuualSalaray);
            Payslip payslip = new Payslip();

            payslip.grossMonthly = Math.Round((float)anuualSalaray / 12f, MidpointRounding.AwayFromZero);
            payslip.incomeTax = Math.Round((taxRates.baseRate + ((anuualSalaray - taxRates.lower - 1) * taxRates.additional)) / 12, MidpointRounding.AwayFromZero);
            payslip.netMonthly = payslip.grossMonthly - payslip.incomeTax;
            payslip.superRate = Math.Round(payslip.grossMonthly * superRate / 100, MidpointRounding.AwayFromZero);

            return payslip;
        }
Esempio n. 2
0
        public void GeneratePaySlipTest()
        {
            Model model = new Model();
            model.Initialise();
            Payslip payslipExpected = new Payslip();
            Payslip payslipActual;

            //Expected data hardcode
            payslipExpected.grossMonthly = 10000;
            payslipExpected.incomeTax = 2696;
            payslipExpected.netMonthly = 7304;
            payslipExpected.superRate = 1000;

            payslipActual = model.GeneratePaySlip(120000, 10);
            Assert.AreEqual(payslipExpected, payslipActual);

        }
Esempio n. 3
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                String   text         = textBox1.Text.ToString();
                String[] values       = text.Split(',');
                String   fName        = values[0];
                String   lName        = values[1];
                double   annualSalary = Convert.ToDouble(values[2]);
                double   superRate    = double.Parse(values[3].Substring(0, values[3].Length - 1));
                String   dates        = values[4];

                DataAccess.Payslip payslip = m_Model.GeneratePaySlip(annualSalary, superRate);
                label1.Text = fName + " " + lName + "," + dates + "," + payslip.grossMonthly + "," + payslip.incomeTax + "," + payslip.netMonthly + "," + payslip.superRate;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Invalid input format, please use correct format");
            }
        }