public static IUnityContainer GetContainer(BackEndUnityContainerAvailable containerSelected)
        {
            IUnityContainer result = new UnityContainer();

            switch (containerSelected)
            {
                case BackEndUnityContainerAvailable.Real:
                    result.RegisterType(typeof(ISmtpClient), typeof(SmtpClientMock), new InjectionMember[0]);
                    result.RegisterType(typeof(IMembershipDAL), typeof(MembershipDAL), new InjectionMember[0]);
                    result.RegisterType(typeof(IRoleAdminDAL), typeof(RoleAdminDAL), new InjectionMember[0]);
                    result.RegisterType(typeof(IProfileDAL), typeof(ProfileDAL), new InjectionMember[0]);
                    result.RegisterType(typeof(ILoggingDAL), typeof(LoggingDAL), new InjectionMember[0]);
                    result.RegisterType(typeof(ISyndicationDAL), typeof(SyndicationDAL), new InjectionMember[0]);
                    result.RegisterType(typeof(ITokenTemporaryPersistenceDAL<>), typeof(TokenTemporaryDatabasePersistenceDAL<>), new InjectionMember[0]);

                    //result.RegisterType(typeof(IUserRequestModel), typeof(UserRequestContextBackEndNetTcp), new InjectionMember[0]);
                    //result.RegisterType(typeof(IUserRequestModel), typeof(UserRequestContextBackEndHttp), new InjectionMember[0]);
                    result.RegisterType(typeof(IUserRequestModel), typeof($customBindingUserRequestModelAtServer$), new InjectionMember[0]);
        public static IUnityContainer GetContainer(BackEndUnityContainerAvailable containerSelected)
        {
            IUnityContainer result = null;

            switch (containerSelected)
            {
                case BackEndUnityContainerAvailable.Real:
                    result = UnityContainerProvider.unityContainerProviderReal.GetContainer();
                    break;
                //case UnityContainerAvailable.MockDALDevelopment:
                //    result = UnityContainerProvider.unityContainerProviderMockDALDevelopment.GetContainer();
                //    break;
                default:
                    throw new Exception("IUnityContainer does not exist in the list of available providers");
            }

            return result;
        }
 public BackendHostInitializer(BackEndUnityContainerAvailable unityContainer)
 {
     this.DatabaseCnnStrings_Init();
     this.EnterpriseLibrary_Init(UnityContainerProvider.GetContainer(unityContainer));
     this.BackEndServices_Init();
 }
 public BackendHostInitializerForAzure(BackEndUnityContainerAvailable unityContainer)
     : base(unityContainer)
 {
 }