コード例 #1
0
        public override IEnumerable <Checkup> Contribute(Manifest.Manifest manifest, SharedState sharedState)
        {
            var sdks = manifest?.Check?.DotNet?.Sdks;

            if (sdks?.Any() ?? false)
            {
                foreach (var sdk in sdks)
                {
                    var workloads = sdk?.Workloads?.ToArray() ?? Array.Empty <DotNetWorkload>();
                    var packs     = sdk?.Packs?.ToArray() ?? Array.Empty <DotNetSdkPack>();
                    var pkgSrcs   = sdk?.PackageSources?.ToArray() ?? Array.Empty <string>();

                    string sdkVersion;
                    if (!sharedState.TryGetEnvironmentVariable("DOTNET_SDK_VERSION", out sdkVersion))
                    {
                        sdkVersion = sdk.Version;
                    }

                    if (sdk.Workloads?.Any() ?? false)
                    {
                        yield return(new DotNetWorkloadsCheckup(sharedState, sdkVersion, workloads, pkgSrcs));
                    }

                    // Always generate a packs check even if no packs, since the workloads may dynamically
                    // discover packs required and register them with the SharedState
                    yield return(new DotNetPacksCheckup(sharedState, sdkVersion, packs, pkgSrcs));
                }
            }
        }
コード例 #2
0
 protected ModelFactoryBase(string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module, int portalId, string cultureCode)
 {
     this._settingsJson     = settingsJson;
     this._manifest         = manifest;
     this._templateFiles    = templateFiles;
     this._module           = module;
     this._cultureCode      = cultureCode;
     this._portalId         = portalId;
     this._templateManifest = templateManifest;
     this._collection       = templateManifest.Collection;
     this._detailTabId      = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode());
     _ds        = DataSourceManager.GetDataSource(_manifest.DataSource);
     _dsContext = OpenContentUtils.CreateDataContext(_module);
 }
コード例 #3
0
        protected string GenerateDetailUrl(IDataItem item, JObject dyn, Manifest.Manifest manifest, string cultureCode, int detailTabId)
        {
            string url = "";

            if (!string.IsNullOrEmpty(manifest.DetailUrl))
            {
                HandlebarsEngine hbEngine = new HandlebarsEngine();
                var dynForHBS             = JsonUtils.JsonToDictionary(dyn.ToString());

                url = hbEngine.Execute(manifest.DetailUrl, dynForHBS);
                url = HttpUtility.HtmlDecode(url);
            }
            return(_module.GetUrl(_detailTabId, cultureCode, url.CleanupUrl(), "id=" + item.Id));
        }
コード例 #4
0
        protected string GenerateDetailUrl(IDataItem item, JObject dyn, Manifest.Manifest manifest, int detailTabId)
        {
            string url = "";

            if (!string.IsNullOrEmpty(manifest.DetailUrl))
            {
                HandlebarsEngine hbEngine = new HandlebarsEngine();
                var dynForHBS             = JsonUtils.JsonToDictionary(dyn.ToString());

                url = hbEngine.Execute(manifest.DetailUrl, dynForHBS);
                url = HttpUtility.HtmlDecode(url);
            }
            return(Globals.NavigateURL(detailTabId, false, _portalSettings, "", GetCurrentCultureCode(), UrlHelpers.CleanupUrl(url), "id=" + item.Id));
        }
コード例 #5
0
        protected ModelFactoryBase(OpenContentModuleConfig module, string collection)
        {
            OpenContentSettings settings = module.Settings;

            this._settingsJson     = settings.Data;
            this._manifest         = settings.Template.Manifest;
            this._templateFiles    = settings.Template?.Main;
            this._module           = module;
            this._portalId         = module.PortalId;
            this._templateManifest = settings.Template;
            this._collection       = collection;
            this._detailTabId      = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode());
            _ds        = DataSourceManager.GetDataSource(_manifest.DataSource);
            _dsContext = OpenContentUtils.CreateDataContext(_module);
        }
コード例 #6
0
        public ModelFactoryBase(OpenContentModuleInfo module, PortalSettings portalSettings, string collection)
        {
            OpenContentSettings settings = module.Settings;

            this._settingsJson           = settings.Data;
            this._physicalTemplateFolder = settings.Template.ManifestFolderUri.PhysicalFullDirectory + "\\";
            this._manifest         = settings.Template.Manifest;
            this._templateFiles    = settings.Template?.Main;
            this._module           = module;
            this._portalSettings   = portalSettings;
            this._portalId         = portalSettings.PortalId;
            this._templateManifest = settings.Template;
            this._collection       = collection;
            this._detailTabId      = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode());
            _ds        = DataSourceManager.GetDataSource(_manifest.DataSource);
            _dsContext = OpenContentUtils.CreateDataContext(_module);
        }
コード例 #7
0
        public ModelFactoryBase(string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, PortalSettings portalSettings)

        {
            this._settingsJson           = settingsJson;
            this._physicalTemplateFolder = physicalTemplateFolder;
            this._manifest         = manifest;
            this._templateFiles    = templateFiles;
            this._module           = module;
            this._portalSettings   = portalSettings;
            this._portalId         = portalSettings.PortalId;
            this._templateManifest = templateManifest;
            this._collection       = templateManifest == null ? AppConfig.DEFAULT_COLLECTION : templateManifest.Collection;
            this._detailTabId      = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode());

            _ds        = DataSourceManager.GetDataSource(_manifest.DataSource);
            _dsContext = OpenContentUtils.CreateDataContext(_module);
        }
コード例 #8
0
        public override IEnumerable <Checkup> Contribute(Manifest.Manifest manifest, SharedState sharedState)
        {
            var sdks = manifest?.Check?.DotNet?.Sdks;

            if (sdks?.Any() ?? false)
            {
                foreach (var sdk in sdks)
                {
                    var workloads = sdk?.Workloads?.ToArray() ?? Array.Empty <DotNetWorkload>();
                    var pkgSrcs   = sdk?.PackageSources?.ToArray() ?? Array.Empty <string>();

                    string sdkVersion;
                    if (!sharedState.TryGetEnvironmentVariable("DOTNET_SDK_VERSION", out sdkVersion))
                    {
                        sdkVersion = sdk.Version;
                    }

                    if (sdk.Workloads?.Any() ?? false)
                    {
                        yield return(new DotNetWorkloadsCheckup(sharedState, sdkVersion, workloads, pkgSrcs));
                    }
                }
            }
        }
コード例 #9
0
        public static IEnumerable <Checkup> BuildCheckupGraph(Manifest.Manifest manifest, SharedState sharedState)
        {
            var checkups = new List <Checkup>();

            checkups.AddRange(registeredCheckups);

            foreach (var c in registeredCheckupContributors)
            {
                var contributed = c.Contribute(manifest, sharedState);
                if (contributed?.Any() ?? false)
                {
                    checkups.AddRange(contributed);
                }
            }

            var filtered   = checkups.Where(c => c.IsPlatformSupported(Util.Platform));
            var checkupIds = filtered.Select(c => c.Id);

            var sorted = TopologicalSort <Checkup>(filtered, c =>
                                                   filtered.Where(dc => c.DeclareDependencies(checkupIds).Any(d => dc.IsPlatformSupported(Util.Platform) &&
                                                                                                              d.CheckupId.StartsWith(dc.Id, StringComparison.OrdinalIgnoreCase))));

            return(sorted);
        }
コード例 #10
0
 public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, int portalId, string cultureCode) :
     base(settingsJson, physicalTemplateFolder, manifest, templateManifest, templateFiles, module, portalId, cultureCode)
 {
     this._dataList = dataList;
 }
コード例 #11
0
 public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo moduleinfo, PortalSettings portalSettings) :
     base(settingsJson, manifest, templateManifest, templateFiles, OpenContentModuleConfig.Create(moduleinfo.ModuleId, moduleinfo.TabId, portalSettings))
 {
     this._dataList = dataList;
 }
コード例 #12
0
 public abstract IEnumerable <Checkup> Contribute(Manifest.Manifest manifest, SharedState sharedState);
コード例 #13
0
 public ModelFactoryMultiple(IEnumerable <IDataItem> dataList, string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module) :
     base(settingsJson, manifest, templateManifest, templateFiles, module)
 {
     this._dataList = dataList;
 }
コード例 #14
0
 public ModelFactorySingle(IDataItem data, string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module) :
     base(settingsJson, manifest, templateManifest, templateFiles, module)
 {
     this._dataJson = data.Data;
     this._data     = data;
 }
コード例 #15
0
 public ModelFactorySingle(IDataItem data, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, PortalSettings portalSettings) :
     base(settingsJson, physicalTemplateFolder, manifest, templateManifest, templateFiles, module, portalSettings)
 {
     this._dataJson = data.Data;
     this._data     = data;
 }
コード例 #16
0
 /// <summary>
 /// Ctor
 /// </summary>
 /// <param name="scheme">Manifest</param>
 public ManifestParser(Manifest.Manifest scheme)
 {
     this.Scheme = scheme;
 }
コード例 #17
0
        public static void Generate(string dlcName, Manifest.Manifest manifest, AggregateGraph.AggregateGraph aggregateGraph, Stream outStream)
        {
            var game = new GameXblock <Entity>();

            game.EntitySet = new List <Entity>();
            var ent = new Entity()
            {
                Id = IdGenerator.Guid().ToString().Replace("-", ""), Name = "SoundScene0", Iterations = 1, ModelName = "SoundScene", Properties = new List <Property>()
                {
                    CreateMultiItemProperty("SoundBanks", new string[1] {
                        aggregateGraph.SoundBank.Name + ".bnk"
                    })
                }
            };

            game.EntitySet.Add(ent);
            foreach (var x in manifest.Entries)
            {
                var  entry   = x.Value["Attributes"];
                var  entity  = new Entity();
                bool isVocal = entry.ArrangementName == "Vocals";
                bool isBass  = entry.ArrangementName == "Bass";

                entity.Id         = entry.PersistentID.ToLower();
                entity.Name       = String.Format("GRSong_Asset_{0}_{1}", dlcName, entry.ArrangementName);
                entity.ModelName  = "GRSong_Asset";
                entity.Iterations = 46;
                game.EntitySet.Add(entity);
                var properties  = new List <Property>();
                var addProperty = new Action <string, object>((a, b) => properties.Add(CreateProperty(a, b.ToString())));

                if (isBass || isVocal)
                {
                    addProperty("BinaryVersion", entry.BinaryVersion);
                }

                addProperty("SongKey", entry.SongKey);
                addProperty("SongAsset", entry.SongAsset);
                addProperty("SongXml", entry.SongXml);
                addProperty("ForceUseXML", entry.ForceUseXML);
                addProperty("Shipping", entry.Shipping);
                addProperty("DisplayName", entry.DisplayName);

                addProperty("SongEvent", entry.SongEvent);

                if (isVocal)
                {
                    addProperty("InputEvent", entry.InputEvent);
                }

                addProperty("ArrangementName", entry.ArrangementName);
                addProperty("RepresentativeArrangement", entry.RepresentativeArrangement);

                if (!isVocal && !String.IsNullOrEmpty(entry.VocalsAssetId))
                {
                    addProperty("VocalsAssetId", entry.VocalsAssetId.Split(new string[1] {
                        "|"
                    }, StringSplitOptions.RemoveEmptyEntries)[0]);

                    var dynVisDen = new List <object>();
                    foreach (var y in entry.DynamicVisualDensity)
                    {
                        dynVisDen.Add(y);
                    }
                    properties.Add(CreateMultiItemProperty("DynamicVisualDensity", dynVisDen));
                }

                addProperty("ArtistName", entry.ArtistName);
                addProperty("ArtistNameSort", entry.ArtistNameSort);
                addProperty("SongName", entry.SongName);
                addProperty("SongNameSort", entry.SongNameSort);
                addProperty("AlbumName", entry.AlbumName);
                addProperty("AlbumNameSort", entry.AlbumNameSort);
                addProperty("SongYear", entry.SongYear);

                if (!isVocal)
                {
                    addProperty("RelativeDifficulty", entry.RelativeDifficulty);
                    addProperty("AverageTempo", entry.AverageTempo); //fix this

                    addProperty("NonStandardChords", true);          //fix this
                    addProperty("DoubleStops", entry.DoubleStops);
                    addProperty("PowerChords", entry.PowerChords);
                    addProperty("OpenChords", entry.OpenChords);
                    addProperty("BarChords", entry.BarChords);
                    addProperty("Sustain", entry.Sustain);
                    addProperty("Bends", entry.Bends);
                    addProperty("Slides", entry.Slides);
                    addProperty("HOPOs", entry.HOPOs);
                    addProperty("PalmMutes", entry.PalmMutes);
                    addProperty("Vibrato", entry.Vibrato);

                    addProperty("MasterID_Xbox360", entry.MasterID_Xbox360);
                    addProperty("EffectChainName", entry.EffectChainName);
                    addProperty("CrowdTempo", "Fast");//fix this
                }

                addProperty("AlbumArt", entry.AlbumArt);

                entity.Properties = properties;
            }
            game.Serialize(outStream);
        }