示例#1
0
        private async Task MakeAReportExecute()
        {
            ReportSettings repSettings = new ReportSettings();

            repSettings.TerminalId    = SelectedTerminal;
            repSettings.StartDateTime = From;
            repSettings.EndDateTime   = To;
            foreach (var propertySetting in EnabledReportProperties)
            {
                if (propertySetting.Enabled)
                {
                    repSettings.Properties.Add(propertySetting.ReportProperty);
                }
            }

            Window wnd = new Window();

            wnd.WindowStyle = WindowStyle.ToolWindow;
            wnd.Content     = new BusyIndicator()
            {
                IsBusy = true
            };
            wnd.SizeToContent = SizeToContent.WidthAndHeight;
            wnd.Show();

            IsWaiting = true;
            var res = ReportDto.Unwrap(await _reportsService.BuildReport(ReportSettingsDto.Wrap(repSettings)));

            IsWaiting = false;

            ReportView z = new ReportView();

            z.DataContext = new ReportViewModel(res);
            wnd.Content   = z;
        }
        public void SaveReportSettings(ReportSettingsDto reportSettings)
        {
            var fullPath = reportSettings.Save(_locationsProvider.SrcFolderPath, Paths.Files.ReportSettings);

            _logger.Info($"Report settings were saved: '{fullPath}'");
            _logger.Debug($"Report settings were saved correctly: {JsonConvert.SerializeObject(reportSettings, Formatting.Indented)}");
        }
        public void SaveReportSettings(ReportSettingsDto reportSettingsDto)
        {
            var reportSettings = reportSettingsDto.Map();
            var fullPath       = reportSettings.Save(_locationsProvider.SrcFolderPath, Paths.Files.ReportSettings);

            _logger.Info($"Report settings were saved: '{fullPath}'");
        }
示例#4
0
        public static DatabaseEntity <ReportSettings> Map(this ReportSettingsDto runDto)
        {
            var run    = new ReportSettings(runDto.RunsToDisplay, runDto.TestsToDisplay);
            var entity = new DatabaseEntity <ReportSettings>
            {
                Data = run,
                Id   = "ghpr_report_settings",
                Type = EntityType.ReportSettingsType
            };

            return(entity);
        }
示例#5
0
 /// <inheritdoc />
 public Task <ReportDto> BuildReport(ReportSettingsDto settings)
 {
     try
     {
         return(((ReportServiceProxy)_proxy).BuildReport(settings));
     }
     catch (Exception)
     {
         OnFault();
         return(null);
     }
 }
示例#6
0
        public static ReportSettingsDto ExtractReportSettingsDto(this ProjectSettings projectSettings)
        {
            var dto = new ReportSettingsDto
            {
                RunsToDisplay    = projectSettings.RunsToDisplay,
                TestsToDisplay   = projectSettings.TestsToDisplay,
                ReportName       = projectSettings.ReportName,
                ProjectName      = projectSettings.ProjectName,
                EscapeTestOutput = projectSettings.EscapeTestOutput
            };

            return(dto);
        }
示例#7
0
        public void TestDtoToBo()
        {
            ReportSettingsDto dto = new ReportSettingsDto();

            dto.TerminalId    = "test";
            dto.StartDateTime = new DateTime(1990, 1, 2, 3, 4, 5);
            dto.EndDateTime   = new DateTime(1990, 5, 4, 3, 2, 1);
            dto.Properties.Add(DynamicPropertyManagers.Reports.AvgSpeed.Name);
            dto.Properties.Add(DynamicPropertyManagers.Reports.MaxSpeed.Name);

            var bo = ReportSettingsDto.Unwrap(dto);

            Assert.AreEqual(dto.TerminalId, bo.TerminalId);
            Assert.AreEqual(dto.StartDateTime, bo.StartDateTime);
            Assert.AreEqual(dto.EndDateTime, bo.EndDateTime);
            Assert.IsTrue(dto.Properties.Contains(DynamicPropertyManagers.Reports.AvgSpeed.Name));
            Assert.IsTrue(dto.Properties.Contains(DynamicPropertyManagers.Reports.MaxSpeed.Name));
        }
示例#8
0
        public void TestBoToDto()
        {
            ReportSettings bo = new ReportSettings();

            bo.TerminalId    = "test";
            bo.StartDateTime = new DateTime(1990, 1, 2);
            bo.EndDateTime   = new DateTime(1991, 1, 2, 3, 4, 5);
            bo.Properties.Add(DynamicPropertyManagers.Reports.AvgSpeed);
            bo.Properties.Add(DynamicPropertyManagers.Reports.MaxSpeed);

            var dto = ReportSettingsDto.Wrap(bo);

            Assert.AreEqual(bo.TerminalId, dto.TerminalId);
            Assert.AreEqual(bo.StartDateTime, dto.StartDateTime);
            Assert.AreEqual(bo.EndDateTime, dto.EndDateTime);
            Assert.IsTrue(dto.Properties.Contains(DynamicPropertyManagers.Reports.AvgSpeed.Name));
            Assert.IsTrue(dto.Properties.Contains(DynamicPropertyManagers.Reports.MaxSpeed.Name));
        }
 public void SaveReportSettings(ReportSettingsDto reportSettings)
 {
 }
示例#10
0
        public static ReportSettings Map(this ReportSettingsDto runDto)
        {
            var run = new ReportSettings(runDto.RunsToDisplay, runDto.TestsToDisplay);

            return(run);
        }
示例#11
0
 /// <inheritdoc />
 public Task <ReportDto> BuildReport(ReportSettingsDto settings)
 {
     return(Channel.BuildReport(settings));
 }
示例#12
0
 public void SaveReportSettings(ReportSettingsDto reportSettings)
 {
     _dataWriterService.SaveReportSettings(reportSettings);
     _cache.SaveReportSettings(reportSettings);
 }
示例#13
0
        public void SaveReportSettings(ReportSettingsDto reportSettingsDto)
        {
            var reportSettings = reportSettingsDto.Map();

            reportSettings.Save(_locationsProvider);
        }
        public static ReportSettings Map(this ReportSettingsDto rsDto)
        {
            var rs = new ReportSettings(rsDto.RunsToDisplay, rsDto.TestsToDisplay, rsDto.ReportName);

            return(rs);
        }
        public static ReportSettingsDto ToDto(this ReportSettings rs)
        {
            var rsDto = new ReportSettingsDto(rs.TestsToDisplay, rs.RunsToDisplay, rs.ReportName);

            return(rsDto);
        }
        public void SaveReportSettings(ReportSettingsDto reportSettingsDto)
        {
            var reportSettingsEntity = reportSettingsDto.Map();

            Database.SaveReportSettings(reportSettingsEntity);
        }
示例#17
0
        /// <inheritdoc />
        public async Task <ReportDto> BuildReport(ReportSettingsDto settings)
        {
            var rep         = new Report();
            var repSettings = ReportSettingsDto.Unwrap(settings);

            rep.ReportSettings = repSettings;

            if (repSettings.Properties.Contains(DynamicPropertyManagers.Reports.MaxSpeed))
            {
                var maxSpeed = await _meteringRepository.GetMaxPropertyValue(
                    repSettings.TerminalId,
                    DynamicPropertyManagers.Sensors.SpeedKmh,
                    repSettings.StartDateTime,
                    repSettings.EndDateTime);

                rep.Values.SetValue(
                    DynamicPropertyManagers.Reports.MaxSpeed,
                    maxSpeed);
            }
            if (repSettings.Properties.Contains(DynamicPropertyManagers.Reports.AvgSpeed))
            {
                var avgSpeed = await _meteringRepository.GetAvgPropertyValue(
                    repSettings.TerminalId,
                    DynamicPropertyManagers.Sensors.SpeedKmh,
                    repSettings.StartDateTime,
                    repSettings.EndDateTime);

                rep.Values.SetValue(
                    DynamicPropertyManagers.Reports.AvgSpeed,
                    (float)avgSpeed);
            }
            if (repSettings.Properties.Contains(DynamicPropertyManagers.Reports.MileageKm))
            {
                var differencePropertyValue = await _meteringRepository.GetLastFirstDifferencePropertyValue(
                    repSettings.TerminalId,
                    DynamicPropertyManagers.Sensors.MileageKm,
                    repSettings.StartDateTime,
                    repSettings.EndDateTime);

                rep.Values.SetValue(
                    DynamicPropertyManagers.Reports.MileageKm,
                    (float)differencePropertyValue);
            }
            if (repSettings.Properties.Contains(DynamicPropertyManagers.Reports.EngineWorkTime))
            {
                var meterings = await _meteringRepository.GetMeterings(
                    repSettings.TerminalId,
                    repSettings.StartDateTime,
                    repSettings.EndDateTime,
                    DynamicPropertyManagers.Sensors.IsEngineRunning);

                TimeSpan engineWorkTime = new TimeSpan(0);
                for (int i = 1; i < meterings.Count; i++)
                {
                    if (
                        (bool)meterings[i - 1].SensorValues.GetValue(DynamicPropertyManagers.Sensors.IsEngineRunning) &&
                        (bool)meterings[i].SensorValues.GetValue(DynamicPropertyManagers.Sensors.IsEngineRunning))
                    {
                        engineWorkTime = engineWorkTime.Add(meterings[i].Time - meterings[i - 1].Time);
                    }
                }
                rep.Values.SetValue(
                    DynamicPropertyManagers.Reports.EngineWorkTime,
                    engineWorkTime);
            }

            return(ReportDto.Wrap(rep));
        }
示例#18
0
        public static void Main(string[] args)
        {
            var reporter = ReporterFactory.Build(new DummyTestDataProvider());

            ResourceExtractor.ExtractReportBase(reporter.ReporterSettings.OutputPath);

            reporter.Logger.Info("STARTED");

            var reportSettings = new ReportSettingsDto(5, 7, "Awesome report", "Awesome project");

            reporter.DataWriterService.SaveReportSettings(reportSettings);
            reporter.DataWriterService.SaveReportSettings(reportSettings);
            reporter.DataWriterService.SaveReportSettings(reportSettings);

            var run = new RunDto
            {
                RunInfo = new ItemInfoDto
                {
                    Start  = DateTime.Now.AddMinutes(-2),
                    Finish = DateTime.Now,
                    Guid   = Guid.NewGuid()
                },
                RunSummary = new RunSummaryDto(),
                Name       = "Awesome run",
                Sprint     = "Sprint 1",
                TestsInfo  = new List <ItemInfoDto>()
            };

            reporter.DataWriterService.SaveRun(run);
            reporter.DataWriterService.SaveRun(run);

            reporter.Logger.Info("RUN SAVED");

            var testGuid = Guid.NewGuid();
            var screen   = new TestScreenshotDto
            {
                TestScreenshotInfo = new SimpleItemInfoDto
                {
                    Date     = DateTime.Now,
                    ItemName = "Screenshot"
                },
                Base64Data = "ASDJasdkajasdfas==",
                TestGuid   = testGuid
            };
            var test     = new TestRunDto(testGuid, "Test", "Test.FullName");
            var testInfo = new ItemInfoDto
            {
                Start  = DateTime.Now.AddSeconds(-2),
                Finish = DateTime.Now.AddSeconds(2),
                Guid   = testGuid
            };

            test.TestInfo = testInfo;
            reporter.DataWriterService.SaveScreenshot(screen);
            reporter.DataWriterService.SaveTestRun(test, new TestOutputDto
            {
                TestOutputInfo = new SimpleItemInfoDto
                {
                    Date     = DateTime.Now,
                    ItemName = "Some output"
                },
                Output      = "output",
                SuiteOutput = "suite output"
            });

            reporter.Logger.Info("DONE");
            reporter.TearDown();
        }