コード例 #1
0
        //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));
        }
コード例 #2
0
        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()));
        }