Ejemplo n.º 1
0
 public static void ProcessPhoto(Image image)
 {
     foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.ProcessPhoto))
     {
         System.Reflection.MethodInfo method = cls.GetMethod("DoProcessPhoto");
         if (method != null)
         {
             object classInstance = Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, new object[] { image });
         }
     }
 }
Ejemplo n.º 2
0
 public static void SendSms(string phoneNumber, string text)
 {
     foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.SMS))
     {
         System.Reflection.MethodInfo method = cls.GetMethod("SendSms");
         if (method != null)
         {
             object classInstance = Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, new object[] { phoneNumber, text });
         }
     }
 }
Ejemplo n.º 3
0
 public static void ProcessPhoto(Image image)
 {
     foreach (var cls in AttachedModules.GetModules <IProcessPhoto>())
     {
         MethodInfo method = cls.GetMethod("DoProcessPhoto");
         if (method != null)
         {
             var classInstance = (IProcessPhoto)Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, new object[] { image });
         }
     }
 }
Ejemplo n.º 4
0
 public static void SendSms(string phoneNumber, string text)
 {
     foreach (var cls in AttachedModules.GetModules <IModuleSms>())
     {
         MethodInfo method = cls.GetMethod("SendSms");
         if (method != null)
         {
             var classInstance = (IModuleSms)Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, new object[] { phoneNumber, text });
         }
     }
 }
Ejemplo n.º 5
0
 public static void RenderDetailsModulesToBottom()
 {
     foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.DetailsModule))
     {
         System.Reflection.MethodInfo method = cls.GetMethod("RenderToBottom");
         if (method != null)
         {
             object classInstance = Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, null);
         }
     }
 }
Ejemplo n.º 6
0
 public static void OrderDeleted(int orderId)
 {
     foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.OrderChanged))
     {
         System.Reflection.MethodInfo method = cls.GetMethod("DoOrderDeleted");
         if (method != null)
         {
             object classInstance = Activator.CreateInstance(cls, null);
             method.Invoke(classInstance, new object[] { orderId });
         }
     }
 }
Ejemplo n.º 7
0
        public static ModuleBox GetModules()
        {
            var modules = GetModulesFromRemoteServer() ?? new ModuleBox();

            //if (modules.Message.IsNotEmpty())
            //{
            //    return modules;
            //}

            var isExistsOnlineModules = modules.Items.Count > 0;

            foreach (var type in AttachedModules.GetModules(AttachedModules.EModuleType.All))
            {
                var    moduleInst = (IModule)Activator.CreateInstance(type, null);
                Module curModule;
                if (isExistsOnlineModules && (curModule = modules.Items.FirstOrDefault(item => item.StringId.ToLower() == moduleInst.ModuleStringId.ToLower())) != null)
                {
                    curModule.IsInstall = moduleInst.CheckAlive() &&
                                          ModulesRepository.IsInstallModule(moduleInst.ModuleStringId);
                    curModule.IsLocalVersion = true;
                }
                else
                {
                    modules.Items.Add(new Module
                    {
                        Name      = moduleInst.ModuleName,
                        StringId  = moduleInst.ModuleStringId,
                        Version   = Resources.Resource.ModulesService_ModuleInDebug,
                        IsInstall =
                            moduleInst.CheckAlive() && ModulesRepository.IsInstallModule(moduleInst.ModuleStringId),
                        Price          = 0,
                        IsLocalVersion = true
                    });
                }
            }

            var existModules = ModulesRepository.GetModulesFromDb();

            foreach (var module in modules.Items)
            {
                Module currentModule;
                if (existModules.Count > 0 &&
                    (currentModule = existModules.FirstOrDefault(item => item.StringId == module.StringId)) != null)
                {
                    module.CurrentVersion = currentModule.Version;
                }
            }
            return(modules);
        }
Ejemplo n.º 8
0
        public static string RenderIntoOrderConfirmationFinalStep(IOrder order)
        {
            var builder = new StringBuilder();

            foreach (var cls in AttachedModules.GetModules <IOrderRenderIntoHtml>())
            {
                MethodInfo methodOneParam = cls.GetMethod("DoRenderIntoFinalStep", new[] { typeof(IOrder) }, new[] { new ParameterModifier(1) });
                if (methodOneParam != null)
                {
                    var classInstance = (IOrderRenderIntoHtml)Activator.CreateInstance(cls, null);
                    builder.Append(methodOneParam.Invoke(classInstance, new object[] { order }));
                }
            }
            return(builder.ToString());
        }
Ejemplo n.º 9
0
        public static string RenderBeforeBodyEnd()
        {
            var builder = new StringBuilder();

            foreach (var cls in AttachedModules.GetModules <IRenderIntoHtml>())
            {
                MethodInfo method = cls.GetMethod("DoRenderBeforeBodyEnd");
                if (method != null)
                {
                    var classInstance = (IRenderIntoHtml)Activator.CreateInstance(cls, null);
                    builder.Append(method.Invoke(classInstance, null));
                }
            }
            return(builder.ToString());
        }
Ejemplo n.º 10
0
 public static void RenderDetailsModulesToBottom()
 {
     foreach (var cls in AttachedModules.GetModules <IModuleDetails>())
     {
         MethodInfo method = cls.GetMethod("RenderToBottom");
         if (method != null)
         {
             var classInstance = (IModuleDetails)Activator.CreateInstance(cls, null);
             if (ModulesRepository.IsActiveModule(classInstance.ModuleStringId))
             {
                 method.Invoke(classInstance, null);
             }
         }
     }
 }
Ejemplo n.º 11
0
        public static string RenderDetailsModulesToRightColumn()
        {
            var result = string.Empty;

            foreach (var cls in AttachedModules.GetModules <IModuleDetails>())
            {
                MethodInfo method = cls.GetMethod("RenderToRightColumn");
                if (method != null)
                {
                    var classInstance = (IModuleDetails)Activator.CreateInstance(cls, null);
                    result += method.Invoke(classInstance, null);
                }
            }
            return(result);
        }
Ejemplo n.º 12
0
 public static void OrderDeleted(int orderId)
 {
     foreach (var cls in AttachedModules.GetModules <IOrderChanged>())
     {
         MethodInfo method = cls.GetMethod("DoOrderDeleted");
         if (method != null)
         {
             var classInstance = (IOrderChanged)Activator.CreateInstance(cls, null);
             if (ModulesRepository.IsActiveModule(classInstance.ModuleStringId))
             {
                 method.Invoke(classInstance, new object[] { orderId });
             }
         }
     }
 }
Ejemplo n.º 13
0
        public static string RenderDetailsModulesToRightColumn()
        {
            var result = string.Empty;

            foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.DetailsModule))
            {
                System.Reflection.MethodInfo method = cls.GetMethod("RenderToRightColumn");
                if (method != null)
                {
                    object classInstance = Activator.CreateInstance(cls, null);
                    result += method.Invoke(classInstance, null);
                }
            }
            return(result);
        }
Ejemplo n.º 14
0
        public static string RenderBeforeBodyEnd()
        {
            var builder = new StringBuilder();

            foreach (var cls in AttachedModules.GetModules(AttachedModules.EModuleType.RenderIntoHtml))
            {
                System.Reflection.MethodInfo method = cls.GetMethod("DoRenderBeforeBodyEnd");
                if (method != null)
                {
                    object classInstance = Activator.CreateInstance(cls, null);
                    builder.Append(method.Invoke(classInstance, null));
                }
            }
            return(builder.ToString());
        }
Ejemplo n.º 15
0
        public static string RenderAfterBodyStart()
        {
            var builder = new StringBuilder();

            foreach (var cls in AttachedModules.GetModules <IRenderIntoHtml>())
            {
                MethodInfo method = cls.GetMethod("DoRenderAfterBodyStart");
                if (method != null)
                {
                    var classInstance = (IRenderIntoHtml)Activator.CreateInstance(cls, null);
                    if (classInstance.CheckAlive() && ModulesRepository.IsActiveModule(classInstance.ModuleStringId))
                    {
                        builder.Append(method.Invoke(classInstance, null));
                    }
                }
            }
            return(builder.ToString());
        }
Ejemplo n.º 16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="moduleStringId"></param>
        /// <param name="active"></param>
        public static void SetActiveModule(string moduleStringId, bool active)
        {
            SQLDataAccess.ExecuteNonQuery(
                "Update [dbo].[Modules] SET [Active] = @Active WHERE [ModuleStringID] = @ModuleStringID",
                CommandType.Text,
                new SqlParameter("@ModuleStringID", moduleStringId),
                new SqlParameter("@Active", active));

            AttachedModules.LoadModules();

            var module = AttachedModules.GetModules().FirstOrDefault(x => x.Name.ToLower() == moduleStringId.ToLower());

            if (module != null && typeof(IModuleChangeActive).IsAssignableFrom(module))
            {
                var instance = (IModuleChangeActive)Activator.CreateInstance(module, null);
                instance.ModuleChangeActive(active);
            }
        }
Ejemplo n.º 17
0
        public static string GetModuleStringIdByUrlPath(string urlPath)
        {
            if (urlPath.IsNullOrEmpty())
            {
                return(string.Empty);
            }

            var moduleInst = AttachedModules.GetModules <IClientPageModule>().FirstOrDefault(
                item =>
                ((IClientPageModule)Activator.CreateInstance(item, null)).UrlPath.ToLower() == SQLDataHelper.GetString(urlPath).ToLower());

            if (moduleInst != null)
            {
                var module = ((IModule)Activator.CreateInstance(moduleInst, null));
                return(module.ModuleStringId);
            }

            return(string.Empty);
        }
Ejemplo n.º 18
0
        public static void OrderUpdated(int orderId)
        {
            IOrder order = null;

            var modules = AttachedModules.GetModules(AttachedModules.EModuleType.OrderChanged);

            if (modules.Count > 0)
            {
                order = OrderService.GetOrder(orderId);
            }

            foreach (var cls in modules)
            {
                System.Reflection.MethodInfo method = cls.GetMethod("DoOrderUpdated");
                if (method != null)
                {
                    object classInstance = Activator.CreateInstance(cls, null);
                    method.Invoke(classInstance, new object[] { order });
                }
            }
        }
Ejemplo n.º 19
0
        public static void OrderAdded(int orderId)
        {
            IOrder order = null;

            var modules = AttachedModules.GetModules <IOrderChanged>();

            if (modules.Count > 0)
            {
                order = OrderService.GetOrder(orderId);
            }

            foreach (var cls in modules)
            {
                MethodInfo method = cls.GetMethod("DoOrderAdded");
                if (method != null)
                {
                    var classInstance = (IOrderChanged)Activator.CreateInstance(cls, null);
                    method.Invoke(classInstance, new object[] { order });
                }
            }
        }
Ejemplo n.º 20
0
        public static string GetModuleStringIdByUrlPath(string urlPath)
        {
            if (urlPath.IsNullOrEmpty())
            {
                return(string.Empty);
            }

            var moduleInst = AttachedModules.GetModules(AttachedModules.EModuleType.ClientPage).FirstOrDefault(
                item =>
                ((IClientPageModule)Activator.CreateInstance(item, null)).UrlPath.ToLower() == Convert.ToString(urlPath).ToLower());

            if (moduleInst != null)
            {
                var module = ((IModule)Activator.CreateInstance(moduleInst, null));
                if (module.CheckAlive())
                {
                    return(module.ModuleStringId);
                }
            }

            return(string.Empty);
        }
Ejemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="moduleStringId"></param>
        /// <returns></returns>
        public static bool UninstallModule(string moduleStringId)
        {
            var moduleInst = AttachedModules.GetModules().FirstOrDefault(
                item =>
                ((IModule)Activator.CreateInstance(item, null)).ModuleStringId.ToLower() == SQLDataHelper.GetString(moduleStringId).ToLower());

            if (moduleInst != null)
            {
                var module = ((IModule)Activator.CreateInstance(moduleInst, null));
                if (module.UninstallModule())
                {
                    ModulesRepository.UninstallModuleFromDb(module.ModuleStringId);
                }
                else
                {
                    return(false);
                }
            }

            FileHelpers.DeleteDirectory(HttpContext.Current.Server.MapPath("~/App_Code/Advantshop/Modules/" + moduleStringId));
            FileHelpers.DeleteDirectory(HttpContext.Current.Server.MapPath("~/Modules/" + moduleStringId));

            return(true);
        }