Example #1
0
        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);
        }
Example #2
0
        /// <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();
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }