private ReportAnalysis Read(ISymbolReader reader, ICoverageModule module) { var lines = new List<BlockLineRange>(); var result = new ReportAnalysis(); //These are unused uint id; string name; string uName; string cName; string aName; byte[] coverageBuffer = module.GetCoverageBuffer(null); while (reader.GetNextMethod(out id, out name, out uName, out cName, out aName, lines)) { var stats = CoverageInfo.GetMethodStatistics(coverageBuffer, lines); result.LinesCovered += stats.LinesCovered; result.LinesPartiallyCovered += stats.LinesPartiallyCovered; result.LinesNotCovered += stats.LinesNotCovered; lines.Clear(); } return result; }
private async Task <ReportQuality> ConvertAnalisysToReportAnalisys(List <ProductionOrderQuality> productionQualityList) { ReportQuality report = new ReportQuality(); report.Report = new List <ReportAnalysis>(); foreach (var productionOrderQuality in productionQualityList) { foreach (var analisys in productionOrderQuality.Analysis) { foreach (var comp in analisys.comp) { try{ ReportAnalysis reportAnalisys = new ReportAnalysis(); reportAnalisys.numberAnalysis = analisys.number; reportAnalisys.date = analisys.datetime; reportAnalisys.op = productionOrderQuality.productionOrderNumber; reportAnalisys.status = analisys.status; var productionOrderGet = await ProductionOrderReport(productionOrderQuality.productionOrderId); var phase = productionOrderGet.recipe.phases.FirstOrDefault(); var productRecipe = phase.phaseProducts.Where(z => z.product.productId == comp.productId).FirstOrDefault(); reportAnalisys.productId = comp.productId; reportAnalisys.recipeMin = productRecipe.minValue; reportAnalisys.recipeMax = productRecipe.maxValue; reportAnalisys.productName = productRecipe.product.productName; reportAnalisys.resultAnalysis = comp.value; var correction = analisys.messages.Where(x => x.key == reportAnalisys.productName).FirstOrDefault(); if (correction == null) { reportAnalisys.correction = "0"; } else { reportAnalisys.correction = correction.value; } reportAnalisys.userName = analisys.userName; report.Report.Add(reportAnalisys); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } } } return(report); }
/***********************************************************************************************************************************************/ /*******************Extract students from pdf*****************************************************/ public ProjectVM GetStuFromPDF(int?id) { ReportAnalysis report = new ReportAnalysis(); ProjectVM obj = new ProjectVM(); var FileById = (from FC in db.SeniorProjects where FC.SPtId == id select FC.SPReport).ToList().FirstOrDefault(); byte[] fileBytes = FileById; report.Analysis(fileBytes, obj); return(obj); }
ReportAnalysis IReportAnalyzer.Analyze(string reportPath) { var result = new ReportAnalysis(); using (var coverage = CoverageInfo.CreateFromFile(reportPath)) { foreach (var module in coverage.Modules) { using (var reader = module.Symbols.CreateReader()) { var moduleReport = Read(reader, module); result.LinesCovered += moduleReport.LinesCovered; result.LinesNotCovered += moduleReport.LinesNotCovered; result.LinesPartiallyCovered += moduleReport.LinesPartiallyCovered; } } } result.Lines = result.LinesCovered + result.LinesNotCovered + result.LinesPartiallyCovered; var calcPercent = (double)(result.LinesNotCovered + result.LinesPartiallyCovered) / (double)result.Lines; result.PercentageCovered = (uint)Math.Truncate(100 - (calcPercent * 100)); return result; }