protected static IEnumerable <object[]> GetPageAndFeatureTemplates(string frameworkFilter, string language = ProgrammingLanguages.CSharp, string platform = Platforms.Uwp, string excludedItem = "") { List <object[]> result = new List <object[]>(); SetCurrentLanguage(language); SetCurrentPlatform(platform); if (platform == Platforms.WinUI) { var appModels = AppModels.GetAllAppModels().ToList(); foreach (var appModel in appModels) { if (appModel == AppModels.Desktop) { result.AddRange(GetTemplateOptions(frameworkFilter, language, platform, excludedItem, appModel)); } } } else { result.AddRange(GetTemplateOptions(frameworkFilter, language, platform, excludedItem, string.Empty)); } return(result); }
/// <summary> /// product.db의 데이터를 불러와 ListBox에 나열 /// </summary> public void AppIconViewModel_Loaded() { string path = string.Format(AppDomain.CurrentDomain.BaseDirectory + "\\Resources\\product.db"); string strConn = string.Format("Data Source={0}", path); using (SQLiteConnection conn = new SQLiteConnection(strConn)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(); cmd.Connection = conn; if (Properties.Settings.Default.PriorityToggle) { cmd.CommandText = "SELECT * FROM product ORDER BY sort DESC"; } else { cmd.CommandText = "SELECT * FROM product"; } SQLiteDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { BitmapImage icon; string appName; int sort; Byte[] data = (Byte[])rdr["icon"]; using (var ms = new MemoryStream(data)) { icon = new BitmapImage(); icon.BeginInit(); icon.CacheOption = BitmapCacheOption.OnLoad; icon.StreamSource = ms; icon.EndInit(); } appName = rdr["name"] as string; if (rdr["sort"] == DBNull.Value) { sort = 0; } else { sort = Convert.ToInt32(rdr["sort"]); } AppModels.Add(new AppModel { Icon = icon, Name = appName, Sort = sort }); } rdr.Close(); } }
public static IEnumerable <object[]> GetProjectTemplates(string frameworkFilter, string programmingLanguage, string selectedPlatform) { InitializeTemplates(new LocalTemplatesSource(null, ShortFrameworkName(frameworkFilter))); List <object[]> result = new List <object[]>(); var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList(); if (!string.IsNullOrWhiteSpace(programmingLanguage)) { languagesOfInterest.Clear(); languagesOfInterest.Add(programmingLanguage); } var platformsOfInterest = Platforms.GetAllPlatforms().ToList(); if (!string.IsNullOrWhiteSpace(selectedPlatform)) { platformsOfInterest.Clear(); platformsOfInterest.Add(selectedPlatform); } foreach (var language in languagesOfInterest) { SetCurrentLanguage(language); foreach (var platform in platformsOfInterest) { SetCurrentPlatform(platform); if (platform == Platforms.WinUI) { var appModels = AppModels.GetAllAppModels().ToList(); foreach (var appModel in appModels) { if (appModel == AppModels.Desktop) { result.AddRange(GetContextOptions(frameworkFilter, language, platform, appModel)); } } } else { result.AddRange(GetContextOptions(frameworkFilter, language, platform, string.Empty)); } } } return(result); }
protected static IEnumerable <object[]> GetPageAndFeatureTemplates(string frameworkFilter, string language = ProgrammingLanguages.CSharp, string platform = Platforms.Uwp, string excludedItem = "") { List <object[]> result = new List <object[]>(); SetCurrentLanguage(language); SetCurrentPlatform(platform); var context = new UserSelectionContext(language, platform); var appModels = AppModels.GetAllAppModels().ToList(); foreach (var appModel in appModels) { if (platform == Platforms.WinUI) { context.AddAppModel(appModel); } var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(context) .Where(m => !string.IsNullOrEmpty(m.Description)) .Select(m => m.Name); foreach (var projectType in projectTypes) { context.ProjectType = projectType; var targetFrameworks = GenContext.ToolBox.Repo.GetFrontEndFrameworks(context) .Where(m => m.Name == frameworkFilter) .Select(m => m.Name).ToList(); foreach (var framework in targetFrameworks) { var itemTemplates = GenContext.ToolBox.Repo.GetAll() .Where(t => (t.GetFrontEndFrameworkList().Contains(framework) || t.GetFrontEndFrameworkList().Contains(All)) && t.GetTemplateType().IsItemTemplate() && t.GetPlatform() == platform && t.GetLanguage() == language && IsMatchPropertyBag(t, context.PropertyBag) && t.Identity != excludedItem && !t.GetIsHidden()); foreach (var itemTemplate in itemTemplates) { if (platform == Platforms.WinUI) { result.Add(new object[] { itemTemplate.Name, projectType, framework, platform, itemTemplate.Identity, language, appModel }); } else { result.Add(new object[] { itemTemplate.Name, projectType, framework, platform, itemTemplate.Identity, language, }); } } } } } return(result); }
public static IEnumerable <object[]> GetProjectTemplates(string frameworkFilter, string programmingLanguage, string selectedPlatform) { InitializeTemplates(new LocalTemplatesSource(null, ShortFrameworkName(frameworkFilter))); List <object[]> result = new List <object[]>(); var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList(); if (!string.IsNullOrWhiteSpace(programmingLanguage)) { languagesOfInterest.Clear(); languagesOfInterest.Add(programmingLanguage); } var platformsOfInterest = Platforms.GetAllPlatforms().ToList(); if (!string.IsNullOrWhiteSpace(selectedPlatform)) { platformsOfInterest.Clear(); platformsOfInterest.Add(selectedPlatform); } foreach (var language in languagesOfInterest) { SetCurrentLanguage(language); foreach (var platform in platformsOfInterest) { SetCurrentPlatform(platform); var appModels = AppModels.GetAllAppModels().ToList(); foreach (var appModel in appModels) { var context = new UserSelectionContext(language, platform); if (platform == Platforms.WinUI) { context.AddAppModel(appModel); } var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(context) .Where(m => !string.IsNullOrEmpty(m.Description)) .Select(m => m.Name); foreach (var projectType in projectTypes) { context.ProjectType = projectType; var targetFrameworks = GenContext.ToolBox.Repo.GetFrontEndFrameworks(context) .Where(m => m.Name == frameworkFilter) .Select(m => m.Name) .ToList(); foreach (var framework in targetFrameworks) { if (platform == Platforms.WinUI) { result.Add(new object[] { projectType, framework, platform, language, appModel }); } else { result.Add(new object[] { projectType, framework, platform, language }); } } } } } } return(result); }