private async Task <AccountTitle> RetrieveData()
        {
            AccountTitle accountTitleResult = null;
            await ServiceProxyFactory.LifeTime(async factory =>
            {
                var service = factory.Create <AccountTitleMasterClient>();
                AccountTitlesResult result = await service.GetByCodeAsync(
                    SessionKey, CompanyId, new string[] { txtCode.Text });

                if (result.ProcessResult.Result)
                {
                    accountTitleResult = result.AccountTitles.FirstOrDefault();
                    if (accountTitleResult == null)
                    {
                        Modified = true;
                    }
                    else
                    {
                        txtName.Text = accountTitleResult.Name;
                        txtContraAccountCode.Text    = accountTitleResult.ContraAccountCode;
                        txtContraAccountName.Text    = accountTitleResult.ContraAccountName;
                        txtContraAccountSubCode.Text = accountTitleResult.ContraAccountSubCode;
                        AccountTitleId  = accountTitleResult.Id;
                        txtCode.Enabled = false;
                        BaseContext.SetFunction03Enabled(true);
                        Modified = false;
                    }
                }
            });

            return(accountTitleResult);
        }
        private bool ExistAccountTitleCode()
        {
            AccountTitle        accountTitleResult = null;
            AccountTitlesResult result             = null;

            var task = ServiceProxyFactory.LifeTime(async factory =>
            {
                var service = factory.Create <AccountTitleMasterClient>();
                result      = await service.GetByCodeAsync(SessionKey, CompanyId, new string[] { txtValue.Text });
            });

            ProgressDialog.Start(ParentForm, task, false, SessionKey);

            if (result.ProcessResult.Result)
            {
                accountTitleResult = result.AccountTitles.FirstOrDefault();
            }

            if (accountTitleResult != null)
            {
                return(true);
            }

            ShowWarningDialog(MsgWngMasterNotExist, "科目", txtValue.Text);
            txtValue.Focus();
            return(false);
        }
        private async Task LoadGrid()
        {
            AccountTitlesResult result = null;
            await ServiceProxyFactory.LifeTime(async factory =>
            {
                var service = factory.Create <AccountTitleMasterClient>();
                result      = await service.GetItemsAsync(SessionKey, new AccountTitleSearch {
                    CompanyId = CompanyId
                });
            });

            if (result.ProcessResult.Result)
            {
                AccountTitleList = result.AccountTitles;
                grdAccountTitleMaster.DataSource            = new BindingSource(AccountTitleList, null);
                grdAccountTitleMaster.CurrentCellBorderLine = new Line(LineStyle.None, Color.Empty);
                grdAccountTitleMaster.CurrentRowBorderLine  = new Line(LineStyle.None, Color.Empty);
            }
        }
        public async Task <IEnumerable <AccountTitle> > SearchInfo()
        {
            List <AccountTitle> list = null;
            await ServiceProxyFactory.LifeTime(async factory =>
            {
                var service = factory.Create <AccountTitleMasterClient>();
                AccountTitlesResult result = await service.GetItemsAsync(
                    Application.Login.SessionKey, new AccountTitleSearch {
                    CompanyId = Application.Login.CompanyId,
                });

                if (result.ProcessResult.Result)
                {
                    list = result.AccountTitles;
                }
            });

            return(list);
        }
        public async Task <IEnumerable <AccountTitle> > SearchByKey(params string[] keys)
        {
            List <AccountTitle> list = null;
            await ServiceProxyFactory.LifeTime(async factory =>
            {
                var service = factory.Create <AccountTitleMasterClient>();
                AccountTitlesResult result = await service.GetItemsAsync(
                    Application.Login.SessionKey,
                    new AccountTitleSearch()
                {
                    CompanyId       = Application.Login.CompanyId,
                    UseCommonSearch = true,
                    Name            = keys[0]
                });

                if (result.ProcessResult.Result)
                {
                    list = result.AccountTitles;
                }
            });

            return(list);
        }
        private void ExportAccountTitle()
        {
            try
            {
                ClearStatusMessage();
                List <AccountTitle> list = null;
                var listTask             = ServiceProxyFactory.LifeTime(async factory =>
                {
                    var accountTitleMaster     = factory.Create <AccountTitleMasterClient>();
                    AccountTitlesResult result = await accountTitleMaster.GetItemsAsync(
                        SessionKey, new AccountTitleSearch {
                        CompanyId = CompanyId
                    });

                    if (result.ProcessResult.Result)
                    {
                        list = result.AccountTitles;
                    }
                });

                var pathTask = Util.GetGeneralSettingServerPathAsync(Login);
                ProgressDialog.Start(ParentForm, Task.WhenAll(listTask, pathTask), false, SessionKey);
                var serverPath = pathTask.Result;

                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 AccountTitleFileDefinition(new DataExpression(ApplicationControl));
                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);
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
                DispStatusMessage(MsgErrExportError);
            }
        }