private void CreateNewExtractTask(List <string> lists)
        {
            foreach (var i in lists)
            {
                int num     = MainPanel.Controls.Count + 1;
                var postFix = i.Substring(i.LastIndexOf('.'));

                ExtractList myList = new ExtractList()
                {
                    TaskName = i.Substring(0, i.Length - postFix.Length),
                    Location = new Point(0, (num - 1) * 50),
                    Num      = num.ToString(),
                    Type     = postFix
                };
                MainPanel.Controls.Add(myList);
                extractLists.Add(myList);
            }
        }
示例#2
0
        private void Extraction()
        {
            try
            {
                if (!datBillingFrom.ValidateRange(datBillingTo,
                                                  () => ShowWarningDialog(MsgWngInputRangeChecked, lblBilling.Text)))
                {
                    return;
                }

                var outputAt = new DateTime[0];
                ExtractList = GetBillingJournalizing(outputAt);

                if (ExtractList != null && ExtractList.Any())
                {
                    DispStatusMessage(MsgInfDataExtracted);
                    BaseContext.SetFunction03Enabled(true);
                    BaseContext.SetFunction04Enabled(true);
                    datBillingFrom.Enabled = false;
                    datBillingTo.Enabled   = false;
                }
                else
                {
                    ShowWarningDialog(MsgWngNotExistSearchData);
                    BaseContext.SetFunction03Enabled(false);
                    BaseContext.SetFunction04Enabled(false);
                    datBillingFrom.Enabled = true;
                    datBillingTo.Enabled   = true;
                }
                var extractBillingAmount = ExtractList.Sum(x => x.BillingAmount);
                lblExtractionNumber.Text = ExtractList.Count.ToString(DisplayFormat);
                lblExtractionAmount.Text = GetExtractBillingPrecision(extractBillingAmount);
                lblOutputNumber.Clear();
                lblOutputAmount.Clear();
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
            }
        }
示例#3
0
        private bool CheckData()
        {
            ClearStatusMessage();

            var file = txtWriteFile.Text;

            if (string.IsNullOrWhiteSpace(file))
            {
                ShowWarningDialog(MsgWngInputRequired, lblWriteFile.Text);
                txtWriteFile.Focus();
                return(false);
            }

            var specialCharacters = "/:*?|<>\"";
            var index             = 0;

            if (file.Length < 3)
            {
                index = file.IndexOfAny(specialCharacters.ToCharArray());
            }
            else
            {
                index = file.Substring(2).IndexOfAny(specialCharacters.ToCharArray());
            }

            try
            {
                if (index == -1)
                {
                    string filePath = Path.GetDirectoryName(file);

                    if (!Directory.Exists(filePath))
                    {
                        if (Directory.Exists(Path.GetPathRoot(file)) && file.Length == 3)
                        {
                            return(true);
                        }
                        ShowWarningDialog(MsgErrNotExistsFolderAndCancelProcess, filePath);
                        txtWriteFile.Focus();
                        return(false);
                    }
                }
                else
                {
                    ShowWarningDialog(MsgWngInvalidCharacterAtWriteFile);
                    txtWriteFile.Focus();
                    return(false);
                }
            }
            catch
            {
                ShowWarningDialog(MsgWngInvalidCharacterAtWriteFile);
                txtWriteFile.Focus();
                return(false);
            }

            List <JournalizingSummary> billingJournalizingList = LoadGridData(1);
            var outputBillingAmount  = billingJournalizingList.Sum(x => x.Amount);
            var extractBillingAmount = ExtractList.Sum(x => x.BillingAmount);

            if (outputBillingAmount != extractBillingAmount)
            {
                ShowWarningDialog(MsgWngNotEqualAbstractAmountAndUpdateAmount);
                return(false);
            }
            return(true);
        }
示例#4
0
        private void Output()
        {
            try
            {
                if (!CheckData())
                {
                    return;
                }

                string filePath = Path.Combine(txtWriteFile.Text);

                var definition = new BillingJournalizingFileDefinition(new DataExpression(ApplicationControl));

                if (definition.CurrencyCodeField.Ignored = (!UseForeignCurrency))
                {
                    definition.CurrencyCodeField.FieldName = null;
                }

                var decimalFormat = "0" + ((Precision == 0) ? string.Empty : "." + new string('0', Precision));

                definition.BillingAmountField.Format = value => value.ToString(decimalFormat);

                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, ExtractList, cancel, progress));
                }, true, SessionKey);

                if (exporter.Exception != null)
                {
                    if (exporter.Exception.HResult == new UnauthorizedAccessException().HResult)
                    {
                        ShowWarningDialog(MsgErrUnauthorizedAccess);
                        return;
                    }
                    else if (string.IsNullOrEmpty(Path.GetFileName(txtWriteFile.Text)))
                    {
                        ShowWarningDialog(MsgWngInputRequired, "書込ファイル");
                        return;
                    }
                    else
                    {
                        NLogHandler.WriteErrorLog(this, exporter.Exception, SessionKey);
                        ShowWarningDialog(MsgErrSomethingError, "出力");
                        return;
                    }
                }

                UpdateOutputAt();
                List <JournalizingSummary> billingJournalizingList = LoadGridData(0);
                grdBilling.DataSource = new BindingSource(billingJournalizingList, null);
                var extractBillingAmount = ExtractList.Sum(x => x.BillingAmount);
                lblOutputNumber.Text = ExtractList.Count.ToString(DisplayFormat);
                lblOutputAmount.Text = GetExtractBillingPrecision(extractBillingAmount);
                DispStatusMessage(MsgInfFinishDataExtracting);
                BaseContext.SetFunction04Enabled(false);
                BaseContext.SetFunction06Enabled(false);
                BaseContext.SetFunction07Enabled(false);
                BaseContext.SetFunction08Enabled(false);
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
                ShowWarningDialog(MsgErrSomethingError, "出力");
            }
        }