コード例 #1
0
 public ProjectStartPageView(IEventAggregator eventAggregator, IWorkbenchService workbenchService)
 {
     _eventAggregator = eventAggregator;
     this.HideOnClose = false;
     this.TabText     = "Browser";
     _browserPane.View.GetSchemeFunc = (sender, e) =>
     {
         if (e.SchemeName.Equals(ProjectStartPageScheme.SCHEMENAME, StringComparison.CurrentCultureIgnoreCase))
         {
             return(ProjectStartPageScheme.Instance);
         }
         else
         {
             return(null);
         }
     };
     _browserPane.View.StatusTextChanged = (e) => { workbenchService.SetStatusMessage(e); };
     _browserPane.View.TitleChanged      = (e) => { this.TabText = e; };
     this.Controls.Add(_browserPane.View);
     _browserPane.Navigate(ProjectStartPageScheme.PROJECT_STARTPAGE_URI);
     this.Single      = true;
     this.SingleKey   = ProjectStartPageScheme.PROJECT_STARTPAGE_URI;
     this.HideOnClose = true;
     SubscribeEvents();
 }
コード例 #2
0
        private HostingTabPageContextMenuStrip()
        {
            _workbenchService = ServiceUnity.WorkbenchService;
            ContextMenuStripCodon contextMenuStripCodon = new ContextMenuStripCodon("HostingTabPageContextMenuStrip");

            contextMenuStripCodon.Items.Add(new ToolStripMenuItemCodon("Close", Language.Current.HostingTabPageContextMenuStrip_Close,
                                                                       delegate(object sender, ToolStripItemCodonEventArgs codon)
            {
                _workbenchService.CloseView(FormHostingContainer.Instance.ActiveHosting);
            }));
            contextMenuStripCodon.Items.Add(new ToolStripMenuItemCodon("CloseAll", Language.Current.HostingTabPageContextMenuStrip_CloseAll,
                                                                       delegate(object sender, ToolStripItemCodonEventArgs codon)
            {
                IDockContent[] dockContent = FormHostingContainer.Instance.Hostings.ToArray();
                for (int i = 0; i < dockContent.Length; i++)
                {
                    IView view = dockContent[i] as IView;
                    _workbenchService.CloseView(view);
                }
            }));
            contextMenuStripCodon.Items.Add(new ToolStripMenuItemCodon("CloseAllButThis", Language.Current.HostingTabPageContextMenuStrip_CloseAllButThis,
                                                                       delegate(object sender, ToolStripItemCodonEventArgs codon)
            {
                IDockContent[] dockContent = FormHostingContainer.Instance.Hostings.ToArray();
                for (int i = 0; i < dockContent.Length; i++)
                {
                    if (dockContent[i] != FormHostingContainer.Instance.ActiveHosting)
                    {
                        IView view = dockContent[i] as IView;
                        _workbenchService.CloseView(view);
                    }
                }
            }));
            MenuStrip = new ContextMenuStripView(contextMenuStripCodon);
        }
コード例 #3
0
 public DictionaryComponent(IUnityContainer container, IEventAggregator eventAggregator, IWorkbenchService workbenchService)
 {
     _container         = container;
     _eventAggregator   = eventAggregator;
     _workbenchService  = workbenchService;
     _navigationService = _container.Resolve <INavigationService>();
     _projectService    = _container.Resolve <IProjectService>();
 }
コード例 #4
0
        public void AddToCacheSameServiceTypeTwiceThrows(WorkbenchServiceType type, IWorkbenchService service1, IWorkbenchService service2)
        {
            Workbench.Instance.AddToCache(type, service1);

            // throws with the same service
            Assert.ThrowsAny <Exception>(() => Workbench.Instance.AddToCache(type, service1));

            // and with a different service
            Assert.ThrowsAny <Exception>(() => Workbench.Instance.AddToCache(type, service2));
        }
コード例 #5
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (DesignMode)
            {
                return;
            }
            _workbenchService = ServiceUnity.Container.Resolve <IWorkbenchService>();
        }
コード例 #6
0
        /// <summary>
        /// Adds a <see cref="IWorkbenchService"/> to the cache.
        /// </summary>
        /// <param name="type">The type of the service being added.</param>
        /// <param name="service">The actual service instance.</param>
        public void AddToCache(WorkbenchServiceType type, IWorkbenchService service)
        {
            if (_singletonCache.ContainsKey(type))
            {
                var message = $"The SingletonType '{type}' has been already set. Only one Workbench service of a given type is allowed.";
                throw new ArgumentException(message, nameof(type));
            }

            _singletonCache.Add(type, service);
        }
コード例 #7
0
ファイル: Initializer.cs プロジェクト: bartsipes/ElementSuite
        public static void Initialize(IWorkbenchService workBench)
        {
            _initializer = new Initializer();
            _initializer._windsorContainer = _initializer.BootstrapContainer(workBench);
            var logger = _initializer._windsorContainer.Resolve <ILoggingService>();

            //An aggregate catalog that combines multiple catalogs
            var catalog = new AggregateCatalog();

            var currentPath = AppDomain.CurrentDomain.BaseDirectory;
            var addinPath   = currentPath + "Addins";

            List <Assembly> addinAssemblies = new List <Assembly>();

            foreach (var path in Directory.EnumerateFiles(addinPath, "*.dll"))
            {
                addinAssemblies.Add(Assembly.LoadFrom(path));
            }

            //Adds all the parts found in the same assembly as the Program class
            foreach (var assembly in addinAssemblies)
            {
                catalog.Catalogs.Add(new AssemblyCatalog(assembly));
            }

            //Create the CompositionContainer with the parts in the catalog
            _initializer._container = new CompositionContainer(catalog);

            //Fill the imports of this object
            try
            {
                _initializer._container.ComposeParts(_initializer);
            }
            catch (CompositionException compositionException)
            {
                logger.Log(Common.LogLevel.Error, "Exception thrown composing addin assemblies.", compositionException);
            }

            //Initialize all of the addins
            if (_initializer.Addins != null)
            {
                foreach (var addin in _initializer.Addins)
                {
                    try
                    {
                        addin.Value.Initialize(ServiceFactory.Instance);
                    }
                    catch (Exception ex)
                    {
                        logger.Log(Common.LogLevel.Error, string.Format("Exception thrown initializing an addin of type \"{0}\".", addin.GetType().FullName), ex);
                    }
                }
            }
        }
コード例 #8
0
ファイル: Initializer.cs プロジェクト: bartsipes/ElementSuite
        public static void Initialize(IWorkbenchService workBench)
        {
            _initializer = new Initializer();
            _initializer._windsorContainer = _initializer.BootstrapContainer(workBench);
            var logger = _initializer._windsorContainer.Resolve<ILoggingService>();

            //An aggregate catalog that combines multiple catalogs
            var catalog = new AggregateCatalog();

            var currentPath = AppDomain.CurrentDomain.BaseDirectory;
            var addinPath = currentPath + "Addins";

            List<Assembly> addinAssemblies = new List<Assembly>();

            foreach (var path in Directory.EnumerateFiles(addinPath, "*.dll"))
            {
                addinAssemblies.Add(Assembly.LoadFrom(path));
            }

            //Adds all the parts found in the same assembly as the Program class
            foreach (var assembly in addinAssemblies)
            {
                catalog.Catalogs.Add(new AssemblyCatalog(assembly));
            }

            //Create the CompositionContainer with the parts in the catalog
            _initializer._container = new CompositionContainer(catalog);

            //Fill the imports of this object
            try
            {
                _initializer._container.ComposeParts(_initializer);
            }
            catch (CompositionException compositionException)
            {
                logger.Log(Common.LogLevel.Error, "Exception thrown composing addin assemblies.", compositionException);
            }

            //Initialize all of the addins
            if (_initializer.Addins != null)
            {
                foreach (var addin in _initializer.Addins)
                {
                    try
                    {
                        addin.Value.Initialize(ServiceFactory.Instance);
                    }
                    catch (Exception ex)
                    {
                        logger.Log(Common.LogLevel.Error, string.Format("Exception thrown initializing an addin of type \"{0}\".", addin.GetType().FullName), ex);
                    }
                }
            }
        }
コード例 #9
0
 public BrowserView(BrowserPane browserPane, Uri url)
 {
     InitializeComponent();
     this.HideOnClose  = false;
     this.TabText      = "Browser";
     _workbenchService = ServiceUnity.Container.Resolve <IWorkbenchService>();
     browserPane.View.StatusTextChanged = (e) => { _workbenchService.SetStatusMessage(e); };
     browserPane.View.TitleChanged      = (e) => { this.TabText = e; };
     browserPane.View.NewWindow        += (sender, e) => { _workbenchService.Show(new BrowserView(e.BrowserPane, e.Url)); };
     this.Controls.Add(browserPane.View);
     browserPane.Navigate(url.ToString());
 }
コード例 #10
0
        private GlobalTabPageContextMenuStrip()
        {
            _workbenchService = ServiceUnity.WorkbenchService;
            this.Renderer     = ToolStripRenders.Default;
            ToolStripMenuItem close = new ToolStripMenuItem(Language.Current.GlobalTabPageContextMenuStrip_Close);

            close.Click += new EventHandler(close_Click);
            ToolStripMenuItem closeAll = new ToolStripMenuItem(Language.Current.GlobalTabPageContextMenuStrip_CloseAll);

            closeAll.Click += new EventHandler(closeAll_Click);
            ToolStripMenuItem closeAllButThis = new ToolStripMenuItem(Language.Current.GlobalTabPageContextMenuStrip_CloseAllButThis);

            closeAllButThis.Click += new EventHandler(closeAllButThis_Click);
            this.Items.Add(close);
            this.Items.Add(closeAll);
            this.Items.Add(closeAllButThis);
        }
コード例 #11
0
ファイル: Initializer.cs プロジェクト: bartsipes/ElementSuite
        private IWindsorContainer BootstrapContainer(IWorkbenchService workBench)
        {
            var container = new WindsorContainer()
                            .Install(Configuration.FromAppConfig(),
                                     FromAssembly.InThisApplication()
                                     //perhaps pass other installers here if needed
                                     );

            // Load all of the view models and views
            var assemblyTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes());

            var viewModelTypes = from m in assemblyTypes
                                 where typeof(IViewModel).IsAssignableFrom(m)
                                 select m;

            foreach (Type t in viewModelTypes)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(t).Named(t.FullName).LifestyleTransient());
            }

            var viewTypes = from v in assemblyTypes
                            where typeof(IView).IsAssignableFrom(v) && !typeof(IStartupView).IsAssignableFrom(v)
                            select v;

            foreach (Type t in viewTypes)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(t).Named(t.FullName).LifestyleTransient().Activator <FrameworkElementModelViewActivator>());
            }

            if (workBench != null)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(typeof(IWorkbenchService)).Named("WorkBenchService").LifestyleSingleton().Instance(workBench));
            }

            return(container);
        }
コード例 #12
0
 public ProjectModule(IUnityContainer container, IEventAggregator eventAggregator, IWorkbenchService workbenchService)
 {
     _container        = container;
     _eventAggregator  = eventAggregator;
     _workbenchService = workbenchService;
 }
コード例 #13
0
        public void GetRegisteredServiceReturnsWhatWasAddedByAddToCache(WorkbenchServiceType type, IWorkbenchService service)
        {
            Workbench.Instance.AddToCache(type, service);

            Assert.Same(service, Workbench.Instance.GetRegisteredService(type));
        }
コード例 #14
0
ファイル: Initializer.cs プロジェクト: bartsipes/ElementSuite
        private IWindsorContainer BootstrapContainer(IWorkbenchService workBench)
        {
            var container = new WindsorContainer()
               .Install(Configuration.FromAppConfig(),
                        FromAssembly.InThisApplication()
                //perhaps pass other installers here if needed
               );

            // Load all of the view models and views
            var assemblyTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes());

            var viewModelTypes = from m in assemblyTypes
                                 where typeof(IViewModel).IsAssignableFrom(m)
                                 select m;

            foreach (Type t in viewModelTypes)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(t).Named(t.FullName).LifestyleTransient());
            }

            var viewTypes = from v in assemblyTypes
                            where typeof(IView).IsAssignableFrom(v) && !typeof(IStartupView).IsAssignableFrom(v)
                            select v;

            foreach (Type t in viewTypes)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(t).Named(t.FullName).LifestyleTransient().Activator<FrameworkElementModelViewActivator>());
            }

            if (workBench != null)
            {
                container.Register(Castle.MicroKernel.Registration.Component.For(typeof(IWorkbenchService)).Named("WorkBenchService").LifestyleSingleton().Instance(workBench));
            }

            return container;
        }
コード例 #15
0
 public DataBaseSourceModule(IUnityContainer container, IEventAggregator eventAggregator, IWorkbenchService workbenchService)
 {
     _container        = container;
     _eventAggregator  = eventAggregator;
     _workbenchService = workbenchService;
 }
コード例 #16
0
        public void GetRegisteredServiceCallsInitializeOnService(WorkbenchServiceType type, IWorkbenchService service)
        {
            Workbench.Instance.AddToCache(type, service);

            Workbench.Instance.GetRegisteredService(type);

            service.Received(1).Initialize();
        }
コード例 #17
0
        /// <summary>
        /// 获取服务组件
        /// </summary>
        /// <returns>返回组件接口</returns>
        public static T GetServerModule <T>()
        {
            string name = typeof(T).ToString();

            m_hashTable = new Hashtable();

            //if (m_hashTable.ContainsKey(name))
            //{
            //    return (T)m_hashTable[name];
            //}

            if (typeof(T) == typeof(IProviderServer))
            {
                IProviderServer serverModule = new ProviderServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IAccessoryDutyInfoManageServer))
            {
                IAccessoryDutyInfoManageServer serverModule = new AccessoryDutyInfoManageServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDepartmentServer))
            {
                IDepartmentServer serverModule = new DepartmentServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialTypeServer))
            {
                IMaterialTypeServer serverModule = new MaterialTypeServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IStoreServer))
            {
                IStoreServer serverModule = new StoreServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICheckOutInDepotServer))
            {
                ICheckOutInDepotServer serverModule = new CheckOutInDepotServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IUnitServer))
            {
                IUnitServer serverModule = new UnitServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IClientServer))
            {
                IClientServer serverModule = new ClientServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductListServer))
            {
                IProductListServer serverModule = new ProductListServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBasicGoodsServer))
            {
                IBasicGoodsServer serverModule = SCM_Level01_ServerFactory.GetServerModule <IBasicGoodsServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IAssemblyInfoServer))
            {
                IAssemblyInfoServer serverModule = PMS_ServerFactory.GetServerModule <IAssemblyInfoServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBarCodeServer))
            {
                IBarCodeServer serverModule = BasicServerFactory.GetServerModule <IBarCodeServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBomServer))
            {
                IBomServer serverModule = PMS_ServerFactory.GetServerModule <IBomServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBomMappingServer))
            {
                IBomMappingServer serverModule = PMS_ServerFactory.GetServerModule <IBomMappingServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IAssemblingBom))
            {
                IAssemblingBom serverModule = PMS_ServerFactory.GetServerModule <IAssemblingBom>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IElectronFileServer))
            {
                IElectronFileServer serverModule = PMS_ServerFactory.GetServerModule <IElectronFileServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IChoseConfectServer))
            {
                IChoseConfectServer serverModule = PMS_ServerFactory.GetServerModule <IChoseConfectServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IWorkbenchService))
            {
                IWorkbenchService serverModule = PMS_ServerFactory.GetServerModule <IWorkbenchService>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGoodsGradeServer))
            {
                IGoodsGradeServer serverModule = new GoodsGradeServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBargainInfoServer))
            {
                IBargainInfoServer serverModule = new BargainInfoServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBargainGoodsServer))
            {
                IBargainGoodsServer serverModule = new BargainGoodsServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOrderFormInfoServer))
            {
                IOrderFormInfoServer serverModule = new OrderFormInfoServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOrderFormGoodsServer))
            {
                IOrderFormGoodsServer serverModule = new OrderFormGoodsServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOrdinaryInDepotBillServer))
            {
                IOrdinaryInDepotBillServer serverModule = new OrdinaryInDepotBillServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOrdinaryInDepotGoodsBill))
            {
                IOrdinaryInDepotGoodsBill serverModule = new OrdinaryInDepotGoodsBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductInfoServer))
            {
                IProductInfoServer serverModule = PMS_ServerFactory.GetServerModule <IProductInfoServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IBillTypeServer))
            {
                IBillTypeServer serverModule = BasicServerFactory.GetServerModule <IBillTypeServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IAssignBillNoServer))
            {
                IAssignBillNoServer serverModule = BasicServerFactory.GetServerModule <IAssignBillNoServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialRequisitionServer))
            {
                IMaterialRequisitionServer serverModule = new MaterialRequisitionServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IPersonnelInfoServer))
            {
                IPersonnelInfoServer serverModule = SCM_Level01_ServerFactory.GetServerModule <IPersonnelInfoServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialRequisitionGoodsServer))
            {
                IMaterialRequisitionGoodsServer serverModule = new MaterialRequisitionGoodsServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDeclareWastrelType))
            {
                IDeclareWastrelType serverModule = new DeclareWastrelType();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IScrapBillServer))
            {
                IScrapBillServer serverModule = new ScrapBillServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IScrapGoodsServer))
            {
                IScrapGoodsServer serverModule = new ScrapGoodsServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialRequisitionPurposeServer))
            {
                IMaterialRequisitionPurposeServer serverModule = new MaterialRequisitionPurposeServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IFieldWidthServer))
            {
                IFieldWidthServer serverModule = new FieldWidthServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IHomemadePartInDepotServer))
            {
                IHomemadePartInDepotServer serverModule = new HomemadePartInDepotServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialReturnedInTheDepot))
            {
                IMaterialReturnedInTheDepot serverModule = new MaterialReturnedInTheDepot();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialListReturnedInTheDepot))
            {
                IMaterialListReturnedInTheDepot serverModule = new MaterialListReturnedInTheDepot();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialRejectBill))
            {
                IMaterialRejectBill serverModule = new MaterialRejectBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialListRejectBill))
            {
                IMaterialListRejectBill serverModule = new MaterialListRejectBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDetailSummaryInfo))
            {
                IDetailSummaryInfo serverModule = new DetailSummaryInfo();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDepotTypeForPersonnel))
            {
                IDepotTypeForPersonnel serverModule = SCM_Level01_ServerFactory.GetServerModule <IDepotTypeForPersonnel>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IInvoiceServer))
            {
                IInvoiceServer serverModule = new InvoiceServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ISellIn))
            {
                ISellIn serverModule = new SellIn();
                m_hashTable.Add(name, serverModule);
            }
            //else if (typeof(T) == typeof(IProductOrder))
            //{
            //    IProductOrder serverModule = new ProductOrder();
            //    m_hashTable.Add(name, serverModule);
            //}
            else if (typeof(T) == typeof(ICannibalize))
            {
                ICannibalize serverModule = new Cannibalize();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICheckReturnRepair))
            {
                ICheckReturnRepair serverModule = new CheckReturnRepair();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IIsolationManageBill))
            {
                IIsolationManageBill serverModule = new IsolationManageBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMessMessageFeedback))
            {
                IMessMessageFeedback serverModule = new MessMessageFeedback();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ITorqueConverterInfoServer))
            {
                ITorqueConverterInfoServer serverModule = new TorqueConverterInfoServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductPlan))
            {
                IProductPlan serverModule = new ProductPlan();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IStoreageCheck))
            {
                IStoreageCheck serverModule = new StoreageCheck();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ISafeStockServer))
            {
                ISafeStockServer serverModule = new SafeStockServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMusterAffirmBill))
            {
                IMusterAffirmBill serverModule = new MusterAffirmBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMusterUse))
            {
                IMusterUse serverModule = new MusterUse();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ITempElectronFileServer))
            {
                ITempElectronFileServer serverModule = PMS_ServerFactory.GetServerModule <ITempElectronFileServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMultiBatchPartServer))
            {
                IMultiBatchPartServer serverModule = PMS_ServerFactory.GetServerModule <IMultiBatchPartServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ITechnologyChange))
            {
                ITechnologyChange serverModule = new TechnologyChange();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGoodsLeastPackAndStock))
            {
                IGoodsLeastPackAndStock serverModule = new GoodsLeastPackAndStock();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOrderFormAffrim))
            {
                IOrderFormAffrim serverModule = new OrderFormAffrim();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMarketingPlan))
            {
                IMarketingPlan serverModule = new MarketingPlan();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IPurcharsingPlan))
            {
                IPurcharsingPlan serverModule = new PurcharsingPlan();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGeneratesCheckOutInDepotServer))
            {
                IGeneratesCheckOutInDepotServer serverModule = new GeneratesCheckOutInDepotServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGoodsAntirust))
            {
                IGoodsAntirust serverModule = new GoodsAntirust();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IQuarantine))
            {
                IQuarantine serverModule = new Quarantine();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IAfterServiceMakePartsBill))
            {
                IAfterServiceMakePartsBill serverModule = new AfterServiceMakePartsBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IReparativePartInfoServer))
            {
                IReparativePartInfoServer serverModule = PMS_ServerFactory.GetServerModule <IReparativePartInfoServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IConvertCVTNumber))
            {
                IConvertCVTNumber serverModule = PMS_ServerFactory.GetServerModule <IConvertCVTNumber>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductBarcodeServer))
            {
                IProductBarcodeServer serverModule = PMS_ServerFactory.GetServerModule <IProductBarcodeServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICheckOutInDepotForOutsourcingServer))
            {
                ICheckOutInDepotForOutsourcingServer serverModule = new CheckOutInDepotForOutsourcingServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductChange))
            {
                IProductChange serverModule = new ProductChange();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IHomemadeRejectBill))
            {
                IHomemadeRejectBill serverModule = new HomemadeRejectBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IHomemadeRejectList))
            {
                IHomemadeRejectList serverModule = new HomemadeRejectList();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IFrockProvingReport))
            {
                IFrockProvingReport serverModule = new FrockProvingReport();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMaterialDetainBill))
            {
                IMaterialDetainBill serverModule = new MaterialDetainBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IPrintProductBarcodeInfo))
            {
                IPrintProductBarcodeInfo serverModule = PMS_ServerFactory.GetServerModule <IPrintProductBarcodeInfo>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IThreePacketsOfTheRepairBill))
            {
                IThreePacketsOfTheRepairBill serverModule = new ThreePacketsOfTheRepairBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IFrockIndepotBill))
            {
                IFrockIndepotBill serverModule = new FrockIndepotBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICommunicateReportBill))
            {
                ICommunicateReportBill serverModule = new CommunicateReportBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductCodeServer))
            {
                IProductCodeServer serverModule = SCM_Level02_ServerFactory.GetServerModule <IProductCodeServer>();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IHomemadePartInfoServer))
            {
                IHomemadePartInfoServer serverModule = new HomemadePartInfoServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IStorageInfo))
            {
                IStorageInfo serverModule = new StorageInfo();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductDeliveryInspectionServer))
            {
                IProductDeliveryInspectionServer serverModule = new ProductDeliveryInspectionServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICVTCustomerInformationServer))
            {
                ICVTCustomerInformationServer serverModule = new CVTCustomerInformationServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICVTTruckLoadingInformation))
            {
                ICVTTruckLoadingInformation serverModule = new CVTTruckLoadingInformation();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IQualityProblemRectificationDisposalBill))
            {
                IQualityProblemRectificationDisposalBill serverModule = new QualityProblemRectificationDisposalBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGoodsShelfLife))
            {
                IGoodsShelfLife serverModule = new GoodsShelfLife();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IReport))
            {
                IReport serverModule = new Report();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMarqueeServer))
            {
                IMarqueeServer serverModule = new MarqueeServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDeviceMaintenanceBill))
            {
                IDeviceMaintenanceBill serverModule = new DeviceMaintenanceBill();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ICBOMServer))
            {
                ICBOMServer serverModule = new CBOMServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ILogisticSafeStock))
            {
                ILogisticSafeStock serverModule = new LogisticSafeStock();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IUnProductTestingSingle))
            {
                IUnProductTestingSingle serverModule = new UnProductTestingSingle();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IDisposableGoodsServer))
            {
                IDisposableGoodsServer serverModule = new DisposableGoodsServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ITCURepairInfoServer))
            {
                ITCURepairInfoServer serverModule = new TCURepairInfoServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ISalesOrderServer))
            {
                ISalesOrderServer serverModule = new SalesOrderServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ITechnologyAlteration))
            {
                ITechnologyAlteration serverModule = new TechnologyAlteration();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IMinorPurchaseBillServer))
            {
                IMinorPurchaseBillServer serverModule = new MinorPurchaseBillServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductLendService))
            {
                IProductLendService serverModule = new ProductLendService();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductLendReturnService))
            {
                IProductLendReturnService serverModule = new ProductLendReturnService();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IProductReturnService))
            {
                IProductReturnService serverModule = new ProductReturnService();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IStockLack))
            {
                IStockLack serverModule = new StockLack();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IOfflineFailSafeServer))
            {
                IOfflineFailSafeServer serverModule = new OfflineFailSafeServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(ISystemLogServer))
            {
                ISystemLogServer serverModule = new SystemLogServer();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IFinancialDetailManagement))
            {
                IFinancialDetailManagement serverModule = new FinancialDetailManagement();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IToolsManage))
            {
                IToolsManage serverModule = new ToolsManage();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IGaugeManage))
            {
                IGaugeManage serverModule = new GaugeManage();
                m_hashTable.Add(name, serverModule);
            }
            else if (typeof(T) == typeof(IQualitySystemDatabase))
            {
                IQualitySystemDatabase serverModule = new QualitySystemDatabase();
                m_hashTable.Add(name, serverModule);
            }

            if (m_hashTable.ContainsKey(name))
            {
                return((T)m_hashTable[name]);
            }

            return(default(T));
        }