private void SaveCustomerFee(List <CustomerFee> fees) { var saveTask = ServiceProxyFactory.LifeTime(async factory => { var service = factory.Create <CustomerFeeMasterClient>(); CustomerFeeResult result = await service.SaveAsync(SessionKey, CustomerId, CurrencyId, fees.ToArray()); if (result.ProcessResult.Result) { if (result.CustomerFee != null) { DispStatusMessage(MsgInfSaveSuccess); string currencyCode = UseForeignCurrency ? txtCurrencyCode.Text : DefaultCurrencyCode; ProgressDialog.Start(ParentForm, LoadCurrencyCode(currencyCode), false, SessionKey); Modified = false; PaymentChangeFee = true; } else { ShowWarningDialog(MsgErrSaveError); } } }); ProgressDialog.Start(ParentForm, saveTask, false, SessionKey); }
/// <summary> CurrencyIdで取得したデータを設定</summary> private async Task SetDataWithCurrencyId() { if (PaymentAgencyFlag) { await ServiceProxyFactory.LifeTime(async factory => { var service = factory.Create <PaymentAgencyFeeMasterClient>(); PaymentAgencyFeesResult result = await service.GetAsync(SessionKey, CustomerId, CurrencyId); { if (result.ProcessResult.Result) { AgencyCheckList = result.PaymentAgencyFees.ToList(); List <PaymentAgencyFee> paymentFeeList = new List <PaymentAgencyFee>(result.PaymentAgencyFees); if (paymentFeeList.Count > 0) { paymentFeeList.ForEach(f => f.NewFee = f.Fee); Invoke(new System.Action(() => { paymentFeeList.Add(new PaymentAgencyFee { }); grid.DataSource = new BindingSource(paymentFeeList, null); grid.CurrentCellBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentRowBorderLine = new Line(LineStyle.None, Color.Empty); })); } else { grid.Rows.Clear(); Invoke(new System.Action(() => { paymentFeeList.Add(new PaymentAgencyFee { }); grid.DataSource = new BindingSource(paymentFeeList, null); grid.CurrentCellBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentRowBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentCell.Selected = false; })); } Modified = false; } } }); } else { await ServiceProxyFactory.LifeTime(async factory => { var service = factory.Create <CustomerFeeMasterClient>(); CustomerFeeResult result = await service.GetAsync(SessionKey, CustomerId, CurrencyId); { if (result.ProcessResult.Result) { CustomerCheckList = result.CustomerFee.ToList(); List <CustomerFee> customerFees = new List <CustomerFee>(result.CustomerFee); if (customerFees.Count > 0) { customerFees.ForEach(f => f.NewFee = f.Fee); Invoke(new System.Action(() => { customerFees.Add(new CustomerFee { }); grid.DataSource = new BindingSource(customerFees, null); grid.CurrentCellBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentRowBorderLine = new Line(LineStyle.None, Color.Empty); })); } else { grid.Rows.Clear(); Invoke(new System.Action(() => { customerFees.Add(new CustomerFee { }); grid.DataSource = new BindingSource(customerFees, null); grid.CurrentCellBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentRowBorderLine = new Line(LineStyle.None, Color.Empty); grid.CurrentCell.Selected = false; })); } Modified = false; } } }); } }
private void ExportRegistrationFee() { List <CustomerFee> list = null; string serverPath = null; var task = ServiceProxyFactory.LifeTime(async factory => { serverPath = await GetServerPath(); var service = factory.Create <CustomerFeeMasterClient>(); CustomerFeeResult result = await service.GetForExportAsync(SessionKey, CompanyId); if (result.ProcessResult.Result) { list = new List <CustomerFee>(result.CustomerFee); } }); ProgressDialog.Start(ParentForm, task, false, SessionKey); if (!list.Any()) { ShowWarningDialog(MsgWngNoExportData); return; } if (!Directory.Exists(serverPath)) { serverPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); } var filePath = string.Empty; var fileName = $"得意先マスター登録手数料{DateTime.Today:yyyyMMdd}.csv"; if (!ShowSaveExportFileDialog(serverPath, fileName, out filePath)) { return; } var definition = new CustomerRegistrationFeeFileDefinition(new DataExpression(ApplicationControl)); var decimalFormat = "0" + ((!UseForeignCurrency) ? string.Empty : "." + new string('0', 5)); definition.FeeField.Format = value => value.ToString(decimalFormat); definition.CurrencyCodeField.Ignored = !UseForeignCurrency; var exporter = definition.CreateExporter(); exporter.UserId = Login.UserId; exporter.UserCode = Login.UserCode; exporter.CompanyId = CompanyId; exporter.CompanyCode = Login.CompanyCode; ProgressDialog.Start(ParentForm, (cancel, progress) => { return(exporter.ExportAsync(filePath, list, cancel, progress)); }, true, SessionKey); if (exporter.Exception != null) { NLogHandler.WriteErrorLog(this, exporter.Exception, SessionKey); ShowWarningDialog(MsgErrExportError); return; } DispStatusMessage(MsgInfFinishExport); Settings.SavePath <CustomerFee>(Login, filePath); }