Esempio n. 1
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new WorkerServiceExampleOneDbContext(
                       serviceProvider.GetRequiredService <DbContextOptions <WorkerServiceExampleOneDbContext> >(), serviceProvider.GetRequiredService <Microsoft.Extensions.Logging.ILoggerFactory>()))
            {
                // Look for any board games already in database.
                if (context.BoardGames.Any())
                {
                    return;   // Database has been seeded
                }

                context.BoardGames.AddRange(
                    new BoardGameEntity
                {
                    BoardGameKey      = 1,
                    Title             = "Candy Land",
                    PublishingCompany = "Hasbro",
                    MinPlayers        = 2,
                    MaxPlayers        = 4
                },
                    new BoardGameEntity
                {
                    BoardGameKey      = 2,
                    Title             = "Sorry!",
                    PublishingCompany = "Hasbro",
                    MinPlayers        = 2,
                    MaxPlayers        = 4
                },
                    new BoardGameEntity
                {
                    BoardGameKey      = 3,
                    Title             = "Monopoly",
                    PublishingCompany = "Parker Brothers",
                    MinPlayers        = 2,
                    MaxPlayers        = 5
                },
                    new BoardGameEntity
                {
                    BoardGameKey      = 4,
                    Title             = "King of Tokyo",
                    PublishingCompany = "Iello",
                    MinPlayers        = 2,
                    MaxPlayers        = 6
                },
                    new BoardGameEntity
                {
                    BoardGameKey      = 5,
                    Title             = "Guillotine",
                    PublishingCompany = "Avalon",
                    MinPlayers        = 2,
                    MaxPlayers        = 6
                });

                context.SaveChanges();
            }
        }
Esempio n. 2
0
        public MyChildEntityFrameworkDomainDataLayer(ILoggerFactory loggerFactory, WorkerServiceExampleOneDbContext context)
        {
            if (null == loggerFactory)
            {
                throw new ArgumentNullException(ErrorMessageILoggerFactoryWrapperIsNull, (Exception)null);
            }

            this.logger          = loggerFactory.CreateLogger <MyChildEntityFrameworkDomainDataLayer>();
            this.entityDbContext = context ?? throw new ArgumentNullException(ErrorMessageBoardGamesDbContextIsNull, (Exception)null);
        }
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new WorkerServiceExampleOneDbContext(
                       serviceProvider.GetRequiredService <DbContextOptions <WorkerServiceExampleOneDbContext> >(), serviceProvider.GetRequiredService <Microsoft.Extensions.Logging.ILoggerFactory>()))
            {
                if (context.MyParents.Any())
                {
                    return;   // Database has been seeded
                }

                DateTime parentUpdateDateSeed = DateTime.Parse("01/01/2021");
                int      parentCreateCounter  = 0;

                Guid         aaaaGuid              = new Guid("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa");
                const string ChildOfAaaaKeyPrefix  = "11111111-1111-1111-1111-00000000000";
                const string ChildOfAaaaNamePrefix = "Ch1111-";
                int          childACounter         = 0;

                Guid         bbbbGuid              = new Guid("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb");
                const string ChildOfBbbbKeyPrefix  = "22222222-2222-2222-2222-00000000000";
                const string ChildOfBbbbNamePrefix = "Ch2222-";
                int          childBCounter         = 0;

                Guid         ccccGuid              = new Guid("cccccccc-cccc-cccc-cccc-cccccccccccc");
                const string ChildOfCcccKeyPrefix  = "33333333-3333-3333-3333-00000000000";
                const string ChildOfCcccNamePrefix = "Ch3333-";
                int          childCCounter         = 0;

                Guid ddddGuid = new Guid("dddddddd-dddd-dddd-dddd-dddddddddddd");
                ////string ChildOfDdddKeyPrefix = "44444444-4444-4444-4444-00000000000";
                ////string ChildOfDdddNamePrefix = "Ch4444-";
                ////int childDDounter = 0;

                Guid         eeeeGuid              = new Guid("eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee");
                const string ChildOfEeeeKeyPrefix  = "55555555-5555-5555-5555-00000000000";
                const string ChildOfEeeeNamePrefix = "Ch5555-";
                int          childECounter         = 0;

                context.MyParents.AddRange(
                    new MyParentEntity
                {
                    MyParentKey     = aaaaGuid,
                    MyParentName    = "ParentA",
                    UpdateDateStamp = parentUpdateDateSeed.AddDays(++parentCreateCounter),
                    MyChilds        = new List <MyChildEntity>
                    {
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfAaaaKeyPrefix + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.Four,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Red,
                            UpdateDateStamp    = DateTime.Parse("01/04/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.Five,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Yellow,
                            UpdateDateStamp    = DateTime.Parse("01/05/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.Six,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Black,
                            UpdateDateStamp    = DateTime.Parse("01/06/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyNine,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.White,
                            UpdateDateStamp    = DateTime.Parse("01/31/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.Five,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Red,
                            UpdateDateStamp    = DateTime.Parse("02/05/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.Six,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Yellow,
                            UpdateDateStamp    = DateTime.Parse("02/06/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyNine,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Black,
                            UpdateDateStamp    = DateTime.Parse("02/29/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid("11111111-1111-1111-1111-00000000000" + Convert.ToString(++childACounter)),
                            MyParentUuidFk     = aaaaGuid,
                            MyChildName        = ChildOfAaaaNamePrefix + Convert.ToString(childACounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyNine,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.White,
                            UpdateDateStamp    = DateTime.Parse("02/29/2020")
                        }
                    }
                },
                    new MyParentEntity
                {
                    MyParentKey     = bbbbGuid,
                    MyParentName    = "ParentB",
                    UpdateDateStamp = parentUpdateDateSeed.AddDays(++parentCreateCounter),
                    MyChilds        = new List <MyChildEntity>
                    {
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.Four,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Red,
                            UpdateDateStamp    = DateTime.Parse("01/04/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.Five,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Yellow,
                            UpdateDateStamp    = DateTime.Parse("01/05/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.Six,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Black,
                            UpdateDateStamp    = DateTime.Parse("01/06/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyNine,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.White,
                            UpdateDateStamp    = DateTime.Parse("01/31/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.Five,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Red,
                            UpdateDateStamp    = DateTime.Parse("02/05/2020")
                        },
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfBbbbKeyPrefix + Convert.ToString(++childBCounter)),
                            MyParentUuidFk     = bbbbGuid,
                            MyChildName        = ChildOfBbbbNamePrefix + Convert.ToString(childBCounter),
                            MyChildMagicStatus = MagicStatusValues.Six,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Yellow,
                            UpdateDateStamp    = DateTime.Parse("02/29/2020")
                        }
                    }
                },
                    new MyParentEntity
                {
                    MyParentKey     = ccccGuid,
                    MyParentName    = "ParentC",
                    UpdateDateStamp = parentUpdateDateSeed.AddDays(++parentCreateCounter),
                    MyChilds        = new List <MyChildEntity>
                    {
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfCcccKeyPrefix + Convert.ToString(++childCCounter)),
                            MyParentUuidFk     = ccccGuid,
                            MyChildName        = ChildOfCcccNamePrefix + Convert.ToString(childCCounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyEight,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Red,
                            UpdateDateStamp    = DateTime.Parse("02/29/2020")
                        }
                    }
                },
                    new MyParentEntity
                {
                    MyParentKey     = ddddGuid,
                    MyParentName    = "ParentD",
                    UpdateDateStamp = parentUpdateDateSeed.AddDays(++parentCreateCounter)
                                      /* no child on purpose */
                },
                    new MyParentEntity
                {
                    MyParentKey     = eeeeGuid,
                    MyParentName    = "ParentE",
                    UpdateDateStamp = parentUpdateDateSeed.AddDays(++parentCreateCounter),
                    MyChilds        = new List <MyChildEntity>
                    {
                        new MyChildEntity()
                        {
                            MyChildKey         = new Guid(ChildOfEeeeKeyPrefix + Convert.ToString(++childECounter)),
                            MyParentUuidFk     = eeeeGuid,
                            MyChildName        = ChildOfEeeeNamePrefix + Convert.ToString(childECounter),
                            MyChildMagicStatus = MagicStatusValues.NinetyNine,
                            FavoriteColor      = Domain.Enums.FavoriteColorEnum.Yellow,
                            /* this is a legit 99, but TOO FAR in the future */
                            UpdateDateStamp = DateTime.Parse("12/31/2020")
                        }
                    }
                });

                context.SaveChanges();
            }
        }