Ejemplo n.º 1
0
 public void Insert(Menu entity)
 {
     _menuRepository.Insert(entity);
 }
Ejemplo n.º 2
0
 public void Update(Menu entity)
 {
     _menuRepository.Update(entity);
 }
Ejemplo n.º 3
0
        public ActionResult Index(string password, string theme)
        {
            if (string.IsNullOrEmpty(password) || password != "test")
                return View();

            var tenantInstance = HttpContext.GetOwinContext().GetTenantInstance();

            #region Settings
            theme = string.IsNullOrEmpty(theme) ? "Default" : theme;
            _settingService.SaveSetting(new TenantSettings()
            {
                DefaultTheme = theme,
                IsEnabled = true
            });

            _settingService.SaveSetting(new SiteSettings()
            {
                EnableNewsletter = true,
                EnableTwitterFeed = true,
                EnableGoogleAnalytics = true,
                GoogleAnaltyicsId = "UA-31163101-2"
            });
            
            _settingService.SaveSetting(new CompanySettings()
            {
                Address = "125 Paseo de la Plaza",
                Brief = string.Format("At {0} we are dedicated to doing good.", tenantInstance.Tenant.Name),
                City = "Los Angeles",
                Ein = "11-1111111", 
                Email = "*****@*****.**",
                Name = tenantInstance.Tenant.Name,
                State = "CA",
                ZipCode = "90012",
                Phone = "213-555-5555"
            });
            
            _settingService.SaveSetting(new SocialSettings()
            {
                Facebook = "https://www.facebook.com/visualstudio.us",
                GooglePlus = "https://plus.google.com/+visualstudio",
                LinkedIn = "https://www.linkedin.com/company/microsoft-visual-studio",
                Pinterest = "http://www.pinterest.com/msvisualstudio/",
                Twitter = "https://twitter.com/VisualStudio",
                YouTube = "https://www.youtube.com/user/VisualStudio"
            });

            _settingService.SaveSetting(new PostSettings()
            {
                CommentsEnabled = true,
                PostsPerPage = 5,
                ShowPopularPosts = true,
                ShowRecentPosts = true
            });
            #endregion
            
            #region Home Page
            var HomePage = new Page()
                {
                    HtmlBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                    Tenant_ID = tenantInstance.Tenant.ID,
                    TextBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                    Title = tenantInstance.Tenant.Name + " Home Page", 
                };

            var metaPage1 = new MetaData()
            {
                EntityType = "Page",
                EntityID = HomePage.ID,
                IsHomePage = true,
                MetaDescription = "Home local host test page",
                MetaKeywords = "CMS, localhost, testing",
                MetaTitle = "Home",
                Permalink = "",
                Tenant_ID = tenantInstance.Tenant.ID
            };

            HomePage.Meta = metaPage1;
            _pageService.Insert(HomePage);

            HomePage.Meta.EntityID = HomePage.ID;
            _pageService.Update(HomePage);
            #endregion

            #region About Page
            var Page2 = new Page()
            {
                HtmlBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Tenant_ID = tenantInstance.Tenant.ID,
                TextBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Title =  tenantInstance.Tenant.Name + " About",
            };

            var metaPage2 = new MetaData()
            {
                EntityType = "Page",
                EntityID = Page2.ID,
                IsHomePage = false,
                MetaDescription = "local host test page 2",
                MetaKeywords = "CMS, localhost, testing",
                MetaTitle = "About",
                Permalink = "about",
                Tenant_ID = tenantInstance.Tenant.ID
            };

            Page2.Meta = metaPage2;
            _pageService.Insert(Page2);

            Page2.Meta.EntityID = Page2.ID;
            _pageService.Update(Page2);
            #endregion

            #region About_Leadership Page
            var Page3 = new Page()
            {
                HtmlBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Tenant_ID = tenantInstance.Tenant.ID,
                TextBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Title = tenantInstance.Tenant.Name + " Leadership",
                ParentPage = Page2
            };

            var metaPage3 = new MetaData()
            {
                EntityType = "Page",
                EntityID = Page3.ID,
                IsHomePage = false,
                MetaDescription = "Leadership test page",
                MetaKeywords = "CMS, localhost, testing",
                MetaTitle = "Leadership",
                Permalink = "about/leadership",
                Tenant_ID = tenantInstance.Tenant.ID
            };

            Page3.Meta = metaPage3;
            _pageService.Insert(Page3);

            Page3.Meta.EntityID = Page3.ID;
            _pageService.Update(Page3);
            #endregion

            #region Additional Page
            var Page4 = new Page()
            {
                HtmlBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Tenant_ID = tenantInstance.Tenant.ID,
                TextBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                Title = tenantInstance.Tenant.Name + " Additional Page",
                ParentPage = Page2
            };

            var metaPage4 = new MetaData()
            {
                EntityType = "Page",
                EntityID = Page4.ID,
                IsHomePage = false,
                MetaDescription = "Leadership test page",
                MetaKeywords = "CMS, localhost, testing",
                MetaTitle = "Additional Page",
                Permalink = "about/additional_page",
                Tenant_ID = tenantInstance.Tenant.ID
            };

            Page4.Meta = metaPage4;
            _pageService.Insert(Page4);

            Page4.Meta.EntityID = Page4.ID;
            _pageService.Update(Page4);
            #endregion
            
            #region Posts
            ///Adding 101 posts
            
            for (int i = 1; i <= 101; i++)
            {
                var post = new Post()
                    {
                        HtmlBody = "<strong>Lorem ipsum</strong> dolor sit amet, <p>consectetur adipisicing elit, sed do eiusmod tempor incididunt ut <i>labore et dolore</i> magna aliqua.</p> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                        PublishDate = DateTime.UtcNow,
                        TextBody = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                        Title = string.Format("Dynamic Post {0}", i),
                        Meta = new MetaData()
                        {
                            EntityType = "Post",
                            EntityID = 0,
                            IsHomePage = false,
                            MetaDescription = string.Format("test post {0}", i),
                            MetaKeywords = "CMS, testing",
                            MetaTitle = string.Format("Post {0}", i),
                            Permalink = string.Format("blog/post-{0}", i),
                            Tenant_ID = tenantInstance.Tenant.ID
                        }, 
                        Categories = new List<Category>(), 
                        Tags = new List<Tag>()
                    };
                if (i % 4 == 0)
                {
                    var cat4 = _postService.Table.Any(x => x.Categories.Any(y => y.Name == "Sports")) ?
                        _postService.Table.First(x => x.Categories.Any(y => y.Name == "Sports")).Categories.First(c => c.Name == "Sports") :
                        new Category() { Name = "Sports", Tenant_ID = tenantInstance.Tenant.ID };
                    var tag4 = _postService.Table.Any(x => x.Tags.Any(y => y.Name == "fantasy football")) ?
                        _postService.Table.First(x => x.Tags.Any(y => y.Name == "fantasy football")).Tags.First(c => c.Name == "fantasy football") : 
                        new Tag() { Name = "fantasy football", Tenant_ID = tenantInstance.Tenant.ID };

                    post.Categories.Add(cat4);
                    post.Tags.Add(tag4);
                }
                else if (i % 3 == 0)
                {
                    var cat3 = _postService.Table.Any(x => x.Categories.Any(y => y.Name == "Politics")) ?
                        _postService.Table.First(x => x.Categories.Any(y => y.Name == "Politics")).Categories.First(c => c.Name == "Politics") : 
                        new Category() { Name = "Politics", Tenant_ID = tenantInstance.Tenant.ID };
                    var tag3 = _postService.Table.Any(x => x.Tags.Any(y => y.Name == "tea party")) ?
                        _postService.Table.First(x => x.Tags.Any(y => y.Name == "tea party")).Tags.First(c => c.Name == "tea party") : 
                        new Tag() { Name = "tea party", Tenant_ID = tenantInstance.Tenant.ID };
                    post.Categories.Add(cat3);
                    post.Tags.Add(tag3);
                }
                else if (i % 2 == 0)
                {
                    var cat2 = _postService.Table.Any(x => x.Categories.Any(y => y.Name == "Animals")) ?
                        _postService.Table.First(x => x.Categories.Any(y => y.Name == "Animals")).Categories.First(c => c.Name == "Animals") : 
                        new Category() { Name = "Animals", Tenant_ID = tenantInstance.Tenant.ID };
                    var tag2 = _postService.Table.Any(x => x.Tags.Any(y => y.Name == "koala")) ?
                        _postService.Table.First(x => x.Tags.Any(y => y.Name == "koala")).Tags.First(c => c.Name == "koala") : 
                        new Tag() { Name = "koala", Tenant_ID = tenantInstance.Tenant.ID };
                    post.Categories.Add(cat2);
                    post.Tags.Add(tag2);
                }
                else
                {
                    var cat1 = _postService.Table.Any(x => x.Categories.Any(y => y.Name == "Technology")) ?
                        _postService.Table.First(x => x.Categories.Any(y => y.Name == "Technology")).Categories.First(c => c.Name == "Technology") : 
                        new Category() { Name = "Technology", Tenant_ID = tenantInstance.Tenant.ID };
                    var tag1 = _postService.Table.Any(x => x.Tags.Any(y => y.Name == "c#")) ?
                        _postService.Table.First(x => x.Tags.Any(y => y.Name == "c#")).Tags.First(c => c.Name == "c#") : 
                        new Tag() { Name = "c#", Tenant_ID = tenantInstance.Tenant.ID };
                    post.Categories.Add(cat1);
                    post.Tags.Add(tag1);
                }

                _postService.Insert(post);
                post.Meta.EntityID = post.ID;
                _postService.Update(post);
            }
            #endregion

            #region Events
            //lots of events
            for (int i = 1; i <= 45; i++)
            {
                var evt = new Event()
                    {
                        Address = string.Format("{0} Street Ave.", i),
                        City = string.Format("City {0}", i),
                        Details = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
                        EndDate = DateTime.Now.AddDays(i * 2),
                        IsPublished = true,
                        Name = string.Format("Event {0}", i),
                        StartDate = DateTime.Now.AddDays(i * 2),
                        State = "CA",
                        Tenant_ID = tenantInstance.Tenant.ID,
                        ZipCode = "00000"
                    };

                _eventService.Insert(evt);
            }
            #endregion

            #region Menu
            var menu = new Menu();
            menu.Name = "Main menu";
            menu.Items = new List<MenuItem>();
            menu.Items.Add(new MenuItem() { Information = HomePage.Meta });
            var aboutMenu = new MenuItem() { Information = Page2.Meta };
            menu.Items.Add(aboutMenu);
            menu.Items.Add(new MenuItem() { Information = Page3.Meta, ParentMenu = aboutMenu });
            menu.Items.Add(new MenuItem() { Information = Page4.Meta });
            menu.Items.Add(new MenuItem() { Information = new MetaData() { EntityType = "Blog", MetaTitle = "Blog", Permalink = "blog", Tenant_ID = tenantInstance.Tenant.ID } });
            menu.Items.Add(new MenuItem() { Information = new MetaData() { EntityType = "Events", MetaTitle = "Events", Permalink = "events", Tenant_ID = tenantInstance.Tenant.ID } });
            menu.Items.Add(new MenuItem() { Information = new MetaData() { EntityType = "Contact", MetaTitle = "Contact", Permalink = "contact", Tenant_ID = tenantInstance.Tenant.ID } });
            _menuService.Insert(menu);
            //_menuService.Update(menu);
            #endregion

            return RedirectToAction("Completed");
        }