예제 #1
0
        bool CheckModule(bool checkRequieredProperties, EModuleType expected)
        {
            if (_Current == null)
            {
                _IO.WriteError(Lang.Get("Require_Module"));
                return(false);
            }

            if (expected != EModuleType.None)
            {
                if (_Current.ModuleType != expected)
                {
                    _IO.WriteError(Lang.Get("Require_Module_Type", expected.ToString()));
                    return(false);
                }
            }

            string error;

            if (checkRequieredProperties && !_Current.CheckRequiredProperties(_IO, out error))
            {
                _Current.WriteInfo(error);
                return(false);
            }
            return(true);
        }
예제 #2
0
        protected IModuleCollection()
        {
            _TypeT     = typeof(T);
            _LoadedAsm = new List <string>();

            if (_TypeT == typeof(Encoder))
            {
                _Type = EModuleType.Encoder;
            }
            else if (_TypeT == typeof(Payload))
            {
                _Type = EModuleType.Payload;
            }
            else if (_TypeT == typeof(Module))
            {
                _Type = EModuleType.Module;
            }
        }
예제 #3
0
        bool CheckModule(bool checkRequieredProperties, EModuleType expected)
        {
            if (_Current == null)
            {
                _IO.WriteError(Lang.Get("Require_Module"));
                return false;
            }

            if (expected != EModuleType.None)
            {
                if (_Current.ModuleType != expected)
                {
                    _IO.WriteError(Lang.Get("Require_Module_Type", expected.ToString()));
                    return false;
                }
            }

            string propertyName;
            if (checkRequieredProperties && !_Current.CheckRequiredProperties(out propertyName))
            {
                _Current.WriteInfo(Lang.Get("Require_Set_Property", propertyName));
                return false;
            }
            return true;
        }
예제 #4
0
        public static List<Type> GetModules(EModuleType moduleType)
        {
            var resultList = new List<Type>();
            switch (moduleType)
            {
                case EModuleType.All:
                    resultList = _allModules;
                    break;
                case EModuleType.ProcessPhoto:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IProcessPhoto") == typeof(IProcessPhoto)).ToList();

                    break;
                case EModuleType.RenderIntoHtml:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IRenderIntoHtml") == typeof(IRenderIntoHtml)).ToList();
                    break;
                case EModuleType.OrderChanged:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IOrderChanged") == typeof(IOrderChanged)).ToList();
                    break;
                case EModuleType.SMS:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IModuleSms") == typeof(IModuleSms)).ToList();
                    break;
                case EModuleType.MyAccountControls:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IMyAccountControls") == typeof(IMyAccountControls)).ToList();
                    break;
                case EModuleType.DetailsModule:
                    resultList =
                    _allModules.Where(
                        item =>
                        item.IsClass &&
                        item.GetInterface("AdvantShop.Modules.Interfaces.IModuleDetails") == typeof(IModuleDetails)).ToList();
                    break;
                case EModuleType.OrderConfirmation:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IOrderConfirmation") == typeof(IOrderConfirmation)).ToList();
                    break;
                case EModuleType.ClientPage:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IClientPageModule") == typeof(IClientPageModule)).ToList();
                    break;
                case EModuleType.SendMails:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.ISendMails") == typeof(ISendMails)).ToList();
                    break;
                case EModuleType.RenderIntoOrderConfiramtionHtml:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IOrderRenderIntoHtml") == typeof(IOrderRenderIntoHtml)).ToList();
                    break;
                case EModuleType.ProductTabs:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IProductTabs") == typeof(IProductTabs)).ToList();
                    break;
                case EModuleType.ShoppingCartPopup:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IShoppingCartPopup") == typeof(IShoppingCartPopup)).ToList();
                    break;
               case EModuleType.UrlRewrite:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IModuleUrlRewrite") == typeof(IModuleUrlRewrite)).ToList();
                    break;
              case EModuleType.RenderIntoShoppingCart:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IRenderIntoShoppingCart") == typeof(IRenderIntoShoppingCart)).ToList();
                    break;
            }
            return resultList;
        }
예제 #5
0
        public static List <Type> GetModules(EModuleType moduleType)
        {
            var resultList = new List <Type>();

            try
            {
                switch (moduleType)
                {
                case EModuleType.All:
                    resultList = _allModules;
                    break;

                case EModuleType.ProcessPhoto:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IProcessPhoto") == typeof(IProcessPhoto)).ToList();

                    break;

                case EModuleType.RenderIntoHtml:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IRenderIntoHtml") == typeof(IRenderIntoHtml)).ToList();
                    break;

                case EModuleType.OrderChanged:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IOrderChanged") == typeof(IOrderChanged)).ToList();
                    break;

                case EModuleType.SMS:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IModuleSms") == typeof(IModuleSms)).ToList();
                    break;

                case EModuleType.MyAccountControls:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IMyAccountControls") == typeof(IMyAccountControls)).ToList();
                    break;

                case EModuleType.DetailsModule:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IModuleDetails") == typeof(IModuleDetails)).ToList();
                    break;

                case EModuleType.OrderConfirmation:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IOrderConfirmation") == typeof(IOrderConfirmation)).ToList();
                    break;

                case EModuleType.ClientPage:
                    resultList =
                        _allModules.Where(
                            item =>
                            item.IsClass &&
                            item.GetInterface("AdvantShop.Modules.Interfaces.IClientPageModule") == typeof(IClientPageModule)).ToList();
                    break;
                }
            }
            catch (Exception ex)

            {
                //Debug.LogError(ex);
            }

            return(resultList);
        }