public static IEmployee Factory(EContractType contractType, double hourlySalary, double monthlySalary) { if (contractType == EContractType.HourlySalaryEmployee) { return(new HourlySalaryEmployee(hourlySalary)); } if (contractType == EContractType.MonthlySalaryEmployee) { return(new MonthlySalaryEmployee(monthlySalary)); } throw new ApplicationException(); }
public static ISalaryFactory SalaryFactoryCreator(EContractType eContractType, double hourlySalary, double monthlySalary) { switch (eContractType) { case EContractType.HourlySalaryEmployee: return(new HourlySalary(hourlySalary)); case EContractType.MonthlySalaryEmployee: return(new MonthlySalary(monthlySalary)); default: return(null); } }
public static double CalculateSalary(EContractType contractType, double hourlySalary, double monthlySalary) { var calculateSalaryFactory = EmployeeFactory.Factory(contractType, hourlySalary, monthlySalary); return(calculateSalaryFactory.CalculateAnnualSalary()); }