public void TestMethod4()
        {
            AnnualSalaryCalculator AnnualSalaryCalculator = new AnnualSalaryCalculator();
            var result = AnnualSalaryCalculator.CalculateAnnualSalary("MonthlySalaryEmployee", 0, 80000);

            Assert.AreEqual(960000, result);
        }
        public void TestMethod2()
        {
            AnnualSalaryCalculator AnnualSalaryCalculator = new AnnualSalaryCalculator();
            var result = AnnualSalaryCalculator.CalculateAnnualSalary("HourlySalaryEmployee", 60000, 0);

            Assert.AreEqual(86400000, result);
        }
Exemple #3
0
        public ActionResult AnnualSalaryCalculator(AnnualSalaryCalculator annualSalary)
        {
            //If there aren't any "HourlyWages" field validation errors
            //then make sure the HourlyWages is greater than 0
            if (ModelState.IsValidField("HourlyWages") && annualSalary.HourlyWages <= 0)
            {
                ModelState.AddModelError("HourlyWages", "The Hourly Wages field must be greater than '0'");
            }

            //If there aren't any "HoursPerWeek" field validation errors
            //then make sure the HourlyWages is greater than 0
            if (ModelState.IsValidField("HoursPerWeek") && annualSalary.HoursPerWeek <= 0)
            {
                ModelState.AddModelError("HoursPerWeek", "The Weekly Hours field must be greater than '0'");
            }

            if (ModelState.IsValidField("WeeksPerYear") && annualSalary.WeeksPerYear <= 0)
            {
                ModelState.AddModelError("WeeksPerYear", "The Weeks Per Year field must be greater than '0'");
            }

            //Validates the values against the object
            if (ModelState.IsValid)
            {
                //When the user hits the calculate button in the view, this calculates the annual salary
                double annualSalaryCalculation = (annualSalary.HourlyWages * annualSalary.HoursPerWeek) * annualSalary.WeeksPerYear;
                ViewBag.AnnualSalary = String.Format("{0:C}", annualSalaryCalculation);

                return(View());
            }

            //If the model state is not valid it will keep the values on the page
            return(View(annualSalary));
        }
        public void TestMethod6()
        {
            IRepository _operationRepository = new Repository();

            InfoEmployee obj = new InfoEmployee(_operationRepository);
            EmployeeDTO  emp = obj.GetEmployees(2).ToList().FirstOrDefault();

            AnnualSalaryCalculator AnnualSalaryCalculator = new AnnualSalaryCalculator();
            var result = AnnualSalaryCalculator.CalculateAnnualSalary(emp.ContractTypeName, emp.HourlySalary, emp.MonthlySalary);

            Assert.AreEqual(960000, result);
        }
Exemple #5
0
        public ActionResult AnnualSalaryCalculator()
        {
            //Initializes the salary with the default values
            var annualSalary = new AnnualSalaryCalculator()
            {
                HourlyWages  = 0,
                HoursPerWeek = 0
            };

            //When the page loads it starts with the default values
            return(View(annualSalary));
        }
Exemple #6
0
 private void Factorize()
 {
     // Magic Strings to fix
     if (ContractTypeName == "HourlySalaryEmployee")
     {
         SalaryCalculator = HourlySalaryEmployeeAnnualSalary;
     }
     else if (ContractTypeName == "MonthlySalaryEmployee")
     {
         SalaryCalculator = MonthlySalaryEmployeeAnnualSalary;
     }
     else
     {
         throw new Exception("Invalid Contract Type");
     }
 }