public async Task <byte[]> GetAsync(BillingAgingListSearch option, CancellationToken token = default(CancellationToken)) { var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = option.CompanyId, }, token); var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = option.CompanyId, TableName = nameof(Billing), ColumnName = nameof(Billing.Note1), }, token); var loadTask = billingAgingListQueryProcessor.GetDetailsAsync(option, token); await Task.WhenAll(companyTask, columnTask, loadTask); var items = loadTask.Result.ToList(); if (!items.Any()) { return(null); } var company = companyTask.Result.First(); var column = columnTask.Result.First(); var title = $"請求残高年齢表(明細){ DateTime.Today:yyyyMMdd}"; var report = new BillingAgingListDetailSectionReport(); report.SetBasicPageSetting(company.Code, company.Name); report.Name = title; report.SetData(items, option.Precision, column); report.Run(); return(report.Convert()); }
public async Task <byte[]> GetAsync(ReceiptApportionForReportSource source, CancellationToken token = default(CancellationToken)) { if (!(source.Apportions?.Any() ?? false)) { return(null); } var companyId = source.CompanyId; var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = companyId }, token); var appConTask = applicationControlGetByCompanyQueryProcessor.GetAsync(companyId, token); var nameTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = companyId, TableName = nameof(Receipt), }, token); await Task.WhenAll(companyTask, appConTask, nameTask); var company = companyTask.Result.First(); var appCon = appConTask.Result; var naming = nameTask.Result.ToList(); var precision = 0; var report = new ReceiptApportionSectionReport(); report.Name = "入金データ振分リスト" + DateTime.Now.ToString("yyyyMMdd"); report.SetBasicPageSetting(company.Code, company.Name); report.SetHeaderSetting(source.Header, source.CategoryName); report.SetPageDataSetting(source.Apportions, appCon.UseReceiptSection, precision); report.Run(); return(report.Convert()); }
public async Task <byte[]> GetAsync(TransactionImportSource source, CancellationToken token = default(CancellationToken)) { var companyId = source.CompanyId; var importDataId = source.ImportDataId.Value; var objectType = source.IsValidData ? 0 : 1; var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = companyId, }, token); var appConTask = applicationControlGetByCompanyQueryProcessor.GetAsync(companyId, token); var columnNameTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = companyId, TableName = nameof(Billing), ColumnName = nameof(Billing.Note1), }, token); var itemsTask = importDataDetailQueryProcessor.GetAsync(importDataId, objectType, token); await Task.WhenAll(companyTask, appConTask, columnNameTask, itemsTask); var company = companyTask.Result.First(); var appCon = appConTask.Result; var note1 = columnNameTask.Result.FirstOrDefault()?.DisplayColumnName ?? "備考"; var details = itemsTask.Result.ToArray(); var items = details.Select(x => serializer.UnpackSingleObject(x.RecordItem)).ToList(); if (!items.Any()) { return(null); } var useForeignCurrency = appCon.UseForeignCurrency == 1; var report = new BillingImporterSectionReport(); var title = $"請求フリーインポーター 取込{(source.IsValidData ? "可能" : "不可能")}データ一覧{DateTime.Now:yyyyMMdd}"; report.SetBasicPageSetting(company.Code, company.Name); report.Name = title; report.SetData(items, title, useForeignCurrency, note1); report.Run(); return(report.Convert()); }
public async Task <byte[]> GetAsync(JournalizingOption option, CancellationToken token = default(CancellationToken)) { var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = option.CompanyId, }, token); var appConTask = applicationControlGetByCompanyQueryProcessor.GetAsync(option.CompanyId, token); var nameTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = option.CompanyId, TableName = nameof(Receipt), }, token); var loadTask = receiptJournalizingQueryProcessor.ExtractAsync(option, token); await Task.WhenAll(companyTask, appConTask, nameTask, loadTask); var company = companyTask.Result.First(); var appCon = appConTask.Result; var naming = nameTask.Result.ToList(); var items = loadTask.Result.ToList(); if (!items.Any()) { return(null); } var report = new ReceiptJournalizingSectionReport(); var reoutput = option.OutputAt?.Any() ?? false; var fileName = $"{(reoutput ? "再出力" : "")}入金仕訳{DateTime.Now:yyyyMMdd_HHmmss}"; report.SetBasicPageSetting(company.Code, company.Name); report.Name = fileName; report.SetData(items, option.Precision, appCon.UseForeignCurrency == 1, naming); report.Run(); return(report.Convert()); }
public async Task <byte[]> GetAsync(ScheduledPaymentListSearch option, CancellationToken token = default(CancellationToken)) { var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = option.CompanyId }, token); var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token); var nameTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = option.CompanyId, TableName = nameof(Billing), }, token); var loadTask = scheduledPaymentListQueryProcessor.GetAsync(option, token); var requireSettingLoad = !(option.ReportSettings?.Any() ?? false); var tasks = new List <Task>(); tasks.Add(companyTask); if (requireSettingLoad) { tasks.Add(settingTask); } tasks.Add(nameTask); tasks.Add(loadTask); await Task.WhenAll(tasks); if (requireSettingLoad) { option.ReportSettings = settingTask.Result.ToList(); } var company = companyTask.Result.First(); var naming = nameTask.Result.ToList(); var items = loadTask.Result.ToList(); if (!items.Any()) { return(null); } GrapeCity.ActiveReports.SectionReport report; if (option.CustomerSummaryFlag) { var reportTemp = new ScheduledPaymentCustomerListSectionReport(); reportTemp.SetBasicPageSetting(company.Code, company.Name); reportTemp.SetData(items, option.Precision, option.ReportSettings); report = reportTemp; } else { var reportTemp = new ScheduledPaymentListSectionReport(); reportTemp.SetBasicPageSetting(company.Code, company.Name); reportTemp.SetData(items, option.Precision, option.ReportSettings, naming); report = reportTemp; } report.Name = "入金予定明細表" + DateTime.Today.ToString("yyyyMMdd"); report.Run(); return(report.Convert()); }
public async Task <byte[]> GetAsync(ArrearagesListSearch option, CancellationToken token = default(CancellationToken)) { var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = option.CompanyId, }, token); var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = option.CompanyId, TableName = nameof(Billing), }, token); var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token); var loadTask = arrearagesListQueryProcessor.GetAsync(option, token); var ccyCode = string.IsNullOrEmpty(option.CurrencyCode) ? Constants.DefaultCurrencyCode : option.CurrencyCode; var ccyTask = currencyGetByCodeQueryProcessor.GetByCodeAsync(option.CompanyId, ccyCode); var tasks = new List <Task>() { companyTask, columnTask, loadTask, ccyTask }; var requireSetting = !(option.ReportSettings?.Any() ?? false); if (requireSetting) { tasks.Add(settingTask); } await Task.WhenAll(tasks); var company = companyTask.Result.First(); var columns = columnTask.Result.ToList(); var items = loadTask.Result.ToList(); var precision = ccyTask.Result.Precision; if (!items.Any()) { return(null); } if (requireSetting) { option.ReportSettings = settingTask.Result.ToList(); } var processor = option.CustomerSummaryFlag ? (IProcessor) new ArrearagesListSummaryDocumentProcessor { Company = company, Items = items, Precision = precision, } : new ArrearagesListDocumentProcessor { Company = company, Items = items, Precision = precision, Note1 = columns.FirstOrDefault(x => x.ColumnName == nameof(ArrearagesList.Note1))?.DisplayColumnName ?? "備考1", }; using (var stream = new MemoryStream()) { using (var document = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook)) { processor.Process(document); } return(stream.ToArray()); } }
public async Task <IEnumerable <ColumnNameSetting> > GetAsync(ColumnNameSetting setting, CancellationToken token = default(CancellationToken)) => await columnNameSettingQueryProcessor.GetAsync(setting, token);
public async Task <byte[]> GetAsync(ArrearagesListSearch option, CancellationToken token = default(CancellationToken)) { var companyTask = companyQueryProcessor.GetAsync(new CompanySearch { Id = option.CompanyId, }, token); var columnTask = columnNameSettingQueryProcessor.GetAsync(new ColumnNameSetting { CompanyId = option.CompanyId, TableName = nameof(Billing), }, token); var settingTask = reportSettingQueryProcessor.GetAsync(option.CompanyId, ReportId, token); var loadTask = arrearagesListQueryProcessor.GetAsync(option, token); var tasks = new List <Task>() { companyTask, columnTask, loadTask }; var requireSetting = !(option.ReportSettings?.Any() ?? false); if (requireSetting) { tasks.Add(settingTask); } await Task.WhenAll(tasks); var company = companyTask.Result.First(); var columns = columnTask.Result.ToList(); var items = loadTask.Result.ToList(); if (!items.Any()) { return(null); } if (requireSetting) { option.ReportSettings = settingTask.Result.ToList(); } GrapeCity.ActiveReports.SectionReport report; var title = $"滞留明細一覧表{DateTime.Today:yyyyMMdd}"; if (option.CustomerSummaryFlag) { var reportTemp = new ArrearagesCustomerListReport(); reportTemp.SetBasicPageSetting(company.Code, company.Name); reportTemp.SetData(items, option.Precision, option.ReportSettings); report = reportTemp; } else { var reportTemp = new ArrearagesListReport(); reportTemp.SetBasicPageSetting(company.Code, company.Name); reportTemp.SetData(items, option.Precision, option.ReportSettings, columns); report = reportTemp; } report.Name = title; report.Run(); return(report.Convert()); }