protected override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { TableDefinition resultTable = null; if (null != reportData && null != reportData.CurrentSnapshot) { double?automatedFPoints = MeasureUtility.GetAutomatedIFPUGFunction(reportData.CurrentSnapshot); double?decisionPoints = MeasureUtility.GetDecisionPointsNumber(reportData.CurrentSnapshot); double?backFiredFPoints = MeasureUtility.GetBackfiredIFPUGFunction(reportData.CurrentSnapshot); const string metricFormat = "N0"; var rowData = new List <string>() { Labels.Name, Labels.Total , Labels.AutomatedFP, (automatedFPoints.HasValue ? automatedFPoints.Value.ToString(metricFormat) : CastReporting.Domain.Constants.No_Data) , Labels.DecisionP, (decisionPoints.HasValue ? (decisionPoints.Value).ToString(metricFormat) : CastReporting.Domain.Constants.No_Data) , Labels.BackfiredFP, (backFiredFPoints.HasValue ? (backFiredFPoints.Value).ToString(metricFormat) :CastReporting.Domain.Constants.No_Data) }; resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = 6, NbColumns = 2, Data = rowData }; } return(resultTable); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { if (reportData?.CurrentSnapshot == null) { return(null); } double?automatedFPoints = MeasureUtility.GetAutomatedIFPUGFunction(reportData.CurrentSnapshot); double?decisionPoints = MeasureUtility.GetDecisionPointsNumber(reportData.CurrentSnapshot); double?backFiredFPoints = MeasureUtility.GetBackfiredIFPUGFunction(reportData.CurrentSnapshot); const string metricFormat = "N0"; var rowData = new List <string>() { Labels.Name, Labels.Total , Labels.AutomatedFP, automatedFPoints?.ToString(metricFormat) ?? Domain.Constants.No_Value , Labels.DecisionP, decisionPoints?.ToString(metricFormat) ?? Domain.Constants.No_Value , Labels.BackfiredFP, backFiredFPoints?.ToString(metricFormat) ?? Domain.Constants.No_Value }; var resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = 4, NbColumns = 2, Data = rowData }; return(resultTable); }
public override string Content(ReportData reportData, Dictionary <string, string> options) { if (reportData?.CurrentSnapshot == null) { return(Domain.Constants.No_Value); } double?result = MeasureUtility.GetAutomatedIFPUGFunction(reportData.CurrentSnapshot); return(result?.ToString("N0") ?? Domain.Constants.No_Value); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { int count = 0; List <string> rowData = new List <string>(); rowData.AddRange(new[] { Labels.TQI, Labels.ViolationsCritical + "/" + Labels.kLoC, Labels.AutomatedFP, Labels.Application }); #region Fetch SnapshotsPF if (reportData?.Applications != null && reportData.Snapshots != null) { Application[] _allApps = reportData.Applications; foreach (Application _app in _allApps) { Snapshot _snapshot = _app.Snapshots.OrderByDescending(_ => _.Annotation.Date.DateSnapShot).First(); BusinessCriteriaDTO currSnapshotBisCriDTO = BusinessCriteriaUtility.GetBusinessCriteriaGradesSnapshot(_snapshot, false); double?strCurrentTQI = currSnapshotBisCriDTO.TQI ?? 0; double?_numCritPerKloc = MeasureUtility.GetSizingMeasure(_snapshot, Constants.SizingInformations.ViolationsToCriticalQualityRulesPerKLOCNumber); double?result = MeasureUtility.GetAutomatedIFPUGFunction(_snapshot); rowData.Add(strCurrentTQI.GetValueOrDefault().ToString("N2")); rowData.Add(_numCritPerKloc.GetValueOrDefault().ToString("N2")); rowData.Add(result.GetValueOrDefault().ToString(CultureInfo.CurrentCulture)); rowData.Add(_app.Name); count++; } if (reportData.Applications.Length == 1) { rowData.AddRange(new[] { "0", "0", "0", "" }); count++; } } #endregion Fetch SnapshotsPF TableDefinition resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = count + 1, NbColumns = 4, Data = rowData }; return(resultTable); }
public override string Content(ReportData reportData, Dictionary <string, string> options) { if (reportData?.Applications == null) { return(Constants.No_Value); } Application[] _allApps = reportData.Applications; double? _allTechDebt = 0; double? _afpAll = 0; foreach (Application _app in _allApps) { try { Snapshot _snapshot = _app.Snapshots.OrderByDescending(_ => _.Annotation.Date.DateSnapShot).First(); if (_snapshot == null) { continue; } double?result = MeasureUtility.GetTechnicalDebtMetric(_snapshot); if (result != null) { _allTechDebt = _allTechDebt + result; } double?_resultAfp = MeasureUtility.GetAutomatedIFPUGFunction(_snapshot); if (_resultAfp != null) { _afpAll = _afpAll + _resultAfp; } } catch (Exception ex) { LogHelper.Instance.LogInfo(ex.Message); LogHelper.Instance.LogInfo(Labels.NoSnapshot); } } if (!(_allTechDebt > 0) || !(_afpAll > 0)) { return(Labels.NoData); } double?_finalValue = _allTechDebt / _afpAll; return($"{_finalValue.Value:N0} {reportData.CurrencySymbol}"); }
public override TableDefinition Content(ReportData reportData, Dictionary <string, string> options) { TableDefinition resultTable = null; if (reportData?.CurrentSnapshot == null) { return(resultTable); } #region Declarations double?automatedFPoints = MeasureUtility.GetAutomatedIFPUGFunction(reportData.CurrentSnapshot); double?decisionPoints = MeasureUtility.GetDecisionPointsNumber(reportData.CurrentSnapshot); double?backFiredFPoints = MeasureUtility.GetBackfiredIFPUGFunction(reportData.CurrentSnapshot); double?automatedFPointsPrev = MeasureUtility.GetAutomatedIFPUGFunction(reportData.PreviousSnapshot); double?decisionPointsPrev = MeasureUtility.GetDecisionPointsNumber(reportData.PreviousSnapshot); double?backFiredFPointsPrev = MeasureUtility.GetBackfiredIFPUGFunction(reportData.PreviousSnapshot); double?automatedFPointsEvol = MathUtility.GetEvolution(automatedFPoints, automatedFPointsPrev); double?decisionPointsEvol = MathUtility.GetEvolution(decisionPoints, decisionPointsPrev); double?backFiredFPointsEvol = MathUtility.GetEvolution(backFiredFPoints, backFiredFPointsPrev); double?automatedFPointsPercent = MathUtility.GetPercent(automatedFPointsEvol, automatedFPointsPrev); double?decisionPointsPercent = MathUtility.GetPercent(decisionPointsEvol, decisionPointsPrev); double?backFiredFPointsPercent = MathUtility.GetPercent(backFiredFPointsEvol, backFiredFPointsPrev); bool hasPrevious = (reportData.PreviousSnapshot != null); #endregion const string noData = Constants.No_Value; const string metricFormat = "N0"; var rowData = new List <string> { Labels.Name, Labels.Current, Labels.Previous, Labels.Evolution, Labels.EvolutionPercent , Labels.AutomatedFP , automatedFPoints?.ToString(metricFormat) ?? noData , (hasPrevious && automatedFPointsPrev.HasValue)? automatedFPointsPrev.Value.ToString(metricFormat) : noData , (hasPrevious && automatedFPointsEvol.HasValue)? FormatEvolution((int)automatedFPointsEvol.Value) : noData , (automatedFPointsPercent.HasValue)? FormatPercent(automatedFPointsPercent.Value): noData , Labels.DecisionP , decisionPoints?.ToString(metricFormat) ?? noData , (hasPrevious && decisionPointsPrev.HasValue)? decisionPointsPrev.Value.ToString(metricFormat) : noData , (hasPrevious && decisionPointsEvol.HasValue)? FormatEvolution((int)decisionPointsEvol.Value) : noData , (decisionPointsPercent.HasValue)? FormatPercent(decisionPointsPercent.Value): noData , Labels.BackfiredFP , backFiredFPoints?.ToString(metricFormat) ?? noData , (hasPrevious && backFiredFPointsPrev.HasValue)? backFiredFPointsPrev.Value.ToString(metricFormat) : noData , (hasPrevious && backFiredFPointsEvol.HasValue)? FormatEvolution((int)Math.Round(backFiredFPointsEvol.Value, 0)) : noData , (backFiredFPointsPercent.HasValue)? FormatPercent(backFiredFPointsPercent.Value): noData }; resultTable = new TableDefinition { HasRowHeaders = false, HasColumnHeaders = true, NbRows = 4, NbColumns = 5, Data = rowData }; return(resultTable); }