public ActionResult GeneratePayslip()
        {
            EmployeeFactory EmployeeFactory   = new ConcreteEmployeeFactory();
            IEmployee       permanentEmployee = EmployeeFactory.Factory("PermanentEmployee");

            permanentEmployee.details();

            IEmployee TemporaryEmployee = EmployeeFactory.Factory("TemporaryEmployee");

            TemporaryEmployee.details();

            return(View());
        }
        public async Task <IEnumerable <EmployeeEntity> > GetAllAsync()
        {
            var listEmployees = await _employeeAccess.GetAllAsync();

            foreach (var employee in listEmployees)
            {
                EmployeeFactory EmployeeFactory = new ConcreteEmployeeFactory();

                IFactory typeEmployee = EmployeeFactory.Factory(employee.ContractTypeName);
                employee.TotalSalary = typeEmployee.CalculateAnualSalary(employee);
            }

            return(listEmployees);
        }
        public static IEnumerable <Employee> GetEmployees(IEnumerable <Employee> listOfEmployees)
        {
            EmployeeFactory factory           = new ConcreteEmployeeFactory();
            List <Employee> listOfEmployeeNew = new List <Employee>();

            foreach (Employee x in listOfEmployees)
            {
                IEmployeeFactory employee = factory.GetEmployee(x);
                x.annualSalary = employee.CalculateAnnualSalary(x.contractTypeName);
                listOfEmployeeNew.Add(x);
            }

            return((IEnumerable <Employee>)listOfEmployeeNew);
        }
Exemple #4
0
        private List <Employee> GroupEmployees(List <Employee> listEmployees)
        {
            List <Employee>         listEmployeesGrouped = new List <Employee>();
            ConcreteEmployeeFactory employeeFactory      = new ConcreteEmployeeFactory();

            if (listEmployees != null)
            {
                foreach (Employee item in listEmployees)
                {
                    IEmployee employee = employeeFactory.GetEmployee(item); employee.CalculateAnnualSalary();
                    listEmployeesGrouped.Add((Employee)employee);
                }
            }
            return(listEmployeesGrouped);
        }
Exemple #5
0
        public static IEnumerable<Employee> GetEmployees(IEnumerable<Employee> listOfEmployees)
        {
            EmployeeFactory factory = new ConcreteEmployeeFactory();
            List<Employee> employeeList = new List<Employee>();

            foreach (Employee emp in listOfEmployees)
            {
                IEmployeeFactory employee = factory.GetEmployee(emp);
                emp.annualSalary = employee.CalculateAnnualSalary(emp.contractTypeName);
                emp.contractType = emp.contractTypeName.Contains("Hourly") ? "Hourly" : "Monthly";
                emp.formattedHourlySalary = emp.hourlySalary.ToString("C");
                emp.formattedMonthlySalary = emp.monthlySalary.ToString("C");
                emp.formattedAnnualSalary = emp.annualSalary.ToString("C");
                employeeList.Add(emp);
            }

            return (IEnumerable<Employee>)employeeList;
        }
Exemple #6
0
        static void Main(string[] args)
        {
            ///example1
            ILogger logger = new LoggerFactory().CreateLogger(LoggerType.DatabaseLogger);

            logger.Log("system format exception : ");
            Console.WriteLine("");

            ///example2
            EmployeeFactory concreteEmployee  = new ConcreteEmployeeFactory();
            IFactory        permanentEmployee = concreteEmployee.GetFactoryEmployee("PermanentEmployee");

            permanentEmployee.Details();
            Console.WriteLine("");

            ///example 3
            Creator  creator  = new Creator();
            IProduct product1 = creator.GetProduct(ProductType.Product1);

            product1.ShipFrom();
            Console.ReadKey();
        }
        public IEnumerable <dynamic> GetAllEmployees(string employeeId)
        {
            IEnumerable <Employee>  result  = _businessService.GetEmployeesFromAPI();
            AbstractEmployeeFactory factory = new ConcreteEmployeeFactory();

            var empId = -1;

            int.TryParse(employeeId, out empId);

            result = empId > 0 ? result.Where(x => x.Id == empId) : result;

            IEnumerable <dynamic> response = result.Select(o => new
            {
                o.Id,
                o.Name,
                o.ContractTypeName,
                Role = o.RoleName,
                o.HourlySalary,
                o.MonthlySalary,
                Salary = factory.GetSalary(o.ContractTypeName, o)
            });

            return(response);
        }