Пример #1
0
        public async Task StartProcessingAsync(CancellationToken cancellationToken)
        {
            // get the reporting data
            _data.ReportingData += (s, e) =>
            {
                var model = new ReportDataViewModel
                {
                    TotalNumberOfTweets                = e.TotalNumberOfTweets,
                    AverageNumberOfTweetsPerHour       = e.AverageNumberOfTweets(e.TimeCounter.TotalHours),
                    AverageNumberOfTweetsPerSecond     = e.AverageNumberOfTweets(e.TimeCounter.TotalSeconds),
                    AverageNumberOfTweetsPerMinute     = e.AverageNumberOfTweets(e.TimeCounter.TotalMinutes),
                    PercentOfTweetsThatContainEmojis   = e.PercentOfTweetsThatContainsEmojis,
                    PercentOfTweetsThatContainPhotoUrl = e.PercentOfTweetsThatContainPhotoUrl,
                    PercentOfTweetsThatContainUrl      = e.PercentOfTweetsThatContainUrl,
                    Top10EmojisInTweets                = e.EmojisInTweets,
                    Top10HashTags  = e.HashTagsInTweets,
                    Top10UrlTweets = e.UrlsInTweets,
                };
                _cache.Set("ReportData", model);// store it in cache
            };
            // start the stream
            await _data.StartStreamAsync(_configuration.GetSection("twitter-stream").Value, cancellationToken);

            _cache.Set("ReportData", "");// clear the cache
        }
Пример #2
0
        /// <summary>
        /// Create the report data.
        /// </summary>
        private void LoadReport()
        {
            var settings = GetReportSettingsFromPage();

            // Get an instance of the report builder.
            var dataContext = this.GetDataContext();

            var reportService = new ConnectionStatusChangeReportBuilder(dataContext, settings);

            var report = reportService.CreateReport();

            // Create the report data to be presented.
            _report = new ReportDataViewModel();

            _report.EndDate   = report.EndDate;
            _report.StartDate = report.StartDate;

            // Get the set of changes that represent activity during the reporting period.
            _changeEvents = new List <StatusChangeViewModel>();

            var modelsAdded = GetChangeEventViewModels(report.ChangeEvents);

            _changeEvents.AddRange(modelsAdded);

            BindReport();
        }
Пример #3
0
        protected override void LoadViewState(object savedState)
        {
            base.LoadViewState(savedState);

            _report = ViewState["Report"] as ReportDataViewModel;

            _changeEvents = ViewState["Changes"] as List <StatusChangeViewModel>;
        }
Пример #4
0
        public ActionResult Index(DateTime Date)
        {
            var data = new ReportDataViewModel {
                StudentsAttendedList = GetStudentsThatAttended(Date),
                PercentageAttended   = GetPercentOfStudentsThatAttended(Date)
            };

            return(View(data));
        }
Пример #5
0
        protected void lnkSettings_OnServerClick(object sender, EventArgs e)
        {
            _report       = null;
            _changeEvents = null;

            var settings = this.GetReportSettingsFromPage();

            var queryParams = GetUrlQueryParametersFromSettings(settings, false);

            this.NavigateToCurrentPage(queryParams);
        }
Пример #6
0
        private ActionResult Report(string report, DateTime startDate, DateTime endDate, TimePeriod granularity)
        {
            if (!_orchardServices.Authorizer.Authorize(ReportPermissions.GenerateReports, null, T("Cannot generate reports")))
            {
                return(new HttpUnauthorizedResult());
            }
            var reportService = _reports.FirstOrDefault(r => r.Name == report);

            if (reportService == null)
            {
                return(HttpNotFound(T("Report {0} not found", report).Text));
            }
            var data   = reportService.GetData(startDate, endDate, granularity);
            var series = data.Series;
            var model  = new ReportDataViewModel {
                Name                    = reportService.Name,
                Description             = reportService.Description,
                DescriptionColumnHeader = reportService.DescriptionColumnHeader,
                ValueColumnHeader       = reportService.ValueColumnHeader,
                ValueFormat             = reportService.ValueFormat,
                ChartType               = reportService.ChartType,
                DataPoints              = data.DataPoints,
                Series                  = series,
                StartDateEditor         = new DateTimeEditor {
                    Date     = _dateServices.ConvertToLocalizedDateString(startDate.ToUniversalTime()),
                    ShowDate = true,
                    ShowTime = false
                },
                EndDateEditor = new DateTimeEditor {
                    Date     = _dateServices.ConvertToLocalizedDateString(endDate.ToUniversalTime()),
                    ShowDate = true,
                    ShowTime = false
                },
                Granularity      = granularity,
                CurrencyProvider = _currencyProvider
            };

            return(View("Detail", model));
        }
    public List <ReportDataViewModel> GetMonthyReportData(string siteID, DateTime startDate, DateTime endDate)
    {
        List <ReportDataViewModel> listReportDataViewModel = new List <ReportDataViewModel>();
        var site = _siteBL.GetSite(siteID);
        var loggerConfiguration = site.t_Logger_Configurations;

        DateTime start;
        double   startDay  = Convert.ToDouble(site.StartDay);
        double   startHour = Convert.ToDouble(loggerConfiguration.StartHour);

        string channelForward = "";
        string channelReverse = "";

        if (loggerConfiguration.ForwardFlow != null)
        {
            channelForward = _channelConfigurationBL.GetChannelConfigurationByType(loggerConfiguration.LoggerId, "f").ChannelId;
            //string channelForward = loggerConfiguration.LoggerId + "_" + string.Format("{0:00}", loggerConfiguration.ForwardFlow);
        }
        if (loggerConfiguration.ReverseFlow != null)
        {
            channelReverse = _channelConfigurationBL.GetChannelConfigurationByType(loggerConfiguration.LoggerId, "r").ChannelId;
            //string channelReverse = loggerConfiguration.LoggerId + "_" + string.Format("{0:00}", loggerConfiguration.ReverseFlow);
        }

        var listMonthlyComplexDataViewModel = _complexDataHelper.GetMonthlyComplexData(loggerConfiguration.LoggerId, startDate, endDate);

        int interval = 0;//sec

        if (listMonthlyComplexDataViewModel.Count != 0)
        {
            interval = listMonthlyComplexDataViewModel[0].TimeStamp.Second;
        }

        startDate = startDate.AddDays(startDay - 1).AddHours(startHour);
        int totalMonth = (endDate.Year - startDate.Year) * 12 + (endDate.Month - startDate.Month) + 1;

        for (int i = 0; i < totalMonth; i++)
        {
            start = startDate.AddMonths(i);
            ReportDataViewModel data = new ReportDataViewModel();
            data.StartDate     = start;
            data.EndDate       = start.AddMonths(1);
            data.SiteID        = site.SiteId;
            data.SiteAliasName = site.SiteAliasName;
            data.Location      = site.Location;

            var startRecord = _rawIndexBL.GetRawIndex(site.SiteId, data.StartDate);

            if (startRecord != null)
            {
                data.StartIndex = startRecord.Index;
            }

            var endRecord = _rawIndexBL.GetRawIndex(siteID, data.EndDate);

            if (endRecord != null)
            {
                data.EndIndex = endRecord.Index;
            }
            if (startRecord != null && endRecord != null)
            {
                data.Output = data.EndIndex - data.StartIndex;
            }
            listReportDataViewModel.Add(data);
        }
        double startForwardIndex = 0;
        double startReveseIndex  = 0;
        double endForwardIndex   = 0;
        double endReveseIndex    = 0;

        t_Logger_Data startLoggerForwardIndex = null;
        t_Logger_Data startLoggerReveseIndex  = null;
        t_Logger_Data endLoggerForwardIndex   = null;
        t_Logger_Data endLoggerReveseIndex    = null;

        for (int i = 0; i < listReportDataViewModel.Count; i++)
        {
            if (listReportDataViewModel[i].Output == null)
            {
                var complexData = listMonthlyComplexDataViewModel.Where(d => d.SiteID == listReportDataViewModel[i].SiteID && d.TimeStamp == listReportDataViewModel[i].StartDate.AddHours(1)).SingleOrDefault();
                if (complexData == null)//Inventia
                {
                    complexData = listMonthlyComplexDataViewModel.Where(d => d.SiteID == listReportDataViewModel[i].SiteID && d.TimeStamp == listReportDataViewModel[i].StartDate.AddHours(1).AddSeconds(1)).SingleOrDefault();
                }
                if (complexData != null)
                {
                    listReportDataViewModel[i].Output = complexData.Output;
                    if (loggerConfiguration.ForwardFlow != null)
                    {
                        startLoggerForwardIndex = _loggerDataBL.GetLoggerIndex(channelForward, listReportDataViewModel[i].StartDate);
                        if (startLoggerForwardIndex == null)
                        {
                            startLoggerForwardIndex = _loggerDataBL.GetLoggerIndex(channelForward, listReportDataViewModel[i].StartDate.AddSeconds(1));
                        }
                        endLoggerForwardIndex = _loggerDataBL.GetLoggerIndex(channelForward, listReportDataViewModel[i].EndDate);
                        if (endLoggerForwardIndex == null)
                        {
                            endLoggerForwardIndex = _loggerDataBL.GetLoggerIndex(channelForward, listReportDataViewModel[i].EndDate.AddSeconds(1));
                        }
                    }
                    if (loggerConfiguration.ReverseFlow != null)
                    {
                        startLoggerReveseIndex = _loggerDataBL.GetLoggerIndex(channelReverse, listReportDataViewModel[i].StartDate);
                        if (startLoggerReveseIndex == null)
                        {
                            startLoggerReveseIndex = _loggerDataBL.GetLoggerIndex(channelReverse, listReportDataViewModel[i].StartDate.AddSeconds(1));
                        }
                        endLoggerReveseIndex = _loggerDataBL.GetLoggerIndex(channelReverse, listReportDataViewModel[i].EndDate);
                        if (endLoggerReveseIndex == null)
                        {
                            endLoggerReveseIndex = _loggerDataBL.GetLoggerIndex(channelReverse, listReportDataViewModel[i].EndDate.AddSeconds(1));
                        }
                    }

                    startForwardIndex = 0;
                    startReveseIndex  = 0;
                    endForwardIndex   = 0;
                    endReveseIndex    = 0;

                    if (startLoggerForwardIndex != null)
                    {
                        startForwardIndex = startLoggerForwardIndex.Value ?? 0;
                    }
                    if (startLoggerReveseIndex != null)
                    {
                        startReveseIndex = startLoggerReveseIndex.Value ?? 0;
                    }
                    if (endLoggerForwardIndex != null)
                    {
                        endForwardIndex = endLoggerForwardIndex.Value ?? 0;
                    }
                    if (endLoggerReveseIndex != null)
                    {
                        endReveseIndex = endLoggerReveseIndex.Value ?? 0;
                    }
                    listReportDataViewModel[i].StartIndex = startForwardIndex - startReveseIndex;
                    listReportDataViewModel[i].EndIndex   = endForwardIndex - endReveseIndex;
                }
            }
        }
        return(listReportDataViewModel);
    }
Пример #8
0
        public MainWindow()
        {
            InitializeComponent();

            DataContext = new ReportDataViewModel();
        }