Ejemplo n.º 1
0
        private void PrintNewCustomer()
        {
            try
            {
                ClearStatusMessage();

                BillingImporterNewCustomerSectionReport report = null;
                var path = string.Empty;
                ProgressDialog.Start(ParentForm, Task.Run(() =>
                {
                    path       = Util.GetGeneralSettingServerPathAsync(Login).Result;
                    var source = Importer.GetBillingImportListForNewCustomers();
                    report     = new BillingImporterNewCustomerSectionReport();
                    report.SetBasicPageSetting(Login.CompanyCode, Login.CompanyName);

                    var title   = $"請求フリーインポーター 新規得意先一覧";
                    report.Name = title + DateTime.Now.ToString("yyyyMMdd");
                    report.SetData(source, title, UseForeignCurrency, Note1);
                    report.Run(false);
                }), false, SessionKey);

                ShowDialogPreview(ParentForm, report, path);
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
                ShowWarningDialog(MsgErrCreateReportError);
            }
        }
Ejemplo n.º 2
0
        public async Task <byte[]> GetCustomersAsync(TransactionImportSource source, CancellationToken token = default(CancellationToken))
        {
            var companyId    = source.CompanyId;
            var importDataId = source.ImportDataId.Value;

            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, token: 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))
                        .ToLookupCustomerCode()
                        .ToList();

            var useForeignCurrency = appCon.UseForeignCurrency == 1;

            var report = new BillingImporterNewCustomerSectionReport();

            var title = $"請求フリーインポーター 新規得意先一覧{DateTime.Now:yyyyMMdd}";

            report.SetBasicPageSetting(company.Code, company.Name);
            report.Name = title;
            report.SetData(items, title, useForeignCurrency, note1);
            report.Run();

            return(report.Convert());
        }