示例#1
0
        private static async Task CreateProjectItem(PortfolioContext context,
                                                    string name, string nameNormalised, bool isVisible,
                                                    string shortDescription, string programmingLanguages, string keyWords,
                                                    string thumbnailImage = null)
        {
            if (!context.ProjectItem.Any(pi => pi.NameNormalised == nameNormalised))
            {
                await context.SaveChangesAsync();

                context.Add(new ProjectItem
                {
                    ThumbnailImage       = thumbnailImage,
                    Name                 = name,
                    NameNormalised       = nameNormalised,
                    ShortDescription     = shortDescription,
                    ProgrammingLanguages = programmingLanguages,
                    KeyWords             = keyWords,
                    IsVisible            = isVisible
                });
            }
        }
示例#2
0
        public static async Task SeedDatabase(PortfolioContext context)
        {
            context.Database.EnsureCreated();

            /* Super Tappy Packet */
            var name = "Super Tappy Packet";

            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A Maltesers themed JavaScript game " +
                                    "based on Flappy Bird, built using the Phaser.js engine.",
                                    "JavaScript", "Phaser.js, Game, " +
                                    "Web application, Responsive, Physics",
                                    "/img/thumb/SocialNetwork.png");

            /* Workings */
            name = "Workings";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A web app for a soft furnishings " +
                                    "company. Used to calculate fabric requirements and " +
                                    "manufacturing dimensions.", "JavaScript",
                                    "Responsive, Print Friendly, Freelance work, Forms",
                                    "/img/thumb/SocialNetwork.png");

            /* Decider */
            name = "Decider";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A (first attempt) web app for decision " +
                                    "making. Add multiple choices and one will be picked at " +
                                    "random.", "JavaScript", "Front end, " +
                                    "CSS Flexbox, Responsive",
                                    "/img/thumb/SocialNetwork.png");

            /* Java Social Network */
            name = "Java Social Network";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A simple commandline social network," +
                                    " making use of various abstract data types.",
                                    "Java", "Recursion, Binary Search " +
                                    "Trees, Graphs",
                                    "/img/thumb/SocialNetwork.png");

            /* Decider 2.0 */
            name = "Decider 2.0";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A (revised) web app for decision making. " +
                                    "With shortlists and reject lists to help pin down the " +
                                    "desired choice.", "TypeScript",
                                    "CSS Grid, Web Application, Front End, Responsive",
                                    "/img/thumb/SocialNetwork.png");

            /* CT Head */
            name = "CT Head";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A GUI interface and application for viewing" +
                                    " scan data from the Visible Human Project, with image " +
                                    "creation and processing on the fly.", "Java",
                                    "Graphics, Image generating, Image processing, Image " +
                                    "resizing algorithms, Dataset, JavaFX, FXML, GUI",
                                    "/img/thumb/SocialNetwork.png");

            /* Dot Net Core Blog Site */
            name = "ASP.NET Blog";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A web application blog built using ASP.NET Core " +
                                    "2.1 MVC.", "C#",
                                    ".NET Core, Framework, MVC, Razor Pages, Entity Framework, " +
                                    "MSSQL Database, Security, Role and Claim based authorisation",
                                    "/img/thumb/SocialNetwork.png");

            /* Java Concurrency */
            name = "Java Multithreading & Concurrency";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A concurrent system where random numbers " +
                                    "are generated and sorted into text files by their multiple.",
                                    "Java", "Multithreading, Concurrency",
                                    "/img/thumb/SocialNetwork.png");

            /* Haskell Concurrency */
            name = "Haskell Multithreading & Concurrency";
            await CreateProjectItem(context, name, name.Normalize(),
                                    true, "A simple trading shop where threads" +
                                    " track customers, items, and coins.",
                                    "Haskell", "Multithreading, " +
                                    "Concurrency, Functional Programming",
                                    "/img/thumb/SocialNetwork.png");
        }
示例#3
0
 public PortfolioDbInitializer(IServiceProvider serviceProvider)
 {
     context         = (PortfolioContext)serviceProvider.GetService(typeof(PortfolioContext));
     identityContext = (PortfolioIdentityContext)serviceProvider.GetService(typeof(PortfolioIdentityContext));
 }