Example #1
0
 public SaveDashboardData(HomePageInfo homePageInfo, ValidStaticCommands staticCommandInfo, TriviaMessages triviaMessages, ChatNotificationInfo chatNotificationInfo)
 {
     HomePageInfo         = homePageInfo;
     StaticCommandInfo    = staticCommandInfo;
     TriviaMessages       = triviaMessages;
     ChatNotificationInfo = chatNotificationInfo;
 }
Example #2
0
        private static HomePageInfo CreateHomePageInfo(XElement element)
        {
            HomePageInfo info = new HomePageInfo();

            if (element != null)
            {
                info.Headline   = CreateHeadlineData(element);
                info.Highlights = CreateHighlightsData(element);
            }

            return(info);
        }
Example #3
0
        public static HomePageInfo GetHomePageInfo()
        {
            var          cache       = new Cache();
            HomePageInfo defaultInfo = null;

            if (cache.Get("###HOME_PAGE_INFO###") == null)
            {
                return(defaultInfo);
            }

            return(cache.Get("###HOME_PAGE_INFO###") as HomePageInfo);
        }
Example #4
0
        public HomePageInfo GetPageInfo(Filter filter)
        {
            var pageInfo = new HomePageInfo();

            using (var db = _connectionFactory.Open())
            {
                var query = db.From <System_Menu>();
                query = query.Where(x => x.ShowMenu == true && x.Area == "FE" && x.MenuLevel == 1 &&
                                    (filter.Lang != "all" || x.Lang == filter.Lang))
                        .OrderBy(x => x.MenuOrder);

                pageInfo.Menus = db.Select(query);

                var medias = db.Select <Medium>();

                pageInfo.Branches = medias.Where(x => x.MediaType == Medium.TYPE_BRANCH).Select(x => new BasicInfo {
                    Content   = x.Content,
                    ImageUrl  = x.Source,
                    Href      = x.Slug,
                    TargetUrl = x.Slug,
                    Title     = x.Content
                }).ToList();

                pageInfo.Banners = medias.Where(x => x.MediaType == Medium.TYPE_BANNER).Select(x => new BasicInfo
                {
                    Content   = x.Content,
                    ImageUrl  = x.Source,
                    Href      = x.Slug,
                    TargetUrl = x.Slug,
                    Title     = x.Content
                }).ToList();

                var logo = medias.Where(x => x.MediaType == Medium.TYPE_LOGO).Select(x => new BasicInfo
                {
                    Content   = x.Content,
                    ImageUrl  = x.Source,
                    Href      = x.Slug,
                    TargetUrl = x.Slug,
                    Title     = x.Content
                }).FirstOrDefault();

                pageInfo.Logo = logo != null ? logo.ImageUrl : HomePageInfo.LOGO_DEFAULT;

                pageInfo.Options = db.Select <System_Option>().FirstOrDefault();
            }

            return(pageInfo);
        }
Example #5
0
        public async Task Home_page_info_is_shown()
        {
            // arrange
            var expectedHomePageInfo = new HomePageInfo();

            expectedHomePageInfo.TickerMessages = new List <string> {
                "message 1", "2nd message"
            };
            await InsertTestDocument("homePageInfo", expectedHomePageInfo);

            var request = new GetHomePageInfo();

            // act
            var result = await _handler.Handle(request, CancellationToken.None);

            // assert
            Assert.That(result.TickerMessages.Count, Is.EqualTo(expectedHomePageInfo.TickerMessages.Count));
        }
Example #6
0
        /// <summary>
        /// Returns summary information used on the homepage.
        /// </summary>
        /// <returns>A HomePageInfo object with the current index counts.</returns>
        internal async Task <HomePageInfo> HomePageInfo()
        {
            HomePageInfo hpi = new HomePageInfo();

            hpi.SearchServiceName = searchServiceName;
            hpi.BiographyCount    = await biographyIndex.Documents.CountAsync();

            hpi.StoryCount = await storyIndex.Documents.CountAsync();

#if SCIENCEMAKERSONLY
            // NOTE:  This is NOT optimized for performance.
            // It uses GetBiographySearch with filter to just ScienceMakers to fill BiographyCount.
            // It uses GetStorySearch with filter to just ScienceMakers to fill StoryCount.
            // It would be nicer to have more direct access, but this "filter down to just ScienceMakers"
            // is making use of a larger corpus for convenience and simplicity of publishing
            // one large corpus with an API-defined subsetting rather than two ("all" and "ScienceMakers").

            var result = await BiographySearch("*", 1, 1, "", "", "", WebApiApplication.SCIENCEMAKER_FLAG, "", "", "", false);

            var countOfScienceMakers       = 0;
            var countOfScienceMakerStories = 0;

            if (result != null)
            {
                if (result.Count != null)
                {
                    countOfScienceMakers = Convert.ToInt32(result.Count);
                    var storyResult = await StorySearch("*", 1, 1, "", "all", 0, 0, "", "", WebApiApplication.SCIENCEMAKER_FLAG, "", "", false);

                    if (storyResult.Count != null)
                    {
                        countOfScienceMakerStories = Convert.ToInt32(storyResult.Count);
                    }
                    else
                    {
                        countOfScienceMakers = 0; // give up on errorful data (no stories, then no ScienceMakers)
                    }
                }
            }
            hpi.ScienceMakersBiographyCount = countOfScienceMakers;
            hpi.ScienceMakersStoryCount     = countOfScienceMakerStories;
#endif
            return(hpi);
        }
        public async Task Return_homePageInfo_from_database()
        {
            // arrange
            var info = new HomePageInfo();

            info.Badges = new List <SocialMediaBadge>();
            info.Badges.Add(new SocialMediaBadge {
                Icon = "foo", Text = "bar"
            });
            MockCollection.Setup(m => m.ExistsAsync(It.IsAny <string>(), null)).ReturnsAsync(new FakeExistsResult(true));
            MockCollection.Setup(m => m.GetAsync(It.IsAny <string>(), null))
            .ReturnsAsync(new FakeGetResult(info));

            // act
            var result = await _handler.Handle(new GetHomePageInfo(), CancellationToken.None);

            // assert
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(info));
        }
        public async Task SaveDashboardData_has_correct_serialized_objects_from_strings()
        {
            // arrange
            var homePageInfo = new HomePageInfo {
                Badges = new List <SocialMediaBadge> {
                    new SocialMediaBadge {
                        Icon = "tumblr", Text = "mgroves"
                    }
                }
            };
            var staticContentCommands = new ValidStaticCommands {
                Commands = new List <StaticCommandInfo> {
                    new StaticCommandInfo {
                        Command = "defend", Content = "defend the channel against invaders!"
                    }
                }
            };
            var triviaMessages = new TriviaMessages {
                Messages = new List <string> {
                    "hey what's up"
                }
            };
            var chatNotificationInfo = new ChatNotificationInfo();

            var homePageInfoJson          = JsonConvert.SerializeObject(homePageInfo);
            var chatNotificationInfoJson  = JsonConvert.SerializeObject(chatNotificationInfo);
            var staticContentCommandsJson = JsonConvert.SerializeObject(staticContentCommands);
            var triviaMessagesJson        = JsonConvert.SerializeObject(triviaMessages);

            // act
            await _controller.DashboardPost(homePageInfoJson, staticContentCommandsJson, triviaMessagesJson, chatNotificationInfoJson);

            // assert
            _mockMediator.Verify(m => m.Send(
                                     It.Is <SaveDashboardData>(x =>
                                                               x.HomePageInfo.Badges[0].Icon == homePageInfo.Badges[0].Icon
                                                               &&
                                                               x.StaticCommandInfo.Commands[0].Command == staticContentCommands.Commands[0].Command),
                                     It.IsAny <CancellationToken>()), Times.Once);
        }
Example #9
0
        public static HomePageInfo GetInfo()
        {
            AjaxService.ASPdatabaseService.GetSetVal();

            bool isAdmin = ASPdatabaseNET.Users.UserSessionLogic.GetUser().UserInfo.IsAdmin;

            var rtn = new HomePageInfo()
            {
                Version       = Config.SystemProperties.Version,
                CopyrightLine = Config.SystemProperties.CopyrightLine,
                UserIsAdmin   = isAdmin
            };

            rtn.FirstName = ASPdatabaseNET.Users.UserSessionLogic.GetUser().UserInfo.FirstName;

            string html = null;

            try
            {
                html = (string)HttpContext.Current.Session[SessionKey];
            }
            catch { }

            if (String.IsNullOrEmpty(html))
            {
                try
                {
                    var    siteId     = ASPdatabaseNET.Subscription.Objs.SiteIdObj.GetNew();
                    string appVersion = Config.SystemProperties.Version;
                    var    checkAppVersionResponse = (new ASPdatabaseNET.AjaxService.ASPdatabaseService()).SubscriptionService__CheckAppVersion(siteId, appVersion);
                    html = checkAppVersionResponse.HomeHTML;
                    HttpContext.Current.Session[SessionKey] = html;
                }
                catch { }
            }
            rtn.HomeHTML = html;

            return(rtn);
        }
Example #10
0
        public async Task Return_homePageInfo_from_database()
        {
            // arrange
            var info = new HomePageInfo();

            info.Badges = new List <SocialMediaBadge>();
            info.Badges.Add(new SocialMediaBadge {
                Icon = "foo", Text = "bar"
            });
            _mockBucket.Setup(m => m.ExistsAsync(It.IsAny <string>())).ReturnsAsync(true);
            _mockBucket.Setup(m => m.GetAsync <HomePageInfo>(It.IsAny <string>()))
            .ReturnsAsync(new FakeOperationResult <HomePageInfo> {
                Success = true, Value = info
            });

            // act
            var result = await _handler.Handle(new GetHomePageInfo(), CancellationToken.None);

            // assert
            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(info));
        }
        public async Task <HttpResponseMessage> GetHomePageInfo()
        {
            try
            {
                HomePageInfo homePageInfo = await azureSearch.HomePageInfo();

                var response = Request.CreateResponse(HttpStatusCode.OK, homePageInfo, Configuration.Formatters.JsonFormatter);
#if !NO_CACHE_FOR_TESTING_API
                response.Headers.CacheControl = new CacheControlHeaderValue()
                {
                    MaxAge = TimeSpan.FromDays(1), Public = true
                };
#endif
                return(response);
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.InternalServerError,
                    Content = new StringContent(ex.Message)
                });
            }
        }
Example #12
0
        public static void MarkHomePageInfo(HomePageInfo homePageInfo)
        {
            var cache = new Cache();

            cache.Insert("###HOME_PAGE_INFO###", homePageInfo);
        }
Example #13
0
 public SaveDashboardData(HomePageInfo homePageInfo, ValidStaticCommands staticCommandInfo, TriviaMessages triviaMessages)
 {
     HomePageInfo      = homePageInfo;
     StaticCommandInfo = staticCommandInfo;
     TriviaMessages    = triviaMessages;
 }