Пример #1
0
        public void ProduceReport(IReadOnlyList <Word> Words, ReportConfig Config)
        {
            if (Words == null || Words.Count == 0)
            {
                logger.LogInfo("Empty list of words provided in input. No report is generated.");
                return;
            }

            logger.LogInfo($"Start creating report for {Words.Count} words.");

            // sort the words
            IReadOnlyList <Word> sortedWords = wordSorter.Sort(Words);

            // create the report
            StringBuilder sbReport = new StringBuilder();

            reportWriter.Write(Config.ReportTitle);
            foreach (Word word in sortedWords)
            {
                sbReport.AppendLine(word.Counter + Config.Separator + word.Name);
            }

            // store
            reportWriter.Write(sbReport.ToString());

            logger.LogInfo("Finished creating report");
        }
Пример #2
0
        public void PrintReports(IReportWriter reportSource)
        {
            LogToConsole("");
            LogToConsole("---Printing Report (abnormal values)---");

            foreach (var lpFile in lpFiles)
            {
                double lowerBoundary = lpFile.Median * .8;
                double upperBoundary = lpFile.Median * 1.2;

                int count = lpFile.LPDataList.Where(x => x.DataVal <lowerBoundary || x.DataVal> upperBoundary).Count();
                foreach (var lpData in lpFile.LPDataList)
                {
                    if (lpData.DataVal < lowerBoundary || lpData.DataVal > upperBoundary)
                    {
                        reportSource.Write(string.Format("{0} {1} {2} {3}", lpFile.FileName, lpData.DateTime, lpData.DataVal, lpFile.Median));
                    }
                }
            }

            foreach (var touFile in touFiles)
            {
                double lowerBoundary = touFile.Median * .8;
                double upperBoundary = touFile.Median * 1.2;

                int count = touFile.TOUDataList.Where(x => x.Energy <lowerBoundary || x.Energy> upperBoundary).Count();
                foreach (var touData in touFile.TOUDataList)
                {
                    if (touData.Energy < lowerBoundary || touData.Energy > upperBoundary)
                    {
                        reportSource.Write(string.Format("{0} {1} {2} {3}", touFile.FileName, touData.DateTime, touData.Energy, touFile.Median));
                    }
                }
            }
        }
Пример #3
0
        public void Create(int quantity, decimal feeMultiplier)
        {
            var generator = new ReportChunkGenerator();

            foreach (var item in itemRetriever.GetUnreportedItems(quantity))
            {
                generator.Add(item.Id, item.Name, item.Type, item.Amount);
            }
            reportWriter.Write(userContext.GetUsername(), generator.Generate(feeMultiplier));
        }
        private bool ReadAndWriteAnalyzerReport(IReader reportReader)
        {
            bool successStatus = false;

            _analyzersData = _analyzersDataList.Find(x => x.Name.Contains(reportReader.Name));
            if (_analyzersData != null)
            {
                var dataModelsList = reportReader.Read(_analyzersData.OutputFilePath);
                successStatus = _writer.Write(dataModelsList);
            }
            return(successStatus);
        }
Пример #5
0
 public void WriteReport()
 {
     _reportWriter.Write();
 }