public static IEmployee GetEmployeeInstance(UserRole role, AccessBoundry access) { IEmployee employee = new Employee(access); switch (role) { case UserRole.Director: employee = new Director(access); break; case UserRole.Manager: employee = new Manager(access); break; case UserRole.Executive: employee = new Executive(access); break; case UserRole.SalesPerson: employee = new SalesPerson(access); break; case UserRole.Secretary: employee = new Secretary(access); break; case UserRole.Developer: employee = new Developer(access); break; case UserRole.Watchman: employee = new Watchman(access); break; case UserRole.General: employee = new Employee(access); break; } return(employee); }
internal protected Director(AccessBoundry access) { Access = access; }
internal Watchman(AccessBoundry access) { Access = access; }
internal Secretary(AccessBoundry access) { Access = access; }
internal protected Manager(AccessBoundry access) { Access = access; }
internal Developer(AccessBoundry access) { Access = access; }
internal SalesPerson(AccessBoundry access) { Access = access; }
internal Employee(AccessBoundry access) { Access = access; }
internal Executive(AccessBoundry access) { Access = access; }