private void PopulateList(XmlNodeList employeeType, XmlNodeList employeeId, XmlNodeList employeeNames,
                           XmlNodeList employeeSalary)
 {
     for (var counter = 0; counter < employeeType.Count; counter++)
     {
         var      xmlAttribureCollection = employeeType[counter].Attributes;
         Employee currentEmployee;
         if (xmlAttribureCollection != null && xmlAttribureCollection["type"].Value == "1")
         {
             currentEmployee = new FixedSalaryEmployee(
                 int.Parse(employeeId[counter].InnerText),
                 employeeNames[counter].InnerText,
                 double.Parse(employeeSalary[counter].InnerText)
                 );
         }
         else
         {
             currentEmployee = new HourlySalaryEmployee(
                 int.Parse(employeeId[counter].InnerText),
                 employeeNames[counter].InnerText,
                 double.Parse(employeeSalary[counter].InnerText)
                 );
         }
         Add(currentEmployee);
     }
 }
Exemple #2
0
        public void TestHourlyAnnualSalary()
        {
            var employees = repository.GetEmployees();
            var employee  = employees.Where(x => x.ContractTypeName.Equals("HourlySalaryEmployee", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();

            HourlySalaryEmployee salaryEmployee = new HourlySalaryEmployee(employee);

            Assert.IsTrue(salaryEmployee != null && salaryEmployee.AnnualSalary > 0);
        }
        public DTO create(Data data, int pos)
        {
            EmployeeDTO obj = new HourlySalaryEmployee();

            obj.id     = data.getDato(pos).getIntField("id");
            obj.name   = (string)data.getDato(pos).getField("name");
            obj.salary = data.getDato(pos).getFloatField("hourlySalary");
            return(obj);
        }
        static void Main(string[] args)
        {
            Employee[] emps = new Employee[2];
            emps[0] = new FixedSalaryEmployee("Usman", 30, 4000);
            emps[1] = new HourlySalaryEmployee("Imran", 26, 10, 40);

            foreach (var emp in emps)
            {
                Console.WriteLine(emp + "\n");
            }

            Console.ReadKey();
        }
Exemple #5
0
        public void GivenAnEmployee_WhenCalculateAnnualSalary_ThenGetsAnnualSalary()
        {
            //given
            Employee employee = new HourlySalaryEmployee
            {
                HourlySalary = 10
            };

            //when
            var result = _salaryService.CalculateAnnualSalary(employee);

            //Then
            Assert.AreEqual(14400, result);
        }
Exemple #6
0
        public override double GetSalary(string type, Employee entity)
        {
            switch (type)
            {
            case EmployeeType.Montly:
                return(MonthlySalaryEmployee.GetSalary(entity.MonthlySalary));

            case EmployeeType.Hourly:
                return(HourlySalaryEmployee.GetSalary(entity.HourlySalary));

            default:
                throw new ApplicationException(string.Format("Employee type {0} cannot be created", type));
            }
        }
Exemple #7
0
        /// <summary>
        /// Returns Employe with Annual Salary Calculated by ContractTypeName
        /// </summary>
        /// <param name="objEmployee"></param>
        /// <returns></returns>
        public static Employee GetEmployee(Employee objEmployee)
        {
            switch (objEmployee.ContractTypeName)
            {
            case "HourlySalaryEmployee":
                HourlySalaryEmployee hourlySalaryEmployee = new HourlySalaryEmployee(objEmployee.HourlySalary);
                objEmployee.AnnualSalary = hourlySalaryEmployee.Salary;
                break;

            case "MonthlySalaryEmployee":
                MonthlySalaryEmployee monthlySalaryEmployee = new MonthlySalaryEmployee(objEmployee.MonthlySalary);
                objEmployee.AnnualSalary = monthlySalaryEmployee.Salary;
                break;
            }
            return(objEmployee);
        }
Exemple #8
0
        //Populate employee`s list
        private void PopulateList(XmlNodeList employeeType, XmlNodeList employeeId, XmlNodeList employeeNames, XmlNodeList employeeSalary)
        {
            int counter = 0;

            foreach (XmlNode type in employeeType)
            {
                XmlAttributeCollection xmlAttributeCollection = type.Attributes;
                Employee currentEmployee;
                if (xmlAttributeCollection != null && xmlAttributeCollection["type"].Value == "1")
                {
                    currentEmployee = new FixedSalaryEmployee(int.Parse(employeeId[counter].InnerText), employeeNames[counter].InnerText,
                                                              double.Parse(employeeSalary[counter].InnerText));
                }
                else
                {
                    currentEmployee = new HourlySalaryEmployee(int.Parse(employeeId[counter].InnerText), employeeNames[counter].InnerText,
                                                               double.Parse(employeeSalary[counter].InnerText));
                }
                Add(currentEmployee);
                counter++;
            }
        }
Exemple #9
0
        public static Employee CreateEmployee(EmployeeData employeeData)
        {
            Employee employee = null;

            switch (employeeData.ContractTypeName)
            {
            case "HourlySalaryEmployee":
                employee = new HourlySalaryEmployee(employeeData);
                break;

            case "MonthlySalaryEmployee":
                employee = new MonthlySalaryEmployee(employeeData);
                break;

            default:
                break;
            }
            if (employee != null)
            {
                employee.CalculateAnualSalary();
            }
            return(employee);
        }