//private static void Main(string[] args) //{ // ConfigureContainer(); // IdentifyRoleFactory factory = new IdentifyRoleFactory(); // var adminDataService = factory.CreateDataService(RoleNames.Admin); // foreach (var user in adminDataService.GetData()) // { // Console.WriteLine("User Id : {0} UserRole : {1}", user.Id, user.UserRole); // } // Console.ReadKey(); //} private static void ConfigureContainer() { IUnityContainer container = new UnityContainer(); // register the service implementation //container.RegisterType<IBusinessService, BusinessServiceImpl>(); //container.RegisterType<IRepository<User>, UserRepository>(); // configure the factory provider BusinessServiceFactoryProvider.SetupFactory(new ContainerBusinessServiceFactory(container)); }
public IDataService CreateDataService(string role) { var factoryProvider = new BusinessServiceFactoryProvider(); var factory = factoryProvider.Factory; if (role.Equals(RoleNames.Admin)) { return(new AdminDataService(factory.CreateUserRepository())); } return(new ParticipantDataService(factory.CreateUserRepository())); }