public ExperienceData(VisitsRepository visitsRepository, PersonalInfoRepository personalInfoRepository, OnsiteBehaviorRepository onsiteBehaviorRepository, ReferralRepository referralRepository, ITrackerService trackerService) { this.Visits = visitsRepository.Get(); this.PersonalInfo = personalInfoRepository.Get(); this.OnsiteBehavior = onsiteBehaviorRepository.Get(); this.Referral = referralRepository.Get(); this.IsActive = trackerService.IsActive; }
public ExperienceData(IContactProfileProvider contactProfileProvider, IProfileProvider profileProvider) { this.contactProfileProvider = contactProfileProvider; this.profileProvider = profileProvider; Visits = new VisitsRepository(contactProfileProvider).Get(); PersonalInfo = new PersonalInfoRepository(contactProfileProvider).Get(); OnsiteBehavior = new OnsiteBehaviorRepository(profileProvider).Get(); Referral = new ReferralRepository().Get(); }
public ActionResult Index() { var repo = new VisitsRepository(Properties.Settings.Default.ConStr); repo.AddVisit(Request.UserHostAddress); var vm = new HomePageViewModel { FiveMostFrequentIPs = repo.GetFiveMostFrequentIPs(), TodayCount = repo.GetVisitCountForToday(), MostPopularIP = repo.GetMostPopularIpAddress() }; return(View(vm)); }
public RetrieveResponse <VisitsPerMonthLineChartResponse> VisitsPerMonthLineChart(IDbConnection connection) { var response = new VisitsPerMonthLineChartResponse(); var visitTypes = new VisitTypesRepository().List(connection, new ListRequest()).Entities; //if (visitTypes.Any()) // response.Labels = visitTypes.Select(vt => vt.Name).ToList(); for (int i = 0; i < 6; i++) { response.labels.Add(DateTime.Now.AddMonths(-i).ToString("MMMM")); } foreach (var visitTypesRow in visitTypes) { var dataset = new VisitsPerMonthLineChartResponse.Dataset(); dataset.label = visitTypesRow.Name; dataset.backgroundColor = visitTypesRow.BackgroundColor; dataset.borderColor = visitTypesRow.BackgroundColor; var visitReq = new ListRequest(); visitReq.ColumnSelection = ColumnSelection.KeyOnly; var visitFlds = VisitsRow.Fields; visitReq.IncludeColumns = new HashSet <string> { visitFlds.StartDate.Name, visitFlds.EndDate.Name, visitFlds.VisitTypeId.Name }; for (int i = 0; i < 6; i++) { var firstDayOfMonth = new DateTime(DateTime.Now.AddMonths(-i).Year, DateTime.Now.AddMonths(-i).Month, 1); var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); visitReq.Criteria = (new Criteria(visitFlds.StartDate.Name) >= firstDayOfMonth & new Criteria(visitFlds.EndDate.Name) <= lastDayOfMonth & new Criteria(visitFlds.VisitTypeId.Name) == visitTypesRow.VisitTypeId.Value); var visits = new VisitsRepository().List(connection, visitReq); dataset.data.Add(visits.TotalCount); } response.datasets.Add(dataset); } return(new RetrieveResponse <VisitsPerMonthLineChartResponse> { Entity = response }); }
public IActionResult Index() { var repo = new VisitsRepository(_connectionString); var ip = Request.HttpContext.Connection.RemoteIpAddress.ToString(); if (ip == "::1") { ip = "127.0.0.1"; } repo.AddVisit(ip); var vm = new HomePageViewModel { FiveMostFrequentIPs = repo.GetFiveMostFrequentIPs(), TodayCount = repo.GetVisitCountForToday(), MostPopularIP = repo.GetMostPopularIpAddress() }; return(View(vm)); }
public void Get_PageViews_ReturnReversedPages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, [Frozen] IPageViewRepository viewRepository, VisitsRepository visitsRepository) { //Arrange this.InitTracker(tracker); var pages = new List <ICurrentPageContext> { this.GeneratePage(path: "0"), this.GeneratePage(path: "1"), this.GeneratePage(path: "2") }; tracker.Interaction.GetPages().Returns(pages); contactProfileProvider.Contact.Returns(x => tracker.Contact); viewRepository.Get(Arg.Any <ICurrentPageContext>()).Returns(x => new PageView() { Path = x.Arg <ICurrentPageContext>().Url.Path }); using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.PageViews.Select(x => x.Path).Should().BeEquivalentTo("2", "1", "0"); } }
public void Get_PageViews_DoNotReturnCancelledPages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository) { //Arrange this.InitTracker(tracker); var pages = new List <ICurrentPageContext> { this.GeneratePage(false), this.GeneratePage(true), this.GeneratePage(false) }; tracker.Interaction.GetPages().Returns(pages); contactProfileProvider.Contact.Returns(x => tracker.Contact); ; using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.PageViews.Should().HaveCount(2); visits.TotalPageViews.Should().Be(2); } }
public void Get_Value_ReturnsEngagementValue(int value, ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository) { //Arrange this.InitTracker(tracker); contactProfileProvider.Contact.Returns(x => tracker.Contact); tracker.Contact.System.Value.Returns(value); using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.EngagementValue.Should().Be(value); } }
public void Get_SeveralVisits_ReturnsTotalVisitsCount(int visitCount, ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository) { //Arrange this.InitTracker(tracker); contactProfileProvider.Contact.Returns(x => tracker.Contact); tracker.Contact.System.VisitCount.Returns(visitCount); using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.TotalVisits.Should().Be(visitCount); } }
public void Get_PageViews_ReturnOnly10Pages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository) { //Arrange this.InitTracker(tracker); var pages = Enumerable.Repeat(this.GeneratePage(), 15); tracker.Interaction.GetPages().Returns(pages); contactProfileProvider.Contact.Returns(x => tracker.Contact); ; using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.PageViews.Should().HaveCount(10); visits.TotalPageViews.Should().Be(15); } }
public VisitsService() { _repo = new VisitsRepository(); }