/// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var headerZone = new PageZone { PageZoneId = 1, Title = "Header" };
            var leftColumn = new PageZone { PageZoneId = 2, Title = "Left Column" };
            var rightColumn = new PageZone { PageZoneId = 3, Title = "Right Column" };
            var centerColumn = new PageZone { PageZoneId = 4, Title = "Center Column" };
            var footerZone = new PageZone { PageZoneId = 5, Title = "Footer" };

            context.PageZones.AddOrUpdate(headerZone);
            context.PageZones.AddOrUpdate(leftColumn);
            context.PageZones.AddOrUpdate(rightColumn);
            context.PageZones.AddOrUpdate(centerColumn);
            context.PageZones.AddOrUpdate(footerZone);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        public static void Add(FirebrickContext context)
        {
            // Pages
            context.RolePageRestrictions.AddOrUpdate(
                new RolePageRestriction { RolePageRestrictionId = 1, PageId = 2, RoleId = 1, IsEditable = false, IsViewable = true });

            context.RolePageRestrictions.AddOrUpdate(
                new RolePageRestriction { RolePageRestrictionId = 2, PageId = 2, RoleId = 9, IsEditable = false, IsViewable = true });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var defaultTemplate = new PageTemplate
                {
                    PageTemplateId = 1,
                    Title = "Small Head [Grey Matter]",
                    LayoutTemplateSrc = "~/Content/themes/new-grey-matter/Layouts/_Layout.cshtml"
                };

            var bigHeadTemplate = new PageTemplate
            {
                PageTemplateId = 2,
                Title = "Big Head [Grey Matter]",
                LayoutTemplateSrc = "~/Content/themes/new-grey-matter/Layouts/_LayoutBigHead.cshtml"
            };

            context.PageTemplates.AddOrUpdate(defaultTemplate);
            context.PageTemplates.AddOrUpdate(bigHeadTemplate);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        private static void AddAnalyticsTypes(FirebrickContext context)
        {
            context.AnalyticsAccounts.AddOrUpdate(
                new AnalyticsAccount
                    {
                        AnalytcisAccountId = 1,
                        AccountName = "Test Account",
                        PortalId = 1,
                        PrimaryDomainName = "www.firebrick-content-management.co.uk",
                        ShowMobile = true,
                        TrackingCode = "UA-11-22-33",
                        TrackingType = "type"
                    });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.PageTemplateZoneMaps.AddOrUpdate(
                new PageTemplateZoneMap { PageTemplateId = 1, PageTemplateZoneMapId = 1, PageZoneId = 1 });
            context.PageTemplateZoneMaps.AddOrUpdate(
                new PageTemplateZoneMap { PageTemplateId = 1, PageTemplateZoneMapId = 2, PageZoneId = 4 });
            context.PageTemplateZoneMaps.AddOrUpdate(
                new PageTemplateZoneMap { PageTemplateId = 1, PageTemplateZoneMapId = 3, PageZoneId = 5 });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        private static void AddClientAssetConfig(FirebrickContext context)
        {
            context.ClientAssetConfigs.AddOrUpdate(
                new ClientAssetConfig { ClientAssetConfigId = 1, ClientAssetId = 1, PageId = 1 });
            context.ClientAssetConfigs.AddOrUpdate(
                new ClientAssetConfig { ClientAssetConfigId = 2, ClientAssetId = 2, PageId = 1, PartId = 1 });
            context.ClientAssetConfigs.AddOrUpdate(
                new ClientAssetConfig { ClientAssetConfigId = 3, ClientAssetId = 3, PageId = 1 });
            context.ClientAssetConfigs.AddOrUpdate(
                new ClientAssetConfig { ClientAssetConfigId = 4, ClientAssetId = 4, PageId = 1, PartId = 1 });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var userRole1 = new UserRole { UserRoleId = 1, RoleId = 1, UserId = 1 };
            var userRole2 = new UserRole { UserRoleId = 2, RoleId = 10, UserId = 1 };
            var userRole3 = new UserRole { UserRoleId = 3, RoleId = 9, UserId = 2 };
            var userRole4 = new UserRole { UserRoleId = 4, RoleId = 10, UserId = 2 };

            context.UserRoles.AddOrUpdate(userRole1);
            context.UserRoles.AddOrUpdate(userRole2);
            context.UserRoles.AddOrUpdate(userRole3);
            context.UserRoles.AddOrUpdate(userRole4);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        private static void AddClientAssets(FirebrickContext context)
        {
            context.ClientAssets.AddOrUpdate(
                new ClientAsset
                    {
                        ClientAssetId = 1,
                        ClientAssetTypeId = 1,
                        Title = "TestPageCss",
                        RelativeFilePath = "~/content/themes/grey-matter/css/pages/TestPage.css"
                    });
            context.ClientAssets.AddOrUpdate(
                new ClientAsset
                    {
                        ClientAssetId = 2,
                        ClientAssetTypeId = 1,
                        Title = "TestPartCss",
                        RelativeFilePath = "~/content/themes/grey-matter/css/parts/TestPart.css"
                    });
            context.ClientAssets.AddOrUpdate(
                new ClientAsset
                    {
                        ClientAssetId = 3,
                        ClientAssetTypeId = 2,
                        Title = "TestPageJavascript",
                        RelativeFilePath = "~/scripts/Pages/default/js/page/TestCustom.js"
                    });
            context.ClientAssets.AddOrUpdate(
                new ClientAsset
                    {
                        ClientAssetId = 4,
                        ClientAssetTypeId = 2,
                        Title = "TestPartJavascript",
                        RelativeFilePath = "~/scripts/views/shared/TestPartJavascript.js"
                    });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        private static void AddAnalytcisAccount(FirebrickContext context)
        {
            context.AnalyticsTypes.AddOrUpdate(
                new AnalyticsType { AnalyticsTypeId = 1, Description = "Website Account", IsActive = true });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The add portals.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var myFirebrick = new Portal { PortalId = 1, Title = "FIREBRICK" };
            context.Portals.AddOrUpdate(myFirebrick);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var administrator = new Roles { IsAvailable = true, Name = "Administrator", Order = 10, RoleId = 1 };
            var manager = new Roles { IsAvailable = true, Name = "System Manager", Order = 20, RoleId = 2 };
            var publisher = new Roles { IsAvailable = true, Name = "Content Publisher", Order = 30, RoleId = 3 };
            var author = new Roles { IsAvailable = true, Name = "Content Author", Order = 40, RoleId = 4 };
            var extranet = new Roles { IsAvailable = true, Name = "Extranet User", Order = 50, RoleId = 5 };
            var intranet = new Roles { IsAvailable = true, Name = "Intranet User", Order = 60, RoleId = 6 };
            var spare1 = new Roles { IsAvailable = false, Name = "Spare One", Order = 70, RoleId = 7 };
            var spare2 = new Roles { IsAvailable = false, Name = "Spare Two", Order = 80, RoleId = 8 };
            var registered = new Roles { IsAvailable = true, Name = "Registered", Order = 90, RoleId = 9 };
            var visitor = new Roles { IsAvailable = true, Name = "Visitor", Order = 100, RoleId = 10 };

            context.Roles.AddOrUpdate(administrator);
            context.Roles.AddOrUpdate(manager);
            context.Roles.AddOrUpdate(publisher);
            context.Roles.AddOrUpdate(author);
            context.Roles.AddOrUpdate(extranet);
            context.Roles.AddOrUpdate(intranet);
            context.Roles.AddOrUpdate(spare1);
            context.Roles.AddOrUpdate(spare2);
            context.Roles.AddOrUpdate(registered);
            context.Roles.AddOrUpdate(visitor);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.Domains.AddOrUpdate(new Domain { DomainId = 1, HostHeader = "localhost", PortalId = 1 });
            context.Domains.AddOrUpdate(new Domain { DomainId = 2, HostHeader = "www.firebrick-content-management.co.uk", PortalId = 1 });
            context.Domains.AddOrUpdate(new Domain { DomainId = 3, HostHeader = "m.www.firebrick-content-management.co.uk", PortalId = 1 });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.PartContainers.AddOrUpdate(
                new PartContainer { PartContainerId = 1, Description = "Blank Container", ElementId = "ps-blank" });
            context.PartContainers.AddOrUpdate(
                new PartContainer { PartContainerId = 2, Description = "No Header", ElementId = "ps-no-header" });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        public static void Add(FirebrickContext context)
        {
            //context.SeoRouteValues.AddOrUpdate(
            //    new SeoRouteValue { SeoRouteValueId = 1, SeoDecoratorId = 3, Key = "RegNo", Value = "MK55 123" });

            //context.SeoRouteValues.AddOrUpdate(
            //    new SeoRouteValue { SeoRouteValueId = 2, SeoDecoratorId = 3, Key = "NewCarOfferId", Value = "25" });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText1A, ContentBlobId = 1, PartId = 1 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText1B, ContentBlobId = 2, PartId = 2 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText1C, ContentBlobId = 3, PartId = 3 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText2, ContentBlobId = 4, PartId = 4 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText3A, ContentBlobId = 5, PartId = 5 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText3B, ContentBlobId = 6, PartId = 6 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = HomeText3C, ContentBlobId = 7, PartId = 7 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Contact1, ContentBlobId = 8, PartId = 8 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Contact2A, ContentBlobId = 9, PartId = 9 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = About1A, ContentBlobId = 10, PartId = 11 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = About1B, ContentBlobId = 11, PartId = 12 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = About2A, ContentBlobId = 12, PartId = 13 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = About2B, ContentBlobId = 13, PartId = 14 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = About2C, ContentBlobId = 14, PartId = 15 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Features1A, ContentBlobId = 15, PartId = 16 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Features1B, ContentBlobId = 16, PartId = 17 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Features1C, ContentBlobId = 17, PartId = 18 });

            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Services1A, ContentBlobId = 18, PartId = 19 });
            context.ContentBlobs.AddOrUpdate(new ContentBlob { Html = Services2B, ContentBlobId = 19, PartId = 20 });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.Parts.AddOrUpdate(
                new Part
                    {
                        PartId = 1,
                        PageId = 1,
                        PartTypeId = 1,
                        Title = "Home Text 1A",
                        ZoneId = 2,
                        PartContainerId = 1,
                        Order = 10,
                        ColSpan = 1,
                        RowId = 1,
                        ColSpanDescriptor = "one-third column"
                    });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 2,
                    PageId = 1,
                    PartTypeId = 1,
                    Title = "Home Text 1B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 20,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 3,
                    PageId = 1,
                    PartTypeId = 1,
                    Title = "Home Text 1C",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 40,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "one-third column"
                });

            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 4,
                    PageId = 1,
                    PartTypeId = 1,
                    Title = "Home Text 2",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 40,
                    ColSpan = 3,
                    RowId = 2,
                    ColSpanDescriptor = "sixteen columns"
                });
            context.Parts.AddOrUpdate(
                new Part
                    {
                        PartId = 5,
                        PageId = 1,
                        PartTypeId = 1,
                        Title = "Home Text 3A",
                        ZoneId = 2,
                        PartContainerId = 1,
                        Order = 50,
                        ColSpan = 1,
                        RowId = 3,
                        ColSpanDescriptor = "one-third column"
                    });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 6,
                    PageId = 1,
                    PartTypeId = 1,
                    Title = "Home Text 3B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 60,
                    ColSpan = 1,
                    RowId = 3,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 7,
                    PageId = 1,
                    PartTypeId = 1,
                    Title = "Home Text 3C",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 70,
                    ColSpan = 1,
                    RowId = 3,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 8,
                    PageId = 5,
                    PartTypeId = 1,
                    Title = "Contact 1",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 10,
                    ColSpan = 3,
                    RowId = 1,
                    ColSpanDescriptor = "sixteen columns"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 9,
                    PageId = 5,
                    PartTypeId = 1,
                    Title = "Contact 2A",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 20,
                    ColSpan = 1,
                    RowId = 2,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 10,
                    PageId = 5,
                    PartTypeId = 3,
                    Title = "Contact 2B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 30,
                    ColSpan = 2,
                    RowId = 2,
                    ColSpanDescriptor = "two-thirds column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 11,
                    PageId = 2,
                    PartTypeId = 1,
                    Title = "About 1A",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 10,
                    ColSpan = 2,
                    RowId = 1,
                    ColSpanDescriptor = "two-thirds column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 12,
                    PageId = 2,
                    PartTypeId = 1,
                    Title = "About 1B",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 20,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "one-third column"
                });

            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 13,
                    PageId = 2,
                    PartTypeId = 1,
                    Title = "About Text 2A",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 40,
                    ColSpan = 1,
                    RowId = 2,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 14,
                    PageId = 2,
                    PartTypeId = 1,
                    Title = "About Text 2B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 50,
                    ColSpan = 1,
                    RowId = 2,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 15,
                    PageId = 2,
                    PartTypeId = 1,
                    Title = "About Text 2C",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 60,
                    ColSpan = 1,
                    RowId = 2,
                    ColSpanDescriptor = "one-third column"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 16,
                    PageId = 4,
                    PartTypeId = 1,
                    Title = "Features Text 1A",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 10,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "three columns"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 17,
                    PageId = 4,
                    PartTypeId = 1,
                    Title = "Features Text 1B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 20,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "nine columns"
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 18,
                    PageId = 4,
                    PartTypeId = 1,
                    Title = "Features Text 1C",
                    ZoneId = 3,
                    PartContainerId = 1,
                    Order = 30,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = "four columns"
                });

            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 19,
                    PageId = 3,
                    PartTypeId = 1,
                    Title = "Services 1A",
                    ZoneId = 2,
                    PartContainerId = 1,
                    Order = 10,
                    ColSpan = 2,
                    RowId = 1,
                    ColSpanDescriptor = ""
                });
            context.Parts.AddOrUpdate(
                new Part
                {
                    PartId = 20,
                    PageId = 3,
                    PartTypeId = 1,
                    Title = "Services 1B",
                    ZoneId = 4,
                    PartContainerId = 1,
                    Order = 20,
                    ColSpan = 1,
                    RowId = 1,
                    ColSpanDescriptor = ""
                });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
 public static void Add(FirebrickContext context)
 {
     AddAnalyticsTypes(context);
     AddAnalytcisAccount(context);
 }
 /// <summary>
 /// The get.
 /// </summary>
 /// <returns>
 /// </returns>
 public FirebrickContext Get()
 {
     return this.dataContext ?? (this.dataContext = new FirebrickContext());
 }
        /// <summary>
        /// The add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            SeoDecorator home = GenericallyComplete();
            SeoDecorator about = GenericallyComplete();
            SeoDecorator services = GenericallyComplete();
            SeoDecorator features = GenericallyComplete();
            SeoDecorator contact = GenericallyComplete();
            SeoDecorator logon = GenericallyComplete();

            home.SeoDecoratorId = 1;
            home.PageId = 1;
            home.Title = "Home";
            home.Description = "The Home page";
            home.FileName = "Home";
            home.LookFor = "Home";
            home.Keywords = "Home";

            about.SeoDecoratorId = 2;
            about.PageId = 2;
            about.Title = "About";
            about.Description = "The About page";
            about.FileName = "About";
            about.LookFor = "About";
            about.Keywords = "About";

            services.SeoDecoratorId = 3;
            services.PageId = 3;
            services.Title = "Services";
            services.Description = "The Services page";
            services.FileName = "Services";
            services.LookFor = "Services";
            services.Keywords = "Services";

            features.SeoDecoratorId = 4;
            features.PageId = 4;
            features.Title = "Features";
            features.Description = "The Features page";
            features.FileName = "Features";
            features.LookFor = "Features";
            features.Keywords = "Features";

            contact.SeoDecoratorId = 5;
            contact.PageId = 5;
            contact.Title = "Contact";
            contact.Description = "The Contact page";
            contact.FileName = "Contact";
            contact.LookFor = "Contact";
            contact.Keywords = "Contact";

            logon.SeoDecoratorId = 6;
            logon.PageId = 6;
            logon.Title = "Login";
            logon.Description = "The Login page";
            logon.FileName = "Login";
            logon.LookFor = "Account/Login";
            logon.Keywords = "Login";

            context.SeoDecorators.AddOrUpdate(home);
            context.SeoDecorators.AddOrUpdate(about);
            context.SeoDecorators.AddOrUpdate(services);
            context.SeoDecorators.AddOrUpdate(features);
            context.SeoDecorators.AddOrUpdate(contact);
            context.SeoDecorators.AddOrUpdate(logon);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var admin = new User
                {
                    Country = "England",
                    DisplayName = "Mr Admin",
                    HasRegistered = true,
                    Password = "******",
                    PortalId = 1,
                    PostalCode = "GL50",
                    UserId = 1,
                    UserName = "******",
                    FirstName = "John",
                    LastName = "Barnes",
                    FullName = "John Barnes",
                    DateCreated = DateTime.Now,
                    JobTitle = "Winger",
                    LastModified = DateTime.Now,
                    IsContactable = true,
                    IsActive = true,
                    EMail = "*****@*****.**"
                };

            var registered = new User
            {
                Country = "England",
                DisplayName = "Rushy",
                HasRegistered = true,
                Password = "******",
                PortalId = 1,
                PostalCode = "GL50",
                UserId = 2,
                UserName = "******",
                FirstName = "Ian",
                LastName = "Rush",
                FullName = "Ian Rush",
                DateCreated = DateTime.Now,
                JobTitle = "Striker",
                LastModified = DateTime.Now,
                IsContactable = true,
                IsActive = true,
                EMail = "*****@*****.**"
            };

            // Password "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8" equals "a"
            // 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8 = password

            context.Users.AddOrUpdate(admin);
            context.Users.AddOrUpdate(registered);

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            context.PageControllerActions.AddOrUpdate(
                new PageControllerAction
                    {
                        ActionName = "Index",
                        ControllerName = "WebFramework",
                        FriendlyName = "Default View",
                        PageControllerActionId = 1,
                        IsSelectable = true
                    });

            //context.PageControllerActions.AddOrUpdate(
            //    new PageControllerAction
            //    {
            //        ActionName = "IndexTwoColWideLeft",
            //        ControllerName = "WebFramework",
            //        FriendlyName = "Two Column Wide Left",
            //        PageControllerActionId = 2,
            //        IsSelectable = true
            //    });
            //context.PageControllerActions.AddOrUpdate(
            //    new PageControllerAction
            //    {
            //        ActionName = "IndexTripleRow",
            //        ControllerName = "WebFramework",
            //        FriendlyName = "Triple Row",
            //        PageControllerActionId = 3,
            //        IsSelectable = true
            //    });
            //context.PageControllerActions.AddOrUpdate(
            //    new PageControllerAction
            //    {
            //        ActionName = "Index",
            //        ControllerName = "WebFramework",
            //        FriendlyName = "Unused One",
            //        PageControllerActionId = 4,
            //        IsSelectable = false
            //    });
            //context.PageControllerActions.AddOrUpdate(
            //    new PageControllerAction
            //    {
            //        ActionName = "Index",
            //        ControllerName = "WebFramework",
            //        FriendlyName = "Unused Two",
            //        PageControllerActionId = 5,
            //        IsSelectable = false
            //    });
            context.PageControllerActions.AddOrUpdate(
                new PageControllerAction
                    {
                        ActionName = "Login",
                        ControllerName = "Account",
                        FriendlyName = "User Login Page",
                        PageControllerActionId = 2,
                        IsSelectable = false
                    });
            context.PageControllerActions.AddOrUpdate(
                new PageControllerAction
                    {
                        ActionName = "Register",
                        ControllerName = "Account",
                        FriendlyName = "User Register Page",
                        PageControllerActionId = 3,
                        IsSelectable = false
                    });
            context.PageControllerActions.AddOrUpdate(
                new PageControllerAction
                    {
                        ActionName = "ChangePassword",
                        ControllerName = "Account",
                        FriendlyName = "User Change Password Page",
                        PageControllerActionId = 4,
                        IsSelectable = false
                    });
            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
 public static void Add(FirebrickContext context)
 {
     AddClientAssetTypes(context);
     AddClientAssets(context);
     AddClientAssetConfig(context);
 }
        /// <summary>
        /// The add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            var pages = new List<Page>();

            pages.Add(
                new Page
                    {
                        ActionName = "Index",
                        ControllerName = "WebFramework",
                        Title = "Home",
                        PageId = 1,
                        PageParentId = -1,
                        PageTemplateId = 2,
                        PortalId = 1,
                        ShowOnMenu = true,
                        Order = 10,
                        IsPublished = true,
                        Created = DateTime.Now,
                        CreatedBy = "Admin",
                        LastModified = DateTime.Now,
                        LastModifiedBy = "Admin",
                        PageStructureStyleId = 1
                    });

            pages.Add(
                new Page
                    {
                        ActionName = "Index",
                        ControllerName = "WebFramework",
                        Title = "About",
                        PageId = 2,
                        PageParentId = -1,
                        PageTemplateId = 1,
                        PortalId = 1,
                        ShowOnMenu = true,
                        Order = 20,
                        IsPublished = true,
                        Created = DateTime.Now,
                        CreatedBy = "Admin",
                        LastModified = DateTime.Now,
                        LastModifiedBy = "Admin",
                        PageStructureStyleId = 1
                    });

            pages.Add(
                new Page
                {
                    ActionName = "Index",
                    ControllerName = "WebFramework",
                    Title = "Services",
                    PageId = 3,
                    PageParentId = -1,
                    PageTemplateId = 1,
                    PortalId = 1,
                    ShowOnMenu = true,
                    Order = 30,
                    IsPublished = true,
                    Created = DateTime.Now,
                    CreatedBy = "Admin",
                    LastModified = DateTime.Now,
                    LastModifiedBy = "Admin",
                    PageStructureStyleId = 1
                });

            pages.Add(
                new Page
                {
                    ActionName = "Index",
                    ControllerName = "WebFramework",
                    Title = "Features",
                    PageId = 4,
                    PageParentId = -1,
                    PageTemplateId = 1,
                    PortalId = 1,
                    ShowOnMenu = true,
                    Order = 40,
                    IsPublished = true,
                    Created = DateTime.Now,
                    CreatedBy = "Admin",
                    LastModified = DateTime.Now,
                    LastModifiedBy = "Admin",
                    PageStructureStyleId = 1
                });

            pages.Add(
                new Page
                    {
                        ActionName = "Index",
                        ControllerName = "WebFramework",
                        Title = "Contact",
                        PageId = 5,
                        PageParentId = -1,
                        PageTemplateId = 1,
                        PortalId = 1,
                        ShowOnMenu = true,
                        Order = 50,
                        IsPublished = true,
                        Created = DateTime.Now,
                        CreatedBy = "Admin",
                        LastModified = DateTime.Now,
                        LastModifiedBy = "Admin",
                        PageStructureStyleId = 1
                    });

            pages.Add(
                new Page
                    {
                        ActionName = "Login",
                        ControllerName = "Account",
                        Title = "Login",
                        PageId = 6,
                        PageParentId = -1,
                        PageTemplateId = 1,
                        PortalId = 1,
                        ShowOnMenu = false,
                        Order = 60,
                        IsPublished = true,
                        Created = DateTime.Now,
                        CreatedBy = "Admin",
                        LastModified = DateTime.Now,
                        LastModifiedBy = "Admin",
                        PageStructureStyleId = 1
                    });

            pages.ForEach(p => context.Pages.AddOrUpdate(p));

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        /// <summary>
        /// The Add.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public static void Add(FirebrickContext context)
        {
            //// REAL PARTS
            context.PartTypes.AddOrUpdate(
                new PartType
                {
                    PartTypeId = 1,
                    Action = "Index",
                    Controller = "RichContent",
                    Title = "HTML Content",
                    ViewIdentifier = string.Empty,
                    AddAction = "Add",
                    EditAction = "EditMode"
                });

            context.PartTypes.AddOrUpdate(
                new PartType
                {
                    PartTypeId = 2,
                    Action = "SideMenu",
                    Controller = "Menu",
                    Title = "Side Menu",
                    ViewIdentifier = string.Empty,
                    AddAction = string.Empty,
                    EditAction = string.Empty
                });

            context.PartTypes.AddOrUpdate(
                new PartType
                {
                    PartTypeId = 3,
                    Action = "ContactUs",
                    Controller = "Enquiry",
                    Title = "Contact Us",
                    ViewIdentifier = string.Empty,
                    AddAction = string.Empty,
                    EditAction = "ContactUs"
                });

            context.PartTypes.AddOrUpdate(
                new PartType
                    {
                        PartTypeId = 4,
                        Action = "Index",
                        Controller = "FlexSlider",
                        Title = "Flex Banner Slider",
                        ViewIdentifier = string.Empty,
                        AddAction = "Index",
                        EditAction = "Index",
                        AdminEditController = "FlexSliderAdmin",
                        AdminEditAction = "AdminEditMode"
                    });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }
        private static void AddClientAssetTypes(FirebrickContext context)
        {
            context.ClientAssetTypes.AddOrUpdate(new ClientAssetType { ClientAssetTypeId = 1, Title = "CSS" });
            context.ClientAssetTypes.AddOrUpdate(new ClientAssetType { ClientAssetTypeId = 2, Title = "JavaScript" });
            context.ClientAssetTypes.AddOrUpdate(new ClientAssetType { ClientAssetTypeId = 3, Title = "Image" });

            try
            {
                context.SaveChanges();
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (DbEntityValidationResult validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        Debug.WriteLine(
                            "Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
            }
        }