public void TestConstructionFromTemplate()
        {
            var id = Guid.NewGuid();
            var widgetConfiguration = new QuickInfoWidgetConfiguration();

            widgetConfiguration.Add(new QuickInfoViewConfiguration(id)
            {
                Name = "Cool entry"
            });
            var template = new WidgetTemplate
            {
                Configuration = widgetConfiguration
            };
            var analyser = new Mock <IDataSourceAnalyser>();
            var analyserConfiguration = new QuickInfoAnalyserConfiguration();

            analyserConfiguration.Add(new QuickInfoConfiguration(id)
            {
                FilterValue = "Foo"
            });
            analyser.Setup(x => x.Configuration).Returns(analyserConfiguration);

            var viewModel = new QuickInfoWidgetViewModel(template, analyser.Object);

            viewModel.QuickInfos.Should().HaveCount(1);
            var quickInfo = viewModel.QuickInfos.First();

            quickInfo.Should().NotBeNull();
            quickInfo.Id.Should().Be(id);
            quickInfo.Name.Should().Be("Cool entry");
            quickInfo.FilterValue.Should().Be("Foo");
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Initialize template and default data
        /// </summary>
        public virtual void Initialize(DbContext ezContext)
        {
            var context = ezContext as EzCMSEntities;

            if (context != null)
            {
                // If do not defined setup configuration or empty default template then do nothing
                if (GetSetup() == null || string.IsNullOrEmpty(GetSetup().DefaultTemplate))
                {
                    return;
                }

                var template = new WidgetTemplate
                {
                    Name              = GetSetup().DefaultTemplate,
                    DataType          = GetSetup().Type.AssemblyQualifiedName,
                    Widget            = GetSetup().Widget,
                    Widgets           = DataInitializeHelper.GetTemplateWidgets(GetSetup()),
                    Content           = DataInitializeHelper.GetTemplateContent(GetSetup()),
                    Script            = DataInitializeHelper.GetTemplateScript(GetSetup()),
                    Style             = DataInitializeHelper.GetTemplateStyle(GetSetup()),
                    FullContent       = DataInitializeHelper.GetTemplateFullContent(GetSetup()),
                    IsDefaultTemplate = true
                };
                context.WidgetTemplates.AddIfNotExist(i => i.Name, template);
            }
        }
Ejemplo n.º 3
0
        //[WebInvoke(Method = "POST", UriTemplate = "/WidgetTemplates/Save?providerName={providerName}")]
        public bool SaveWidgetTemplate(WidgetTemplate widgetTemplate, string providerName)
        {
            var request = new RestRequest(this.ServiceUrl + "/WidgetTemplates/Save?providerName={providerName}", Method.POST);

            request.AddUrlSegment("providerName", providerName);

            request.AddParameter("application/json", SerializeObject(widgetTemplate), ParameterType.RequestBody);

            return(ExecuteRequestFor <bool>(request));
        }
Ejemplo n.º 4
0
 public WidgetTemplateLogManageModel(WidgetTemplate widgetTemplate)
 {
     TemplateId  = widgetTemplate.Id;
     Name        = widgetTemplate.Name;
     Widgets     = widgetTemplate.Widgets;
     Content     = widgetTemplate.Content;
     Script      = widgetTemplate.Script;
     Style       = widgetTemplate.Style;
     FullContent = widgetTemplate.FullContent;
     DataType    = widgetTemplate.DataType;
 }
Ejemplo n.º 5
0
        public void TestClone1()
        {
            var template = new WidgetTemplate
            {
                Title = "Foobar"
            };
            var clone = template.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(template);
            clone.Title.Should().Be("Foobar");
            clone.Configuration.Should().BeNull();
        }
Ejemplo n.º 6
0
 public WidgetTemplateManageModel(WidgetTemplate widgetTemplate)
 {
     Id                = widgetTemplate.Id;
     Name              = widgetTemplate.Name;
     Content           = widgetTemplate.Content;
     FullContent       = widgetTemplate.FullContent;
     Shortcuts         = SerializeUtilities.Deserialize <List <Shortcut> >(widgetTemplate.Widgets);
     Script            = widgetTemplate.Script;
     Style             = widgetTemplate.Style;
     DataType          = widgetTemplate.DataType;
     IsDefaultTemplate = widgetTemplate.IsDefaultTemplate;
     Widget            = widgetTemplate.Widget;
 }
Ejemplo n.º 7
0
        public void TestSerialize2()
        {
            var template = new WidgetTemplate
            {
                Configuration = new TestConfiguration()
            };

            // We don't pass the type of the expected sub-types so the configuration
            // cannot be restored. This can happen when opening a template / snapshot
            // on an older installation or one that doesn't have a particular plugin.
            var actualTemplate = template.Roundtrip();

            actualTemplate.Should().NotBeNull();
            actualTemplate.Configuration.Should().BeNull();
        }
Ejemplo n.º 8
0
        public void TestClone1()
        {
            var template = new WidgetTemplate
            {
                Title = "Foobar"
            };
            var clone = template.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(template);
            clone.Title.Should().Be("Foobar");
            clone.Configuration.Should().BeNull();
            clone.AnalyserId.Should().Be(AnalyserId.Empty);
            clone.LogAnalyserFactoryId.Should().Be(LogAnalyserFactoryId.Empty);
        }
Ejemplo n.º 9
0
        public void TestClone3()
        {
            var template = new PageTemplate();
            var widget   = new WidgetTemplate();

            template.Add(widget);

            var clone = template.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(template);
            clone.Layout.Should().BeNull();
            clone.Widgets.Should().HaveCount(1);
            clone.Widgets.ElementAt(0).Should().NotBeNull();
            clone.Widgets.ElementAt(0).Should().NotBeSameAs(widget);
        }
Ejemplo n.º 10
0
        public void TestClone3()
        {
            var template = new WidgetTemplate
            {
                Id                   = WidgetId.CreateNew(),
                AnalyserId           = AnalyserId.CreateNew(),
                LogAnalyserFactoryId = new LogAnalyserFactoryId("Company.Namespace.MyFactory")
            };
            var clone = template.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(template);
            clone.Id.Should().Be(template.Id);
            clone.AnalyserId.Should().Be(template.AnalyserId);
            clone.LogAnalyserFactoryId.Should().Be(template.LogAnalyserFactoryId);
        }
Ejemplo n.º 11
0
        public void TestChangeTitle()
        {
            var template = new WidgetTemplate
            {
            };
            var model = new LogEntryCountWidgetViewModel(template, _analyser.Object);

            model.MonitorEvents();

            model.Title = "Hello there...";
            template.Title.Should().Be("Hello there...");
            model.ShouldRaise(nameof(IWidgetViewModel.TemplateModified));

            model.Title = "Sup!";
            template.Title.Should().Be("Sup!");
            model.ShouldRaise(nameof(IWidgetViewModel.TemplateModified));
        }
Ejemplo n.º 12
0
        public void TestChangeCaption()
        {
            var widgetConfiguration = new LogEntryCountWidgetConfiguration();
            var template            = new WidgetTemplate
            {
                Configuration = widgetConfiguration
            };
            var model = new LogEntryCountWidgetViewModel(template, _analyser.Object);

            model.MonitorEvents();

            model.Caption = "Hello there...";
            widgetConfiguration.Caption.Should().Be("Hello there...");
            model.ShouldRaise(nameof(IWidgetViewModel.TemplateModified));

            model.Caption = "Sup!";
            widgetConfiguration.Caption.Should().Be("Sup!");
            model.ShouldRaise(nameof(IWidgetViewModel.TemplateModified));
        }
Ejemplo n.º 13
0
        private void LayoutOnRequestAddWidget(IWidgetPlugin plugin)
        {
            var viewConfiguration = CreateViewConfiguration(plugin);

            var configuration = plugin.DefaultAnalyserConfiguration?.Clone() as ILogAnalyserConfiguration;
            var analyser      = CreateAnalyser(plugin.AnalyserId, configuration);

            var widgetTemplate = new WidgetTemplate
            {
                Id            = WidgetId.CreateNew(),
                AnalyserId    = analyser.Id,
                Configuration = viewConfiguration
            };
            var widget = plugin.CreateViewModel(widgetTemplate, analyser);

            _analysersPerWidget.Add(widget, analyser);
            _template.Add(widgetTemplate);

            Add(widget);
        }
        public void TestAdd()
        {
            var widgetConfiguration = new QuickInfoWidgetConfiguration();
            var template            = new WidgetTemplate
            {
                Configuration = widgetConfiguration
            };
            var analyser = new Mock <IDataSourceAnalyser>();
            var analyserConfiguration = new QuickInfoAnalyserConfiguration();

            analyser.Setup(x => x.Configuration).Returns(analyserConfiguration);
            var viewModel = new QuickInfoWidgetViewModel(template, analyser.Object);

            viewModel.MonitorEvents();

            viewModel.AddQuickInfoCommand.Execute(null);
            widgetConfiguration.Titles.Should().HaveCount(1, "because we've just added one new element");
            //analyserConfiguration.QuickInfos.Should().HaveCount(1, "because we've just added one new element");
            viewModel.ShouldRaise(nameof(QuickInfoWidgetViewModel.TemplateModified));
        }
Ejemplo n.º 15
0
        public void TestSerialize1()
        {
            var template = new WidgetTemplate
            {
                Id            = WidgetId.CreateNew(),
                AnalyserId    = AnalyserId.CreateNew(),
                Title         = "dwankwadjkwad",
                Configuration = new TestConfiguration()
            };

            var actualTemplate = template.Roundtrip(typeof(TestConfiguration));

            actualTemplate.Should().NotBeNull();
            actualTemplate.Id.Should().Be(template.Id);
            actualTemplate.AnalyserId.Should().Be(template.AnalyserId);
            actualTemplate.Title.Should().Be(template.Title);
            actualTemplate.Configuration.Should().NotBeNull();
            actualTemplate.Configuration.Should().BeOfType <TestConfiguration>();
            actualTemplate.Configuration.Should().NotBeSameAs(template.Configuration);
        }
Ejemplo n.º 16
0
        public void TestClone2()
        {
            var viewConfiguration = new Mock <IWidgetConfiguration>();

            viewConfiguration.Setup(x => x.Clone()).Returns(() => new Mock <IWidgetConfiguration>().Object);
            var template = new WidgetTemplate
            {
                Configuration = viewConfiguration.Object
            };

            viewConfiguration.Verify(x => x.Clone(), Times.Never);

            var clone = template.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(template);
            clone.Title.Should().BeNull();
            clone.Configuration.Should().NotBeNull();
            clone.Configuration.Should().NotBeSameAs(viewConfiguration.Object);
            viewConfiguration.Verify(x => x.Clone(), Times.Once);
        }
Ejemplo n.º 17
0
 internal ResponseModel Delete(WidgetTemplate widgetTemplate)
 {
     return(_templateRepository.Delete(widgetTemplate));
 }
Ejemplo n.º 18
0
 public ResponseModel CreateTemplate(WidgetTemplate widgetTemplate)
 {
     return(_templateRepository.Insert(widgetTemplate));
 }
Ejemplo n.º 19
0
        public void Setup()
        {
            var starterKitService = HostContainer.GetInstance <IStarterKitService>();

            #region Page Templates

            // Insert master template
            var master = new PageTemplate
            {
                Name              = "Master",
                Content           = StarterKitHelper.GetEzCMSResource("Master.cshtml", GetTemplateFolder(), ResourceTypeEnums.PageTemplates),
                IsDefaultTemplate = true
            };
            starterKitService.InsertPageTemplate(master);

            #endregion

            #region Page Initialize

            // Insert home page
            var homePage = new Page
            {
                Title                    = "Home",
                Abstract                 = "Home page",
                Content                  = StarterKitHelper.GetEzCMSResource("HomePage.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "home",
                PageTemplateId           = master.Id,
                IsHomePage               = true,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = true,
                DisableNavigationCascade = false,
                RecordOrder              = 1
            };
            starterKitService.InsertPage(homePage);

            var aboutUs = new Page
            {
                Title                    = "About Us",
                Abstract                 = "About Us",
                Content                  = StarterKitHelper.GetEzCMSResource("AboutUs.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "about-us",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = true,
                DisableNavigationCascade = false,
                RecordOrder              = 2
            };
            starterKitService.InsertPage(aboutUs);

            var contactUs = new Page
            {
                Title                    = "Contact Us",
                Abstract                 = "Contact Us",
                Content                  = StarterKitHelper.GetEzCMSResource("ContactUs.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "contact-us",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = true,
                DisableNavigationCascade = false,
                RecordOrder              = 3
            };
            starterKitService.InsertPage(contactUs);

            #region Insert other pages

            //Page not found
            var pageNotFound = new Page
            {
                Title                    = "Page Not Found",
                Abstract                 = "Page Not Found",
                Content                  = StarterKitHelper.GetEzCMSResource("PageNotFound.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "Page-Not-Found",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = false,
                DisableNavigationCascade = true,
                RecordOrder              = 4
            };
            starterKitService.InsertPage(pageNotFound);

            //Page error
            var pageError = new Page
            {
                Title                    = "Page Error",
                Abstract                 = "Page Error",
                Content                  = StarterKitHelper.GetEzCMSResource("PageError.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "Page-Error",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = false,
                DisableNavigationCascade = true,
                RecordOrder              = 3
            };
            starterKitService.InsertPage(pageError);

            //Site map
            var siteMap = new Page
            {
                Title                    = "Site Map",
                Abstract                 = "Site Map",
                Content                  = StarterKitHelper.GetEzCMSResource("SiteMap.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "Site-Map",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = false,
                DisableNavigationCascade = true,
                RecordOrder              = 5
            };
            starterKitService.InsertPage(siteMap);

            //Search page
            var pageSearch = new Page
            {
                Title                    = "Search",
                Abstract                 = "Search",
                Content                  = StarterKitHelper.GetEzCMSResource("Search.cshtml", GetTemplateFolder(), ResourceTypeEnums.Pages),
                FriendlyUrl              = "Search",
                PageTemplateId           = master.Id,
                IsHomePage               = false,
                Status                   = PageEnums.PageStatus.Online,
                IncludeInSiteNavigation  = false,
                DisableNavigationCascade = true,
                RecordOrder              = 6
            };
            starterKitService.InsertPage(pageSearch);

            #endregion

            #endregion

            #region Styles

            //Add style
            var templateStyle = new Style
            {
                Name              = "template",
                Content           = StarterKitHelper.GetEzCMSResource("template.css", GetTemplateFolder(), ResourceTypeEnums.Styles),
                IncludeIntoEditor = true
            };
            starterKitService.InsertStyle(templateStyle);

            //Add protected document css
            var protectedDocumentStyle = new Style
            {
                Name    = "protected-document",
                Content = StarterKitHelper.GetEzCMSResource("protected-document.css", GetTemplateFolder(), ResourceTypeEnums.Styles)
            };
            starterKitService.InsertStyle(protectedDocumentStyle);

            //Add bootstrap css
            var bootstrapStyle = new Style
            {
                Name              = "bootstrap",
                Content           = string.Empty,
                CdnUrl            = "/Content/Plugins/Bootstrap/bootstrap.min.css",
                IncludeIntoEditor = true
            };
            starterKitService.InsertStyle(bootstrapStyle);

            #endregion

            #region Scripts

            var contactMe = new Script
            {
                Name    = "contact-me",
                Content = StarterKitHelper.GetEzCMSResource("contact_me.js", GetTemplateFolder(), ResourceTypeEnums.Scripts)
            };
            starterKitService.InsertScript(contactMe);

            var main = new Script
            {
                Name    = "main",
                Content = StarterKitHelper.GetEzCMSResource("main.js", GetTemplateFolder(), ResourceTypeEnums.Scripts)
            };
            starterKitService.InsertScript(main);


            var validation = new Script
            {
                Name    = "jqBootstrapValidation",
                Content = StarterKitHelper.GetEzCMSResource("jqBootstrapValidation.js", GetTemplateFolder(), ResourceTypeEnums.Scripts)
            };
            starterKitService.InsertScript(validation);

            #endregion

            #region Widget Templates

            string dataType          = typeof(List <ITree <NavigationNodeModel> >).AssemblyQualifiedName;
            string navigationContent = StarterKitHelper.GetEzCMSResource("Navigations.Navigations.cshtml", GetTemplateFolder(), ResourceTypeEnums.WidgetTemplates);
            string navigationScript  = StarterKitHelper.GetEzCMSResource("Navigations.Navigations.Script.cshtml",
                                                                         GetTemplateFolder(), ResourceTypeEnums.WidgetTemplates);
            var navigations = new WidgetTemplate
            {
                Name        = "Navigations",
                DataType    = dataType,
                Widget      = "Navigations",
                Content     = navigationContent,
                Script      = navigationScript,
                FullContent = WidgetHelper.GetFullTemplate(navigationContent, string.Empty, navigationScript, dataType, string.Empty)
            };
            starterKitService.InsertWidgetTemplate(navigations);

            #endregion
        }
Ejemplo n.º 20
0
 /// <summary>
 /// Insert widget template
 /// </summary>
 /// <param name="template"></param>
 /// <returns></returns>
 public ResponseModel InsertWidgetTemplate(WidgetTemplate template)
 {
     return(_widgetTemplateRepository.Insert(template));
 }
Ejemplo n.º 21
0
 public WidgetTemplateRenderModel(WidgetTemplate widgetTemplate)
 {
     Id      = widgetTemplate.Id;
     Name    = widgetTemplate.Name;
     Content = widgetTemplate.FullContent;
 }