public async Task <IEnumerable <Employee> > GetEmployees()
        {
            var employees = await this._employeeRepository.GetEmployees();

            var employeesWithSalary = employees.Select(c => { c.Salary = SalaryProviderFactory.CreateSalaryProvider(c.TypeOfContract).GetSalary(c); return(c); });

            return(employeesWithSalary);
        }
        public async Task <Employee> GetEmployeeById(int id)
        {
            var employees = await this._employeeRepository.GetEmployees();

            var employee = employees.Where(c => c.Id == id).FirstOrDefault();

            if (employee != null)
            {
                employee.Salary = SalaryProviderFactory.CreateSalaryProvider(employee.TypeOfContract).GetSalary(employee);
            }
            return(employee);
        }