Beispiel #1
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);
        }
Beispiel #2
0
 public bool CheckAlive()
 {
     return(StoreReviewRepository.IsAliveStoreReviewsModule() && ModulesRepository.IsInstallModule(ModuleStringId));
 }
Beispiel #3
0
 public bool CheckAlive()
 {
     return(ModulesRepository.IsInstallModule(ModuleID));
 }
Beispiel #4
0
 public bool CheckAlive()
 {
     return(ModulesRepository.IsInstallModule(ModuleStringId) &&
            File.Exists(HttpContext.Current.Server.MapPath("~/bin/Gma.QrCodeNet.Encoding.dll")) &&
            File.Exists(HttpContext.Current.Server.MapPath("~/Modules/AdvQrCode/GetQrCodeByUrl.ashx")));
 }