public string BuildReport(Statistic statistic, DateTime @from, DateTime to) { var result = new StringBuilder($"From: {FomratDate(from)} To: {FomratDate(to)}{Environment.NewLine}"); result.Append(reportBuilder.BuildReport(statistic)); return(result.ToString()); }
public string Merge(Command.Infrastructure.Models.Command command) { var authors = command.Args.Split(' '); var statistic = storage.Get(); if (CheckAuthors(authors, statistic) != null) { return(CheckAuthors(authors, statistic)); } var mergeModel = ParseMergeModel(authors, statistic); if (mergeModel.ErrorMessage != null) { return(mergeModel.ErrorMessage); } var commits = statistic.Commits .Select(commit => mergeModel.Duplicates.Contains(commit.Author.Id) ? new Commit(commit.Name, mergeModel.MainAuthor, commit.Insertions, commit.Deletions, commit.Date) : commit).ToList(); var newStatistic = new StatisticCalculationHelper(commits).Calculte(); storage.Save(newStatistic); return(ReportBuilder.BuildReport(newStatistic)); }
public string Execute(_Command command) { var statistic = GetStatistic(command); statisticStorage.Save(statistic); return(reportBuilder.BuildReport(statistic)); }
string Run() { var model = new Example { Name = "Alex", Email = "*****@*****.**", Values = new Dictionary <object, object> { { "Compiled", "No" }, { "Worked", "Yes" } }, Image = GetTestImage() }; return(builder.BuildReport(model)); }
public string GetStatisticBetween(Command.Infrastructure.Models.Command command) { var commits = command.Args.Split(' '); var statistic = statisticStorage.Get(); if (Check(commits, statistic) != null) { return(Check(commits, statistic)); } var searchResult = FindCommits(commits, statistic); if (searchResult.ErrorMessage != null) { return(searchResult.ErrorMessage); } var recalculatedStatistic = RecalculateStatistic(searchResult.Commtis); return(reportBuilder.BuildReport(recalculatedStatistic)); }
public async Task <ActionResult> GetAsync(int reportSettingID = 1) { try { IEnumerable <ConstructionObject> constructionObjects; IEnumerable <DataVersion> dataVersions; using (var client = new HttpClient()) { HttpResponseMessage response; string requestResult = string.Empty; bool IsNeedtest = false; if (IsNeedtest) { // Этот метод делает все воможные запросы к сервису DirectoryService (чисто в рамках демонстрации) await Utils.TestDirectoryServiceApiAsync(urlSettings); } // Запрашиваем весь справочник "Объекты Строительства" response = await client.GetAsync($"{urlSettings.ConstructionObjectUrl}GetAllDirectory"); constructionObjects = await response.Content.ReadAsAsync <IEnumerable <ConstructionObject> >(); // Запрашиваем весь справочник "Версии данных" response = await client.GetAsync($"{urlSettings.DataVersionUrl}GetAllDirectory"); dataVersions = await response.Content.ReadAsAsync <IEnumerable <DataVersion> >(); } // Берём из настроек конфигурацию отчёта ReportSetting reportSetting = new ReportSetting(); try { var reportSettingCol = reportSettings.Where(set => set.ConfigurationID == reportSettingID); if (reportSettingCol.Any()) { reportSetting = reportSettingCol.First(); } else { // Если настойка не найдена, говорим 404. return(this.StatusCode(404)); } } catch (Exception ex) { } // Билдим отчёт. DataTable report = reportBuilder.BuildReport(reportSetting, constructionObjects, dataVersions); return(View("~/Views/ReportView.cshtml", report)); } catch (Exception ex) { // Что-то пошло не так, return(this.StatusCode(500)); // TODO: пишем в логи ошибку } }
/// <summary> /// 產生報表 /// </summary> public void Print() { // 取得異動名冊畫面上所選擇異動名冊ID _SelectBRecID = UpdateRecordModule_SH_D.BL.Get.UpdateBatchSelectID(); // 透過異動名冊ID取得異動名冊 _SelectBRec = UpdateRecordModule_SH_D.BL.Get.StudUpdateRecBatchRecByID(_SelectBRecID); try { ReportSelector rs = new ReportSelector(_SelectBRec); IReportBuilder builder = rs.GetReport() as IReportBuilder; progressBarX1.Value = 0; pnlReport.Visible = true; builder.ProgressChanged += new ProgressChangedEventHandler(builder_ProgressChanged); builder.Completed += new RunWorkerCompletedEventHandler(builder_Completed); path = Path.Combine(Application.StartupPath, "Reports"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, _SelectBRec.UpdateType + ".xls"); if (File.Exists(path)) { int i = 1; while (true) { string newPath = Path.GetDirectoryName(path) + "\\" + Path.GetFileNameWithoutExtension(path) + (i++) + Path.GetExtension(path); if (!File.Exists(newPath)) { path = newPath; break; } } } try { File.Create(path).Close(); } catch { SaveFileDialog sd = new SaveFileDialog(); sd.Title = "另存新檔"; sd.FileName = Path.GetFileNameWithoutExtension(path) + ".xls"; sd.Filter = "Excel檔案 (*.xls)|*.xls|所有檔案 (*.*)|*.*"; if (sd.ShowDialog() == DialogResult.OK) { try { File.Create(sd.FileName); path = sd.FileName; } catch { FISCA.Presentation.Controls.MsgBox.Show("指定路徑無法存取。", "建立檔案失敗", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } builder.BuildReport((XmlElement)_SelectBRec.Content.FirstChild, path); // 產生異動名冊的過程,系統佔用之記憶體,回收之 GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); } catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show("產生電子報表失敗." + ex.Message); } }
public string GetMissionReport() { return(_reportBuilder.BuildReport(_rovers)); }
private void buttonX1_Click(object sender, EventArgs e) { if (provider == null) { return; } if (ReportBuilderManager.Items[provider.Type].Count == 0) { MsgBox.Show("敬請期待"); return; } progressBarX1.Value = 0; pnlReport.Visible = true; IReportBuilder builder = ReportBuilderManager.Items[provider.Type][0]; if (!registedBuilder.Contains(builder)) { builder.Completed += new RunWorkerCompletedEventHandler(builder_Completed); builder.ProgressChanged += new ProgressChangedEventHandler(builder_ProgressChanged); registedBuilder.Add(builder); } if (builder.Status == Status.Busy) { return; } path = Path.Combine(Application.StartupPath, "Reports"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, provider.Type + ".xlt"); if (File.Exists(path)) { int i = 1; while (true) { string newPath = Path.GetDirectoryName(path) + "\\" + Path.GetFileNameWithoutExtension(path) + (i++) + Path.GetExtension(path); if (!File.Exists(newPath)) { path = newPath; break; } } } try { File.Create(path).Close(); } catch { SaveFileDialog sd = new SaveFileDialog(); sd.Title = "另存新檔"; sd.FileName = Path.GetFileNameWithoutExtension(path) + ".xls"; sd.Filter = "Excel檔案 (*.xls)|*.xls|所有檔案 (*.*)|*.*"; if (sd.ShowDialog() == DialogResult.OK) { try { File.Create(sd.FileName); path = sd.FileName; } catch { MsgBox.Show("指定路徑無法存取。", "建立檔案失敗", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } builder.BuildReport(source, path); }