private void SetFormat()
        {
            var expression = new DataExpression(ApplicationControl);

            txtCustomerCodeFrom.MaxLength = expression.CustomerCodeLength;
            txtCustomerCodeTo.MaxLength   = expression.CustomerCodeLength;

            txtStaffCodeFrom.MaxLength = expression.StaffCodeLength;
            txtStaffCodeTo.MaxLength   = expression.StaffCodeLength;

            txtCustomerCodeFrom.Format = expression.CustomerCodeFormatString;
            txtCustomerCodeTo.Format   = expression.CustomerCodeFormatString;

            txtStaffCodeFrom.Format = expression.StaffCodeFormatString;
            txtStaffCodeTo.Format   = expression.StaffCodeFormatString;

            txtCustomerCodeFrom.ImeMode = expression.CustomerCodeImeMode();
            txtCustomerCodeTo.ImeMode   = expression.CustomerCodeImeMode();

            txtCustomerCodeFrom.PaddingChar = expression.CustomerCodePaddingChar;
            txtCustomerCodeTo.PaddingChar   = expression.CustomerCodePaddingChar;
        }
Exemple #2
0
        private IWorker CreateConcreteWorker(LogWriter logger, TaskSchedule task)
        {
            ApplicationControl appControl = null;
            DataExpression     expression = null;

            try
            {
                appControl = Screen.Util.GetApplicationControl(Login);
            }
            catch (Exception ex)
            {
                logger.Log(ex);
            }

            if (appControl == null)
            {
                return(null);
            }
            else
            {
                expression = new DataExpression(appControl);
            }

            switch (task.ImportType)
            {
            case (int)BatchType.Customer:           return(new ConcreteWorker.CustomerImporterWorker(logger, Login, task, appControl));

            case (int)BatchType.CustomerGroup:      return(new ConcreteWorker.CustomerGroupImporterWorker(logger, Login, task, appControl, expression));

            case (int)BatchType.Billing:            return(new ConcreteWorker.BillingImporterWorker(logger, Login, task, appControl));

            case (int)BatchType.EbData:             return(new ConcreteWorker.EBDataImporterWorker(logger, Login, task));

            case (int)BatchType.Receipt:            return(new ConcreteWorker.ReceiptImporterWorker(logger, Login, task, appControl));

            case (int)BatchType.PaymentSchedule:    return(new ConcreteWorker.PaymentScheduleImporterWorker(logger, Login, task, appControl));
            }
            return(null);
        }
Exemple #3
0
        private void SetOnFormLoad()
        {
            var useOperationLogging = ApplicationControl?.UseOperationLogging ?? 0;
            var expression          = new DataExpression(ApplicationControl);

            if (useOperationLogging == 1)
            {
                lblLoggedSwitch.Text = "する";
            }
            else
            {
                lblLoggedSwitch.Text = "しない";
            }

            txtLoginUserCode.Format = expression.LoginUserCodeFormatString;

            if (expression.LoginUserCodeFormatString == "9")
            {
                txtLoginUserCode.PaddingChar = '0';
            }
            txtLoginUserCode.MaxLength = expression.LoginUserCodeLength;
        }
Exemple #4
0
        private void PB1501_Load(object sender, EventArgs e)
        {
            try
            {
                SetScreenName();
                var loadTask = new List <Task>();
                if (Company == null)
                {
                    loadTask.Add(LoadCompanyAsync());
                }
                if (ApplicationControl == null)
                {
                    loadTask.Add(LoadApplicationControlAsync());
                }
                loadTask.Add(LoadControlColorAsync());
                loadTask.Add(LoadFunctionAuthorities(MasterImport, MasterExport));

                Task <List <IgnoreKana> > loadListTask = GetListAsync();
                loadListTask.ContinueWith(task => IgnoreKanaList.AddRange(task.Result));
                loadTask.Add(loadListTask);

                ProgressDialog.Start(ParentForm, Task.WhenAll(loadTask), false, SessionKey);

                var expression = new DataExpression(ApplicationControl);
                txtKana.MaxLength = expression.IgnoreKanaLength;

                InitializeKanaGrid();
                grdExcludeKanaList.DataSource = new BindingSource(IgnoreKanaList, null);
                Clear(true);
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
            }
        }
        private void SetFormat()
        {
            if (ApplicationControl == null)
            {
                return;
            }
            var expression = new DataExpression(ApplicationControl);

            // 外貨利用を問わず 140 固定
            txtPayerName.MaxLength = 140;
            var format      = IsCustomer ? expression.CustomerCodeFormatString : "9";
            var length      = IsCustomer ? expression.CustomerCodeLength : 2;
            var ime         = IsCustomer ? expression.CustomerCodeImeMode() : ImeMode.Disable;
            var paddingChar = format == "9" ? (char?)'0' : null;

            txtCustomerCodeFrom.Format      = format;
            txtCustomerCodeTo.Format        = format;
            txtCustomerCodeFrom.MaxLength   = length;
            txtCustomerCodeTo.MaxLength     = length;
            txtCustomerCodeFrom.ImeMode     = ime;
            txtCustomerCodeTo.ImeMode       = ime;
            txtCustomerCodeFrom.PaddingChar = paddingChar;
            txtCustomerCodeTo.PaddingChar   = paddingChar;
        }
        public BillingSearchFileDefinition(DataExpression expression, List <GridSetting> GridSettingInfo) : base(expression)
        {
            Func <DateTime, string> dateTimeFormatter = value => value.ToString("yyyy/MM/dd");

            StartLineNumber = 1;
            DataTypeToken   = "請求データ";
            FileNameToken   = DataTypeToken;

            Fields.Add(DeleteAtField = new NullableNumberFieldDefinition <Billing, DateTime>(k => k.DeleteAt,
                                                                                             fieldName: "削除日", fieldNumber: 1,
                                                                                             accept: VisitDeleteAtField,
                                                                                             formatter: dateTimeFormatter));

            int fieldNumber = 1;

            foreach (GridSetting gs in GridSettingInfo)
            {
                fieldNumber++;
                IFieldDefinition <Billing> field = null;
                switch (gs.ColumnName)
                {
                case "Id":
                    field = (IdField = new NumberFieldDefinition <Billing, long>(k => k.Id,
                                                                                 accept: VisitIdField,
                                                                                 formatter: value => value.ToString()));
                    break;

                case "InvoiceCode":
                    field = (InvoiceCodeField = new StringFieldDefinition <Billing>(k => k.InvoiceCode,
                                                                                    accept: VisitInvoiceCodeField));
                    break;

                case "BillingCategory":
                    field = (BillingCategoryField = new StringFieldDefinition <Billing>(k => k.BillingCategoryCodeAndName,
                                                                                        accept: VisitBillingCategoryField));
                    break;

                case "CollectCategory":
                    field = (CollectCategoryField = new StringFieldDefinition <Billing>(k => k.CollectCategoryCodeAndName,
                                                                                        accept: VisitCollectCategoryField));
                    break;

                case "InputType":
                    field = (InputTypeField = new StringFieldDefinition <Billing>(k => k.InputTypeName,
                                                                                  accept: VisitInputTypeField));
                    break;

                case "Note1":
                    field = (Note1Field = new StringFieldDefinition <Billing>(k => k.Note1, accept: VisitNote1Field));
                    break;

                case "Note2":
                    field = (Note2Field = new StringFieldDefinition <Billing>(k => k.Note2, accept: VisitNote2Field));
                    break;

                case "Note3":
                    field = (Note3Field = new StringFieldDefinition <Billing>(k => k.Note3, accept: VisitNote3Field));
                    break;

                case "Note4":
                    field = (Note4Field = new StringFieldDefinition <Billing>(k => k.Note4, accept: VisitNote4Field));
                    break;

                case "Note5":
                    field = (Note5Field = new StringFieldDefinition <Billing>(k => k.Note5, accept: x => x.StandardString(Note5Field)));
                    break;

                case "Note6":
                    field = (Note6Field = new StringFieldDefinition <Billing>(k => k.Note6, accept: x => x.StandardString(Note6Field)));
                    break;

                case "Note7":
                    field = (Note7Field = new StringFieldDefinition <Billing>(k => k.Note7, accept: x => x.StandardString(Note7Field)));
                    break;

                case "Note8":
                    field = (Note8Field = new StringFieldDefinition <Billing>(k => k.Note8, accept: x => x.StandardString(Note8Field)));
                    break;

                case "Memo":
                    field = (BillingMemoField = new StringFieldDefinition <Billing>(k => k.Memo,
                                                                                    accept: VisitBillingMemoField));
                    break;

                case "CustomerCode":
                    field = (CustomerCodeField = new StringFieldDefinition <Billing>(k => k.CustomerCode,
                                                                                     accept: VisitCustomerCodeField));
                    break;

                case "StaffCode":
                    field = (StaffCodeField = new StringFieldDefinition <Billing>(k => k.StaffCode,
                                                                                  accept: VisitStaffCodeField));
                    break;

                case "ResultCode":
                    field = (ResultCodeField = new StringFieldDefinition <Billing>(k => k.ResultCodeName,
                                                                                   accept: VisitResultCodeField));
                    break;

                case "ContractNumber":
                    field = (ContractNumberField = new StringFieldDefinition <Billing>(k => k.ContractNumber,
                                                                                       accept: VisitContractNumberField));
                    break;

                case "Confirm":
                    field = (ConfirmField = new StringFieldDefinition <Billing>(k => k.ConfirmName,
                                                                                accept: VisitConfirmField));
                    break;

                case "CurrencyCode":
                    field = (CurrencyCodeField = new StringFieldDefinition <Billing>(k => k.CurrencyCode,
                                                                                     accept: VisitCurrencyCodeField));
                    break;

                case "CustomerName":
                    field = (CustomerNameField = new StringFieldDefinition <Billing>(k => k.CustomerName,
                                                                                     accept: VisitCustomerNameField));
                    break;

                case "StaffName":
                    field = (StaffNameField = new StringFieldDefinition <Billing>(k => k.StaffName,
                                                                                  accept: VisitStaffNameField));
                    break;

                case "AssignmentState":
                    field = (AssignmentFlagField = new StringFieldDefinition <Billing>(k => k.AssignmentFlagName,
                                                                                       accept: VisitAssignmentFlagField));
                    break;

                case "BilledAt":
                    field = (BilledAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.BilledAt,
                                                                                           accept: VisitBilledAtField,
                                                                                           formatter: dateTimeFormatter));
                    break;

                case "SalesAt":
                    field = (SalesAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.SalesAt,
                                                                                          accept: VisitSalesAtField,
                                                                                          formatter: dateTimeFormatter));
                    break;

                case "ClosingAt":
                    field = (ClosingAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.ClosingAt,
                                                                                            accept: VisitClosingAtField,
                                                                                            formatter: dateTimeFormatter));
                    break;

                case "DueAt":
                    field = (DueAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.DueAt,
                                                                                        accept: VisitDueAtField,
                                                                                        formatter: dateTimeFormatter));
                    break;

                case "RequestDate":
                    field = (RequestDateField = new NullableNumberFieldDefinition <Billing, DateTime>(k => k.RequestDate,
                                                                                                      accept: VisitRequestField,
                                                                                                      formatter: dateTimeFormatter));
                    break;

                case "BillingAmount":
                    field = (BillingAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.BillingAmount,
                                                                                               accept: VisitBillingAmountField,
                                                                                               formatter: value => value.ToString()));
                    break;

                case "RemainAmount":
                    field = (RemainAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.RemainAmount,
                                                                                              accept: VisitRemainAmountField,
                                                                                              formatter: value => value.ToString()));
                    break;

                case "DiscountAmount1":
                    field = (DiscountAmount1Field = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount1,
                                                                                                 accept: VisitDiscountAmount1Field,
                                                                                                 formatter: value => value.ToString()));
                    break;

                case "DiscountAmount2":
                    field = (DiscountAmount2Field = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount2,
                                                                                                 accept: VisitDiscountAmount2Field,
                                                                                                 formatter: value => value.ToString()));
                    break;

                case "DiscountAmount3":
                    field = (DiscountAmount3Field = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount3,
                                                                                                 accept: VisitDiscountAmount3Field,
                                                                                                 formatter: value => value.ToString()));
                    break;

                case "DiscountAmount4":
                    field = (DiscountAmount4Field = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount4,
                                                                                                 accept: VisitDiscountAmount4Field,
                                                                                                 formatter: value => value.ToString()));
                    break;

                case "DiscountAmount5":
                    field = (DiscountAmount5Field = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount5,
                                                                                                 accept: VisitDiscountAmount5Field,
                                                                                                 formatter: value => value.ToString()));
                    break;

                case "DepartmentCode":
                    field = (DepartmentCodeField = new StringFieldDefinition <Billing>(k => k.DepartmentCode,
                                                                                       accept: VisitDepartmentCodeField));
                    break;

                case "DepartmentName":
                    field = (DepartmentNameField = new StringFieldDefinition <Billing>(k => k.DepartmentName,
                                                                                       accept: VisitDepartmentNameField));
                    break;

                case "DiscountAmountSummary":
                    field = (DiscountAmountTotalField = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount,
                                                                                                     accept: VisitDiscountAmountTotalField,
                                                                                                     formatter: value => value.ToString()));
                    break;

                case "FirstRecordedAt":
                    field = (FirstRecordedAtField = new NullableNumberFieldDefinition <Billing, DateTime>(k => k.FirstRecordedAt,
                                                                                                          accept: VisitFirstRecordedAtField,
                                                                                                          formatter: dateTimeFormatter));
                    break;

                case "LastRecordedAt":
                    field = (LastRecordedAtField = new NullableNumberFieldDefinition <Billing, DateTime>(k => k.LastRecordedAt,
                                                                                                         accept: VisitLastRecordedAtField,
                                                                                                         formatter: dateTimeFormatter));
                    break;

                case "Price":
                    field = (PriceField = new NumberFieldDefinition <Billing, decimal>(k => k.BillingAmountExcludingTax,
                                                                                       accept: VisitPriceField,
                                                                                       formatter: value => value.ToString()));
                    break;

                case "TaxAmount":
                    field = (TaxAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.TaxAmount,
                                                                                           accept: VisitTaxAmountField,
                                                                                           formatter: value => value.ToString()));
                    break;

                default:
                    break;
                }
                if (field == null)
                {
                    continue;
                }
                field.FieldName   = gs.ColumnNameJp;
                field.FieldNumber = fieldNumber;
                Fields.Add(field);
            }
        }
        public LoginUserFileDefinition(DataExpression expression) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "ログインユーザー";
            FileNameToken   = DataTypeToken + "マスター";

            CompanyIdField = new StandardIdToCodeFieldDefinition <LoginUser, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };

            LoginUserCodeField = new StringFieldDefinition <LoginUser>(k => k.Code)
            {
                FieldName   = "ログインユーザーコード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitLoginUserCode,
            };

            LoginUserNameField = new StringFieldDefinition <LoginUser>(k => k.Name)
            {
                FieldName   = "ログインユーザー名",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitLoginUserName,
            };

            DepartmentCodeField = new StandardIdToCodeFieldDefinition <LoginUser, Department>(
                k => k.DepartmentId, c => c.Id, l => l.DepartmentCode, c => c.Code)
            {
                FieldName   = "請求部門コード",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitDepartmentCode,
            };

            MailField = new StringFieldDefinition <LoginUser>(k => k.Mail)
            {
                FieldName   = "メールアドレス",
                FieldNumber = 5,
                Accept      = VisitMail,
            };

            MenuLevelField = new NumberFieldDefinition <LoginUser, int>(k => k.MenuLevel)
            {
                FieldName   = "権限レベル",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitMenuLevelField,
                Format      = value => value.ToString(),
            };

            FunctionLevelField = new NumberFieldDefinition <LoginUser, int>(k => k.FunctionLevel)
            {
                FieldName   = "セキュリティ",
                FieldNumber = 7,
                Required    = true,
                Accept      = VisitFunctionLevelField,
                Format      = value => value.ToString(),
            };

            UseClientField = new NumberFieldDefinition <LoginUser, int>(k => k.UseClient)
            {
                FieldName   = "V-ONE利用",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitUseClientField,
                Format      = value => value.ToString(),
            };

            UseWebViewerField = new NumberFieldDefinition <LoginUser, int>(k => k.UseWebViewer)
            {
                FieldName   = "WebViewer利用",
                FieldNumber = 9,
                Required    = true,
                Accept      = VisitUseWebViewerField,
                Format      = value => value.ToString(),
            };

            StaffCodeField = new StandardNullableIdToCodeFieldDefinition <LoginUser, Staff>(
                k => k.AssignedStaffId, c => c.Id, l => l.StaffCode, c => c.Code)
            {
                FieldName   = "営業担当者コード",
                FieldNumber = 10,
                Required    = false,
                Accept      = VisitStaffCode,
            };

            InitialPasswordField = new StringFieldDefinition <LoginUser>(k => k.InitialPassword)
            {
                FieldName   = "初回パスワード",
                FieldNumber = 11,
                Required    = false,
                Accept      = VisitInitialPassword,
            };

            Fields.AddRange(new IFieldDefinition <LoginUser>[] {
                CompanyIdField, LoginUserCodeField, LoginUserNameField, DepartmentCodeField, MailField,
                MenuLevelField, UseClientField, UseWebViewerField, FunctionLevelField, StaffCodeField,
                InitialPasswordField
            });
            KeyFields.AddRange(new IFieldDefinition <LoginUser>[]
            {
                LoginUserCodeField,
            });
        }
Exemple #8
0
        //public NumberFieldDefinition<CustomerLedger, int> RecordTypeField { get; private set; }

        public CustomerLedgerFileDefinition(DataExpression expression)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "得意先別消込台帳";
            FileNameToken   = DataTypeToken;

            RecordedAtField = new StringFieldDefinition <CustomerLedger>(
                k => k.RecordTypeName)
            {
                FieldName   = "日付",
                FieldNumber = 1,
                Required    = true,
                Accept      = VisitRecordedAtField,
            };
            ParentCustomerCodeField = new StringFieldDefinition <CustomerLedger>(
                k => k.ParentCustomerCode)
            {
                FieldName   = "代表得意先コード",
                FieldNumber = 2,
                Required    = false,
                Accept      = VisitParentCustomerCodeField,
            };
            ParentCustomerNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.ParentCustomerName)
            {
                FieldName   = "代表得意先名",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitParentCustomerNameField,
            };
            CurrencyCodeField = new StringFieldDefinition <CustomerLedger>(
                k => k.CurrencyCode)
            {
                FieldName   = "通貨コード",
                FieldNumber = 9,
                Required    = true,
                Accept      = VisitCurrencyCodeField,
            };
            SectionNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.SectionName)
            {
                FieldName   = "入金部門",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitSectionNameField,
            };
            DepartmentNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.DepartmentName)
            {
                FieldName   = "請求部門",
                FieldNumber = 5,
                Required    = true,
                Accept      = VisitDepartmentNameField,
            };
            InvoiceCodeField = new StringFieldDefinition <CustomerLedger>(
                k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitInvoiceCodeField,
            };
            CategoryNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.CategoryName)
            {
                FieldName   = "区分",
                FieldNumber = 7,
                Required    = true,
                Accept      = VisitCategoryNameField,
            };
            DebitAccountTitleNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.AccountTitleName)
            {
                FieldName   = "債権科目",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitDebitAccountTitleNameField,
            };
            MatchingSymbolBillingField = new StringFieldDefinition <CustomerLedger>(
                k => k.MatchingSymbolBilling)
            {
                FieldName   = "消込記号_請求",
                FieldNumber = 10,
                Required    = false,
                Accept      = VisitMatchingSymbolBillingField,
            };
            BillingAmountField = new  NullableNumberFieldDefinition <CustomerLedger, decimal>(
                k => k.BillingAmount)
            {
                FieldName   = "請求額",
                FieldNumber = 11,
                Required    = true,
                Accept      = VisitBillingAmountField,
                Format      = value => value.ToString(),
            };
            SlipTotalField = new NullableNumberFieldDefinition <CustomerLedger, decimal>(
                k => k.SlipTotal)
            {
                FieldName   = "伝票合計",
                FieldNumber = 12,
                Required    = true,
                Accept      = VisitSlipTotalField,
                Format      = value => value.ToString(),
            };
            ReceiptAmountField = new NullableNumberFieldDefinition <CustomerLedger, decimal>(
                k => k.ReceiptAmount)
            {
                FieldName   = "入金額",
                FieldNumber = 13,
                Required    = true,
                Accept      = VisitReceiptAmountField,
                Format      = value => value.ToString(),
            };

            MatchingSymbolReceiptField = new StringFieldDefinition <CustomerLedger>(
                k => k.MatchingSymbolReceipt)
            {
                FieldName   = "消込記号_消込",
                FieldNumber = 14,
                Required    = false,
                Accept      = VisitMatchingSymbolReceiptField,
            };
            MatchingAmountField = new NullableNumberFieldDefinition <CustomerLedger, decimal>(
                k => k.MatchingAmount)
            {
                FieldName   = "消込額",
                FieldNumber = 15,
                Required    = true,
                Accept      = VisitMatchingAmountField,
                Format      = value => value.ToString(),
            };
            RemainAmountField = new NullableNumberFieldDefinition <CustomerLedger, decimal>(
                k => k.RemainAmount)
            {
                FieldName   = "残高",
                FieldNumber = 16,
                Required    = true,
                Accept      = VisitRemainAmountField,
                Format      = value => value.ToString(),
            };
            CustomerCodeField = new StringFieldDefinition <CustomerLedger>(
                k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = 17,
                Required    = false,
                Accept      = VisitCustomerCodeField,
            };
            CustomerNameField = new StringFieldDefinition <CustomerLedger>(
                k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = 18,
                Required    = true,
                Accept      = VisitCustomerNameField,
            };

            Fields.AddRange(new IFieldDefinition <CustomerLedger>[] {
                RecordedAtField, ParentCustomerCodeField, ParentCustomerNameField, SectionNameField, DepartmentNameField
                , InvoiceCodeField, CategoryNameField, DebitAccountTitleNameField, CurrencyCodeField, MatchingSymbolBillingField
                , BillingAmountField, SlipTotalField, ReceiptAmountField, MatchingSymbolReceiptField, MatchingAmountField
                , RemainAmountField, CustomerCodeField, CustomerNameField
            });
        }
        public KanaHistoryCustomerFileDefinition(DataExpression expression)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "得意先学習履歴";
            FileNameToken   = DataTypeToken;

            CompanyIdField = new StandardIdToCodeFieldDefinition <KanaHistoryCustomer, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };
            PayerNameField = new StringFieldDefinition <KanaHistoryCustomer>(k => k.PayerName)
            {
                FieldName   = "振込依頼人名",
                FieldNumber = 2,
                Required    = false,
                Accept      = VisitKana,
            };
            CustomerIdField = new StandardIdToCodeFieldDefinition <KanaHistoryCustomer, Customer>(
                k => k.CustomerId, c => c.Id,
                k => k.CustomerCode, c => c.Code)
            {
                FieldName   = "得意先コード",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitcustomerId,
            };
            SourceBankNameField = new StringFieldDefinition <KanaHistoryCustomer>(k => k.SourceBankName)
            {
                FieldName   = "仕向銀行",
                FieldNumber = 4,
                Required    = false,
                Accept      = VisitSourceBankName,
            };
            SourceBrankNameField = new StringFieldDefinition <KanaHistoryCustomer>(k => k.SourceBranchName)
            {
                FieldName   = "仕向支店",
                FieldNumber = 5,
                Required    = false,
                Accept      = VisitSourceBrankName,
            };
            HitCountField = new NumberFieldDefinition <KanaHistoryCustomer, int>(k => k.HitCount)
            {
                FieldName   = "消込回数",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitHitCount,
                Format      = value => value.ToString(),
            };

            Fields.AddRange(new IFieldDefinition <KanaHistoryCustomer>[] {
                CompanyIdField, PayerNameField, CustomerIdField, SourceBankNameField, SourceBrankNameField, HitCountField
            });
            KeyFields.AddRange(new IFieldDefinition <KanaHistoryCustomer>[]
            {
                PayerNameField,
                CustomerIdField,
                SourceBankNameField,
                SourceBrankNameField,
            });
        }
        public CustomerRegistrationFeeFileDefinition(DataExpression applicationControl)
            : base(applicationControl)
        {
            StartLineNumber = 1;
            DataTypeToken   = "得意先";
            FileNameToken   = DataTypeToken + "マスター登録手数料";

            // FieldNumber 1 会社コード
            CompanyIdField = new StandardIdToCodeFieldDefinition <CustomerFee, Company>(
                cd => cd.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };

            // FieldNumber 2 得意先コード
            CustomerIdField = new StandardIdToCodeFieldDefinition <CustomerFee, Customer>(
                cd => cd.CustomerId, c => c.Id, l => l.CustomerCode, c => c.Code)
            {
                FieldName   = "得意先コード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitCustomerId,
            };

            // FieldNumber 3 登録手数料
            FeeField = new NullableNumberFieldDefinition <CustomerFee, decimal>(cd => cd.Fee)
            {
                FieldName   = "登録手数料",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitFee,
                Format      = value => value.ToString(),
            };

            // FieldNumber 4 通貨コード
            CurrencyCodeField = new StandardIdToCodeFieldDefinition <CustomerFee, Currency>(
                cd => cd.CurrencyId, c => c.Id, l => l.CurrencyCode, c => c.Code)
            {
                FieldName   = "通貨コード",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitCurrencyCode,
            };

            Fields.AddRange(new IFieldDefinition <CustomerFee>[] {
                CompanyIdField
                , CustomerIdField
                , FeeField
                , CurrencyCodeField
            });
            if (applicationControl.UseForeignCurrency == 1)
            {
                KeyFields.AddRange(new IFieldDefinition <CustomerFee>[]
                {
                    CustomerIdField,
                    CurrencyCodeField,
                    FeeField,
                });
            }
            else
            {
                KeyFields.AddRange(new IFieldDefinition <CustomerFee>[]
                {
                    CustomerIdField,
                    FeeField,
                });
            }
            foreignflg = applicationControl.UseForeignCurrency;
        }
        public ScheduledPaymentListFileDefinition(DataExpression applicationControl, List <ColumnNameSetting> ColumnNameSettingInfo)
            : base(applicationControl)
        {
            StartLineNumber = 1;
            DataTypeToken   = "入金予定明細表";
            FileNameToken   = DataTypeToken;

            BaseDateField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.BaseDate)
            {
                FieldName   = "基準日",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitBaseDate,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            IDField = new NumberFieldDefinition <ScheduledPaymentList, int>(k => k.Id)
            {
                FieldName   = "請求ID",
                FieldNumber = 2,
                Required    = false,
                Accept      = VisitId,
                Format      = value => value.ToString(),
            };
            CustomerCodeField = new StringFieldDefinition <ScheduledPaymentList>(k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = 3,
                Required    = false,
                Accept      = VisitCustomerCode,
            };
            CustomerNameField = new StringFieldDefinition <ScheduledPaymentList>(k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = 4,
                Required    = false,
                Accept      = VisitCustomerName,
            };
            BilledAtField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.BilledAt)
            {
                FieldName   = "請求日",
                FieldNumber = 5,
                Required    = true,
                Accept      = VisitBilledAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            SalesAtField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.SalesAt)
            {
                FieldName   = "売上日",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitSalesAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            ClosingAtField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.ClosingAt)
            {
                FieldName   = "請求締日",
                FieldNumber = 7,
                Required    = true,
                Accept      = VisitClosingAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            DueAtField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.DueAt)
            {
                FieldName   = "入金予定日",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitDueAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            OriginalDueAtField = new NullableNumberFieldDefinition <ScheduledPaymentList, DateTime>(k => k.OriginalDueAt)
            {
                FieldName   = "当初予定日",
                FieldNumber = 9,
                Required    = true,
                Accept      = VisitOriginalDueAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            CurrencyCodeField = new StringFieldDefinition <ScheduledPaymentList>(k => k.CurrencyCode)
            {
                FieldName   = "通貨コード",
                FieldNumber = 10,
                Required    = false,
                Accept      = VisitCurrencyCode,
            };
            AmountField = new NumberFieldDefinition <ScheduledPaymentList, decimal>(k => k.RemainAmount)
            {
                FieldName   = "回収予定金額",
                FieldNumber = 11,
                Required    = true,
                Accept      = VisitAmount,
                Format      = value => value.ToString(),
            };
            DelayDivisionField = new StringFieldDefinition <ScheduledPaymentList>(k => k.DelayDivision)
            {
                FieldName   = "遅延",
                FieldNumber = 12,
                Required    = false,
                Accept      = VisitDelayDivisionField,
            };
            CodeAndNameField = new StringFieldDefinition <ScheduledPaymentList>(k => k.CodeAndName)
            {
                FieldName   = "回収区分",
                FieldNumber = 13,
                Required    = false,
                Accept      = VisitCodeAndNameField,
            };
            InvoiceCodeField = new StringFieldDefinition <ScheduledPaymentList>(k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = 14,
                Required    = false,
                Accept      = VisitInvoiceCodeField,
            };
            DepartmentCodeField = new StringFieldDefinition <ScheduledPaymentList>(k => k.DepartmentCode)
            {
                FieldName   = "請求部門コード",
                FieldNumber = 15,
                Required    = false,
                Accept      = VisitDepartmentCodeField,
            };
            DepartmentNameField = new StringFieldDefinition <ScheduledPaymentList>(k => k.DepartmentName)
            {
                FieldName   = "請求部門名",
                FieldNumber = 16,
                Required    = false,
                Accept      = VisitDepartmentNameField,
            };
            StaffCodeField = new StringFieldDefinition <ScheduledPaymentList>(k => k.StaffCode)
            {
                FieldName   = "担当者コード",
                FieldNumber = 17,
                Required    = false,
                Accept      = VisitStaffCodeField,
            };
            StaffNameField = new StringFieldDefinition <ScheduledPaymentList>(k => k.StaffName)
            {
                FieldName   = "担当者名",
                FieldNumber = 18,
                Required    = false,
                Accept      = VisitStaffNameField,
            };
            foreach (ColumnNameSetting gs in ColumnNameSettingInfo)
            {
                switch (gs.ColumnName)
                {
                case "Note1":
                    Note1Field = new StringFieldDefinition <ScheduledPaymentList>(k => k.Note1)
                    {
                        FieldName   = gs.DisplayColumnName,
                        FieldNumber = 19,
                        Required    = false,
                        Accept      = VisitNote1Field,
                    };
                    break;

                case "Note2":
                    Note2Field = new StringFieldDefinition <ScheduledPaymentList>(k => k.Note2)
                    {
                        FieldName   = gs.DisplayColumnName,
                        FieldNumber = 20,
                        Required    = false,
                        Accept      = VisitNote2Field,
                    };
                    break;

                case "Note3":
                    Note3Field = new StringFieldDefinition <ScheduledPaymentList>(k => k.Note3)
                    {
                        FieldName   = gs.DisplayColumnName,
                        FieldNumber = 21,
                        Required    = false,
                        Accept      = VisitNote3Field,
                    };
                    break;

                case "Note4":
                    Note4Field = new StringFieldDefinition <ScheduledPaymentList>(k => k.Note4)
                    {
                        FieldName   = gs.DisplayColumnName,
                        FieldNumber = 22,
                        Required    = false,
                        Accept      = VisitNote4Field,
                    };
                    break;
                }
            }

            Fields.AddRange(new IFieldDefinition <ScheduledPaymentList>[] {
                BaseDateField, IDField, CustomerCodeField, CustomerNameField, BilledAtField, SalesAtField, ClosingAtField,
                DueAtField, OriginalDueAtField, CurrencyCodeField, AmountField, DelayDivisionField,
                CodeAndNameField, InvoiceCodeField, DepartmentCodeField, DepartmentNameField, StaffCodeField, StaffNameField, Note1Field,
                Note2Field, Note3Field, Note4Field
            });
        }
Exemple #12
0
 /// <summary>
 /// Creates a new joined table.
 /// </summary>
 /// <param name="kind">The kind to consider.</param>
 /// <param name="condition">The condition to consider.</param>
 /// <returns>Returns a new From statement.</returns>
 public DbJoinedTable TableAsJoin <T>(DbQueryJoinKind kind, DataExpression condition)
 {
     return(TableAsJoin(typeof(T).Name, kind, condition));
 }
Exemple #13
0
        // As Join -------------------------------------

        /// <summary>
        /// Creates a new joined table.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="kind">The kind to consider.</param>
        /// <param name="condition">The condition to consider.</param>
        /// <returns>Returns a new From statement.</returns>
        public DbJoinedTable TableAsJoin(string name, DbQueryJoinKind kind, DataExpression condition)
        {
            return(DbFluent.TableAsJoin(kind, Table(name), condition));
        }
        public CurrencyFileDefinition(DataExpression expression)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "通貨";
            FileNameToken   = DataTypeToken + "マスター";

            CompanyIdField = new StandardIdToCodeFieldDefinition <Currency, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };
            CurrencyCodeField = new StringFieldDefinition <Currency>(k => k.Code)
            {
                FieldName   = "通貨コード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitCurrencyCode,
            };
            CurrencyNameField = new StringFieldDefinition <Currency>(k => k.Name)
            {
                FieldName   = "名称",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitCurrencyName,
            };
            CurrencySymbolField = new StringFieldDefinition <Currency>(k => k.Symbol)
            {
                FieldName   = "単位",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitCurrencySymbol,
            };
            CurrencyPrecisionField = new NumberFieldDefinition <Currency, int>(k => k.Precision)
            {
                FieldName   = "小数点以下桁数",
                FieldNumber = 5,
                Required    = true,
                Accept      = VisitCurrencyPrecision,
                Format      = value => value.ToString(),
            };
            CurrencyDisplayOrderField = new NumberFieldDefinition <Currency, int>(k => k.DisplayOrder)
            {
                FieldName   = "表示順番",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitCurrencyDisplayOrder,
                Format      = value => value.ToString(),
            };
            CurrencyNoteField = new StringFieldDefinition <Currency>(k => k.Note)
            {
                FieldName   = "備考",
                FieldNumber = 7,
                Required    = false,
                Accept      = VisitCurrencyNote,
            };
            CurrencyToleranceField = new NumberFieldDefinition <Currency, decimal>(k => k.Tolerance)
            {
                FieldName   = "手数料誤差金額",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitCurrencyTolerance,
                Format      = value => value.ToString(),
            };

            Fields.AddRange(new IFieldDefinition <Currency>[] {
                CompanyIdField, CurrencyCodeField, CurrencyNameField, CurrencySymbolField, CurrencyPrecisionField
                , CurrencyDisplayOrderField, CurrencyNoteField, CurrencyToleranceField
            });
            KeyFields.AddRange(new IFieldDefinition <Currency>[]
            {
                CurrencyCodeField,
            });
        }
Exemple #15
0
        }                                                                          //63

        public CustomerFileDefinition(DataExpression expression) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "得意先";
            FileNameToken   = DataTypeToken + "マスター";

            //1
            CompanyIdField = new StandardIdToCodeFieldDefinition <Customer, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };

            //2
            CustomerCodeField = new StringFieldDefinition <Customer>(k => k.Code)
            {
                FieldName   = "得意先コード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitCustomerCode,
            };

            //3
            CustomerNameField = new StringFieldDefinition <Customer>(k => k.Name)
            {
                FieldName   = "得意先名",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitCustomerName,
            };

            //4
            CustomerKanaField = new StringFieldDefinition <Customer>(k => k.Kana)
            {
                FieldName   = "得意先名カナ",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitCustomerKana,
            };

            //5
            ExclusiveBankCodeField = new StringFieldDefinition <Customer>(k => k.ExclusiveBankCode)
            {
                FieldName   = "専用銀行コード",
                FieldNumber = 5,
                Required    = false,
                Accept      = VisitExclusiveBankCode,
            };

            //6
            ExclusiveBankNameField = new StringFieldDefinition <Customer>(k => k.ExclusiveBankName)
            {
                FieldName   = "専用銀行名",
                FieldNumber = 6,
                Required    = false,
                Accept      = VisitExclusiveBankName,
            };

            //7
            ExclusiveBranchCodeField = new StringFieldDefinition <Customer>(k => k.ExclusiveBranchCode)
            {
                FieldName   = "専用支店コード",
                FieldNumber = 7,
                Required    = false,
                Accept      = VisitExclusiveBranchCode,
            };

            //8
            ExclusiveBranchNameField = new StringFieldDefinition <Customer>(k => k.ExclusiveBranchName)
            {
                FieldName   = "専用支店名",
                FieldNumber = 8,
                Required    = false,
                Accept      = VisitExclusiveBranchName,
            };

            //9
            ExclusiveAccountNumberField = new StringFieldDefinition <Customer>(k => k.ExclusiveAccountNumber)
            {
                FieldName   = "専用入金口座番号",
                FieldNumber = 9,
                Required    = false,
                Accept      = VisitExclusiveAccountNumber,
            };

            //10
            ExclusiveAccountTypeIdField = new NullableNumberFieldDefinition <Customer, int>(k => k.ExclusiveAccountTypeId)
            {
                FieldName   = "預金種別",
                FieldNumber = 10,
                Required    = true,
                Accept      = VisitExclusiveAccountTypeId,
                Format      = value => value.ToString(),
            };

            //11
            ShareTransferFeeField = new NumberFieldDefinition <Customer, int>(k => k.ShareTransferFee)
            {
                FieldName   = "手数料負担区分",
                FieldNumber = 11,
                Required    = true,
                Accept      = VisitShareTransferFee,
                Format      = value => value.ToString(),
            };

            //12
            CreditLimitField = new NumberFieldDefinition <Customer, decimal>(k => k.CreditLimit)
            {
                FieldName   = "与信限度額",
                FieldNumber = 12,
                Required    = false,
                Accept      = VisitCreditLimit,
                Format      = value => value.ToString("#"),
            };

            //13
            ClosingDayField = new NumberFieldDefinition <Customer, int>(k => k.ClosingDay)
            {
                FieldName   = "締日",
                FieldNumber = 13,
                Required    = true,
                Accept      = VisitClosingDay,
                Format      = value => value.ToString("00"),
            };

            //14
            CollectCategoryIdField = new StandardIdToCodeFieldDefinition <Customer, Category>(
                k => k.CollectCategoryId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "回収方法",
                FieldNumber = 14,
                Required    = true,
                Accept      = VisitCollectCategoryId,
            };

            //15
            CollectOffsetMonthField = new NumberFieldDefinition <Customer, int>(k => k.CollectOffsetMonth)
            {
                FieldName   = "回収予定(月)",
                FieldNumber = 15,
                Required    = true,
                Accept      = VisitCollectOffsetMonth,
                Format      = value => value.ToString(),
            };

            //16
            CollectOffsetDayField = new NumberFieldDefinition <Customer, int>(k => k.CollectOffsetDay)
            {
                FieldName   = "回収予定(日)",
                FieldNumber = 16,
                Required    = true,
                Accept      = VisitCollectOffsetDay,
                Format      = value => value.ToString(),
            };

            //17
            StaffCodeField = new StandardIdToCodeFieldDefinition <Customer, Staff>(
                k => k.StaffId, c => c.Id, l => l.StaffCode, c => c.Code)
            {
                FieldName   = "営業担当者",
                FieldNumber = 17,
                Required    = true,
                Accept      = VisitStaffCodeField,
            };

            //18
            IsParentField = new NumberFieldDefinition <Customer, int>(k => k.IsParent)
            {
                FieldName   = "債権代表者フラグ",
                FieldNumber = 18,
                Required    = true,
                Accept      = VisitIsParent,
                Format      = value => value.ToString(),
            };

            //19
            PostalCodeField = new StringFieldDefinition <Customer>(k => k.PostalCode)
            {
                FieldName   = "郵便番号",
                FieldNumber = 19,
                Required    = false,
                Accept      = VisitPostalCode,
            };
            //20
            Address1Field = new StringFieldDefinition <Customer>(k => k.Address1)
            {
                FieldName   = "住所1",
                FieldNumber = 20,
                Required    = false,
                Accept      = VisitAddress1Field,
            };
            //21
            Address2Field = new StringFieldDefinition <Customer>(k => k.Address2)
            {
                FieldName   = "住所2",
                FieldNumber = 21,
                Required    = false,
                Accept      = VisitAddress2Field,
            };

            //22
            TelField = new StringFieldDefinition <Customer>(k => k.Tel)
            {
                FieldName   = "TEL番号",
                FieldNumber = 22,
                Required    = false,
                Accept      = VisitTel,
            };

            //23
            FaxField = new StringFieldDefinition <Customer>(k => k.Fax)
            {
                FieldName   = "FAX番号",
                FieldNumber = 23,
                Required    = false,
                Accept      = VisitFax,
            };

            //24
            CustomerStaffNameField = new StringFieldDefinition <Customer>(k => k.CustomerStaffName)
            {
                FieldName   = "相手先担当者名",
                FieldNumber = 24,
                Required    = false,
                Accept      = VisitCustomerStaffName,
            };

            //25
            NoteField = new StringFieldDefinition <Customer>(k => k.Note)
            {
                FieldName   = "備考",
                FieldNumber = 25,
                Required    = false,
                Accept      = VisitNote,
            };

            //26
            UseFeeLearningField = new NumberFieldDefinition <Customer, int>(k => k.UseFeeLearning)
            {
                FieldName   = "手数料自動学習",
                FieldNumber = 26,
                Required    = true,
                Accept      = VisitUseFeeLearning,
                Format      = value => value.ToString(),
            };

            //27
            SightOfBillField = new NullableNumberFieldDefinition <Customer, int>(k => k.SightOfBill)
            {
                FieldName   = "回収サイト",
                FieldNumber = 27,
                Required    = true,
                Accept      = VisitSightOfBill,
                Format      = value => value.ToString(),
            };

            //28
            DensaiCodeField = new StringFieldDefinition <Customer>(k => k.DensaiCode)
            {
                FieldName   = "電子手形用企業コード",
                FieldNumber = 28,
                Required    = false,
                Accept      = VisitDensaiCode,
            };

            //29
            CreditCodeField = new StringFieldDefinition <Customer>(k => k.CreditCode)
            {
                FieldName   = "信用調査用企業コード",
                FieldNumber = 29,
                Required    = false,
                Accept      = VisitCreditCode,
            };

            //30
            CreditRankField = new StringFieldDefinition <Customer>(k => k.CreditRank)
            {
                FieldName   = "与信ランク",
                FieldNumber = 30,
                Required    = false,
                Accept      = VisitCreditRank,
            };

            //31
            TransferBankCodeField = new StringFieldDefinition <Customer>(k => k.TransferBankCode)
            {
                FieldName   = "口座振替用銀行コード",
                FieldNumber = 31,
                Required    = false,
                Accept      = VisitTransferBankCode,
            };

            //32
            TransferBankNameField = new StringFieldDefinition <Customer>(k => k.TransferBankName)
            {
                FieldName   = "口座振替用銀行名",
                FieldNumber = 32,
                Required    = false,
                Accept      = VisitTransferBankName,
            };

            //33
            TransferBranchCodeField = new StringFieldDefinition <Customer>(k => k.TransferBranchCode)
            {
                FieldName   = "口座振替用支店コード",
                FieldNumber = 33,
                Required    = false,
                Accept      = VisitTransferBranchCode,
            };

            //34
            TransferBranchNameField = new StringFieldDefinition <Customer>(k => k.TransferBranchName)
            {
                FieldName   = "口座振替用支店名",
                FieldNumber = 34,
                Required    = false,
                Accept      = VisitTransferBranchName,
            };
            //35
            TransferAccountNumberField = new StringFieldDefinition <Customer>(k => k.TransferAccountNumber)
            {
                FieldName   = "口座振替用口座番号",
                FieldNumber = 35,
                Required    = false,
                Accept      = VisitTransferAccountNumber,
            };

            //36
            TransferAccountTypeIdField = new NullableNumberFieldDefinition <Customer, int>(k => k.TransferAccountTypeId)
            {
                FieldName   = "口座振替用預金種別",
                FieldNumber = 36,
                Required    = true,
                Accept      = VisitTransferAccountTypeId,
                Format      = value => value.ToString(),
            };

            //37
            TransferCustomerCodeField = new StringFieldDefinition <Customer>(k => k.TransferCustomerCode)
            {
                FieldName   = "口座振替用顧客コード",
                FieldNumber = 37,
                Required    = false,
                Accept      = VisitTransferCustomerCode,
            };

            //38
            TransferNewCodeField = new StringFieldDefinition <Customer>(k => k.TransferNewCode)
            {
                FieldName   = "口座振替用新規コード",
                FieldNumber = 38,
                Required    = false,
                Accept      = VisitTransferNewCode,
            };

            //39
            TransferAccountNameField = new StringFieldDefinition <Customer>(k => k.TransferAccountName)
            {
                FieldName   = "口座振替用預金者名",
                FieldNumber = 39,
                Required    = false,
                Accept      = VisitTransferAccountName,
            };

            //40
            ThresholdValueField = new NumberFieldDefinition <Customer, decimal>(k => k.ThresholdValue)
            {
                FieldName   = "約定金額",
                FieldNumber = 40,
                Required    = true,
                Accept      = VisitThresholdValue,
                Format      = value => value.ToString("#"),
            };

            //41
            LessThanCollectCategoryIdField = new StandardIdToCodeFieldDefinition <Customer, Category>(
                k => k.LessThanCollectCategoryId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "約定金額未満",
                FieldNumber = 41,
                Required    = true,
                Accept      = VisitLessThanCollectCategoryId,
            };

            //42
            GreaterThanCollectCategoryId1Field = new StandardIdToCodeFieldDefinition <Customer, Category>(
                k => k.GreaterThanCollectCategoryId1, c => c.Id, null, c => c.Code)
            {
                FieldName   = "約定金額以上1",
                FieldNumber = 42,
                Required    = true,
                Accept      = VisitGreaterThanCollectCategoryId1,
            };

            //43
            GreaterThanRate1Field = new NullableNumberFieldDefinition <Customer, decimal>(k => k.GreaterThanRate1)
            {
                FieldName   = "分割1",
                FieldNumber = 43,
                Required    = true,
                Accept      = VisitGreaterThanRate1,
                Format      = value => value.ToString(),
            };

            //44
            GreaterThanRoundingMode1Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanRoundingMode1)
            {
                FieldName   = "端数1",
                FieldNumber = 44,
                Required    = true,
                Accept      = VisitGreaterThanRoundingMode1,
                Format      = value => value.ToString(),
            };

            //45
            GreaterThanSightOfBill1Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanSightOfBill1)
            {
                FieldName   = "回収サイト1",
                FieldNumber = 45,
                Required    = true,
                Accept      = VisitGreaterThanSightOfBill1,
                Format      = value => value.ToString(),
            };

            //46
            GreaterThanCollectCategoryId2Field = new StandardNullableIdToCodeFieldDefinition <Customer, Category>(
                k => k.GreaterThanCollectCategoryId2, c => c.Id, null, c => c.Code)
            {
                FieldName   = "約定金額以上2",
                FieldNumber = 46,
                Required    = false,
                Accept      = VisitGreaterThanCollectCategoryId2,
            };

            //47
            GreaterThanRate2Field = new NullableNumberFieldDefinition <Customer, decimal>(k => k.GreaterThanRate2)
            {
                FieldName   = "分割2",
                FieldNumber = 47,
                Required    = true,
                Accept      = VisitGreaterThanRate2,
                Format      = value => value.ToString(),
            };

            //48
            GreaterThanRoundingMode2Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanRoundingMode2)
            {
                FieldName   = "端数2",
                FieldNumber = 48,
                Required    = true,
                Accept      = VisitGreaterThanRoundingMode2,
                Format      = value => value.ToString(),
            };

            //49
            GreaterThanSightOfBill2Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanSightOfBill2)
            {
                FieldName   = "回収サイト2",
                FieldNumber = 49,
                Required    = true,
                Accept      = VisitGreaterThanSightOfBill2,
                Format      = value => value.ToString(),
            };

            //50
            GreaterThanCollectCategoryId3Field = new StandardNullableIdToCodeFieldDefinition <Customer, Category>(
                k => k.GreaterThanCollectCategoryId3, c => c.Id, null, c => c.Code)
            {
                FieldName   = "約定金額以上3",
                FieldNumber = 50,
                Required    = false,
                Accept      = VisitGreaterThanCollectCategoryId3,
            };

            //51
            GreaterThanRate3Field = new NullableNumberFieldDefinition <Customer, decimal>(k => k.GreaterThanRate3)
            {
                FieldName   = "分割3",
                FieldNumber = 51,
                Required    = true,
                Accept      = VisitGreaterThanRate3,
                Format      = value => value.ToString(),
            };

            //52
            GreaterThanRoundingMode3Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanRoundingMode3)
            {
                FieldName   = "端数3",
                FieldNumber = 52,
                Required    = true,
                Accept      = VisitGreaterThanRoundingMode3,
                Format      = value => value.ToString(),
            };

            //53
            GreaterThanSightOfBill3Field = new NullableNumberFieldDefinition <Customer, int>(k => k.GreaterThanSightOfBill3)
            {
                FieldName   = "回収サイト3",
                FieldNumber = 53,
                Required    = true,
                Accept      = VisitGreaterThanSightOfBill3,
                Format      = value => value.ToString(),
            };

            //54
            UseKanaLearningField = new NumberFieldDefinition <Customer, int>(k => k.UseKanaLearning)
            {
                FieldName   = "カナ自動学習",
                FieldNumber = 54,
                Required    = true,
                Accept      = VisitUseKanaLearning,
                Format      = value => value.ToString(),
            };

            //55
            HolidayFlagField = new NumberFieldDefinition <Customer, int>(k => k.HolidayFlag)
            {
                FieldName   = "休業日設定",
                FieldNumber = 55,
                Required    = true,
                Accept      = VisitHolidayFlag,
                Format      = value => value.ToString(),
            };

            //56
            UseFeeToleranceField = new NumberFieldDefinition <Customer, int>(k => k.UseFeeTolerance)
            {
                FieldName   = "手数料誤差利用",
                FieldNumber = 56,
                Required    = true,
                Accept      = VisitUseFeeTolerance,
                Format      = value => value.ToString(),
            };

            //57
            PrioritizeMatchingIndividuallyField = new NumberFieldDefinition <Customer, int>(k => k.PrioritizeMatchingIndividually)
            {
                FieldName   = "一括消込対象外",
                FieldNumber = 57,
                Required    = true,
                Accept      = VisitPrioritizeMatchingIndividually,
                Format      = value => value.ToString(),
            };

            //58
            CollationKeyField = new StringFieldDefinition <Customer>(k => k.CollationKey)
            {
                FieldName   = "照合番号",
                FieldNumber = 58,
                Required    = false,
                Accept      = VisitCollationKey,
            };

            //60
            ExcludeInvoicePublishField = new NumberFieldDefinition <Customer, int>(k => k.ExcludeInvoicePublish)
            {
                FieldName   = "請求書発行対象外",
                FieldNumber = 60,
                Required    = true,
                Accept      = VisitExcludeInvoicePublish,
                Format      = value => value.ToString(),
            };

            //61
            ExcludeReminderPublishField = new NumberFieldDefinition <Customer, int>(k => k.ExcludeReminderPublish)
            {
                FieldName   = "督促状発行対象外",
                FieldNumber = 61,
                Required    = true,
                Accept      = VisitExcludeReminderPublish,
                Format      = value => value.ToString(),
            };

            //62
            DestinationDepartmentNameField = new StringFieldDefinition <Customer>(k => k.DestinationDepartmentName)
            {
                FieldName   = "相手先部署",
                FieldNumber = 62,
                Required    = false,
                Accept      = VisitDestinationDepartmentName,
            };

            //63
            HonorificField = new StringFieldDefinition <Customer>(k => k.Honorific)
            {
                FieldName   = "敬称",
                FieldNumber = 63,
                Required    = false,
                Accept      = VisitHonorific,
            };

            Fields.AddRange(new IFieldDefinition <Customer>[] {
                CompanyIdField, CustomerCodeField, CustomerNameField, CustomerKanaField, ExclusiveBankCodeField,

                ExclusiveBankNameField, ExclusiveBranchCodeField, ExclusiveBranchNameField, ExclusiveAccountNumberField, ExclusiveAccountTypeIdField

                , ShareTransferFeeField, CreditLimitField, ClosingDayField, CollectCategoryIdField, CollectOffsetMonthField

                , CollectOffsetDayField, StaffCodeField, IsParentField, PostalCodeField, Address1Field,

                Address2Field, TelField, FaxField, CustomerStaffNameField, NoteField,

                UseFeeLearningField, SightOfBillField, DensaiCodeField, CreditCodeField, CreditRankField,

                TransferBankCodeField, TransferBankNameField, TransferBranchCodeField, TransferBranchNameField, TransferAccountNumberField,

                TransferAccountTypeIdField, TransferCustomerCodeField, TransferNewCodeField, TransferAccountNameField,

                ThresholdValueField, LessThanCollectCategoryIdField, GreaterThanCollectCategoryId1Field, GreaterThanRate1Field,

                GreaterThanRoundingMode1Field, GreaterThanSightOfBill1Field, GreaterThanCollectCategoryId2Field, GreaterThanRate2Field, GreaterThanRoundingMode2Field

                , GreaterThanSightOfBill2Field, GreaterThanCollectCategoryId3Field, GreaterThanRate3Field, GreaterThanRoundingMode3Field, GreaterThanSightOfBill3Field

                , UseKanaLearningField, HolidayFlagField, UseFeeToleranceField, PrioritizeMatchingIndividuallyField, CollationKeyField, ExcludeInvoicePublishField, ExcludeReminderPublishField

                , DestinationDepartmentNameField, HonorificField
            });

            KeyFields.AddRange(new IFieldDefinition <Customer>[]
            {
                CustomerCodeField,
            });
        }
Exemple #16
0
        public MatchingHistoryFileDefinition(DataExpression expression) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "消込履歴データ";
            FileNameToken   = DataTypeToken;

            var fieldNumber = 1;

            MatchingAtField = new StringFieldDefinition <ExportMatchingHistory>(k => k.CreateAt)
            {
                FieldName   = "消込日時",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitMatchingAt,
            };
            SectionCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.SectionCode)
            {
                FieldName   = "入金部門コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitSectionCode,
            };
            SectionNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.SectionName)
            {
                FieldName   = "入金部門名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitSectionName,
            };
            DepartmentCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.DepartmentCode)
            {
                FieldName   = "請求部門コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitDepartmentCode,
            };
            DepartmentNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.DepartmentName)
            {
                FieldName   = "請求部門名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitDepartmentName,
            };
            CustomerCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitCustomerCode,
            };
            CustomerNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitCustomerName,
            };
            BilledAtField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BilledAt)
            {
                FieldName   = "請求日",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBilledAt,
            };
            SalesAtField = new StringFieldDefinition <ExportMatchingHistory>(k => k.SalesAt)
            {
                FieldName   = "売上日",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitSalesAt,
            };
            InvoiceCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitInvoiceCode,
            };
            BillingCategoryField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingCategory)
            {
                FieldName   = "請求区分",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBillingCategory,
            };
            CollectCategoryField = new StringFieldDefinition <ExportMatchingHistory>(k => k.CollectCategory)
            {
                FieldName   = "回収区分",
                FieldNumber = fieldNumber++,
                Required    = false,
                Accept      = VisitCollectCategory,
            };
            BilledAmountField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingAmount)
            {
                FieldName   = "請求額(税込)",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBilledAmount,
            };
            BilledAmountExcludingTaxField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingAmountExcludingTax)
            {
                FieldName   = "請求額(税抜)",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBilledAmountExcludingTax,
            };
            TaxAmountField = new StringFieldDefinition <ExportMatchingHistory>(k => k.TaxAmount)
            {
                FieldName   = "消費税",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitTaxAmount,
            };
            MatchingAmountField = new StringFieldDefinition <ExportMatchingHistory>(k => k.MatchingAmount)
            {
                FieldName   = "消込金額",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitMatchingAmount,
            };
            BilledRemainField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingRemain)
            {
                FieldName   = "請求残",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBilledRemain,
            };
            BillingNote1Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingNote1)
            {
                FieldName   = "備考",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBillingNote1,
            };
            BillingNote2Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingNote2)
            {
                FieldName   = "備考2",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBillingNote2,
            };
            BillingNote3Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingNote3)
            {
                FieldName   = "備考3",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBillingNote3,
            };
            BillingNote4Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.BillingNote4)
            {
                FieldName   = "備考4",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBillingNote4,
            };
            RecordedAtField = new StringFieldDefinition <ExportMatchingHistory>(k => k.RecordedAt)
            {
                FieldName   = "入金日",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitRecordedAt,
            };
            ReceiptIdField = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptId)
            {
                FieldName   = "入金ID",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptId,
            };
            ReceiptCategoryField = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptCategory)
            {
                FieldName   = "入金区分",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptCategory,
            };
            ReceiptAmountField = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptAmount)
            {
                FieldName   = "入金額",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptAmount,
            };
            AdvanceReceivedOccuredField = new StringFieldDefinition <ExportMatchingHistory>(k => k.AdvanceReceivedOccuredString)
            {
                FieldName   = "前受",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitAdvanceReceivedOccured,
            };
            ReceiptRemainField = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptRemain)
            {
                FieldName   = "入金残",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptRemain,
            };
            PayerNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.PayerName)
            {
                FieldName   = "振込依頼人名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitPayerName,
            };
            BankCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BankCode)
            {
                FieldName   = "銀行コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBankCode,
            };
            BankNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BankName)
            {
                FieldName   = "銀行名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBankName,
            };
            BranchCodeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BranchCode)
            {
                FieldName   = "支店コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBranchCode,
            };
            BranchNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.BranchName)
            {
                FieldName   = "支店名",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitBranchName,
            };
            AccountNumberField = new StringFieldDefinition <ExportMatchingHistory>(k => k.AccountNumber)
            {
                FieldName   = "口座番号",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitAccountNumber,
            };
            ReceiptNote1Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptNote1)
            {
                FieldName   = "備考",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptNote1,
            };
            ReceiptNote2Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptNote2)
            {
                FieldName   = "備考2",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptNote2,
            };
            ReceiptNote3Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptNote3)
            {
                FieldName   = "備考3",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptNote3,
            };
            ReceiptNote4Field = new StringFieldDefinition <ExportMatchingHistory>(k => k.ReceiptNote4)
            {
                FieldName   = "備考4",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitReceiptNote4,
            };
            VirtualBranchCode = new StringFieldDefinition <ExportMatchingHistory>(k => k.VirtualBranchCode)
            {
                FieldName   = "仮想支店コード",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitPayerCodeFirst,
            };
            VirtualAccountNumberField = new StringFieldDefinition <ExportMatchingHistory>(k => k.VirtualAccountNumber)
            {
                FieldName   = "仮想口座番号",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitPayerCodeLast,
            };
            LoginUserNameField = new StringFieldDefinition <ExportMatchingHistory>(k => k.LoginUserName)
            {
                FieldName   = "消込実行ユーザー",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitLoginUserName,
            };
            MatchingProcessTypeField = new StringFieldDefinition <ExportMatchingHistory>(k => k.MatchingProcessTypeString)
            {
                FieldName   = "消込",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitMatchingProcessType,
            };
            MatchingMemoField = new StringFieldDefinition <ExportMatchingHistory>(k => k.MatchingMemo)
            {
                FieldName   = "消込メモ",
                FieldNumber = fieldNumber++,
                Required    = true,
                Accept      = VisitMatchingMemo,
            };


            Fields.AddRange(new IFieldDefinition <ExportMatchingHistory>[] {
                MatchingAtField
                , SectionCodeField
                , SectionNameField
                , DepartmentCodeField
                , DepartmentNameField
                , CustomerCodeField
                , CustomerNameField
                , BilledAtField
                , SalesAtField
                , InvoiceCodeField
                , BillingCategoryField,
                CollectCategoryField,
                BilledAmountField
                , BilledAmountExcludingTaxField
                , TaxAmountField
                , MatchingAmountField
                , BilledRemainField
                , BillingNote1Field
                , BillingNote2Field
                , BillingNote3Field
                , BillingNote4Field
                , RecordedAtField
                , ReceiptIdField
                , ReceiptCategoryField
                , ReceiptAmountField
                , AdvanceReceivedOccuredField
                , ReceiptRemainField
                , PayerNameField
                , BankCodeField
                , BankNameField
                , BranchCodeField
                , BranchNameField
                , AccountNumberField
                , ReceiptNote1Field
                , ReceiptNote2Field
                , ReceiptNote3Field
                , ReceiptNote4Field
                , VirtualBranchCode
                , VirtualAccountNumberField
                , LoginUserNameField
                , MatchingProcessTypeField
                , MatchingMemoField
            });
        }
        public BillingJournalizingFileDefinition(DataExpression expression) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "請求仕訳出力";
            FileNameToken   = DataTypeToken;
            OutputHeader    = false;

            CompanyCodeField = new StandardIdToCodeFieldDefinition <BillingJournalizing, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyCode,
            };
            BilledAtField = new NumberFieldDefinition <BillingJournalizing, DateTime>(
                k => k.BilledAt)
            {
                FieldName   = "伝票日付",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitBilledAt,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };
            SlipNumberField = new NumberFieldDefinition <BillingJournalizing, long>(
                k => k.SlipNumber)
            {
                FieldName   = "伝票番号",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitSlipNumber,
                Format      = value => value.ToString(),
            };
            DebitDepartmentCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitDepartmentCode)
            {
                FieldName   = "借方部門コード",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitDebitDepartmentCode,
            };
            DebitDepartmentNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitDepartmentName)
            {
                FieldName   = "借方部門名",
                FieldNumber = 5,
                Required    = true,
                Accept      = VisitDebitDepartmentCode,
            };
            DebitAccountTitleCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitAccountTitleCode)
            {
                FieldName   = "借方科目コード",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitDebitAccountTitleCode,
            };
            DebitAccountTitleNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitAccountTitleName)
            {
                FieldName   = "借方科目名",
                FieldNumber = 7,
                Required    = true,
                Accept      = VisitDebitAccountTitleName,
            };
            DebitSubCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitSubCode)
            {
                FieldName   = "借方補助コード",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitDebitSubCode,
            };
            DebitSubNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.DebitSubName)
            {
                FieldName   = "借方補助名",
                FieldNumber = 9,
                Required    = true,
                Accept      = VisitDebitSubName,
            };
            CreditDepartmentCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditDepartmentCode)
            {
                FieldName   = "貸方部門コード",
                FieldNumber = 10,
                Required    = true,
                Accept      = VisitCreditDepartmentCode,
            };
            CreditDepartmentNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditDepartmentName)
            {
                FieldName   = "貸方部門名",
                FieldNumber = 11,
                Required    = true,
                Accept      = VisitCreditDepartmentName,
            };
            CreditAccountTitleCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditAccountTitleCode)
            {
                FieldName   = "貸方科目コード",
                FieldNumber = 12,
                Required    = true,
                Accept      = VisitCreditAccountTitleCode,
            };
            CreditAccountTitleNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditAccountTitleName)
            {
                FieldName   = "貸方科目名",
                FieldNumber = 13,
                Required    = true,
                Accept      = VisitCreditAccountTitleName,
            };
            CreditSubCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditSubCode)
            {
                FieldName   = "貸方補助コード",
                FieldNumber = 14,
                Required    = true,
                Accept      = VisitCreditSubCode,
            };
            CreditSubNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CreditSubName)
            {
                FieldName   = "貸方補助名",
                FieldNumber = 15,
                Required    = true,
                Accept      = VisitCreditSubName,
            };
            BillingAmountField = new NumberFieldDefinition <BillingJournalizing, decimal>(
                k => k.BillingAmount)
            {
                FieldName   = "仕訳金額",
                FieldNumber = 16,
                Required    = true,
                Accept      = VisitBillingAmount,
                Format      = value => value.ToString(),
            };
            NoteField = new StringFieldDefinition <BillingJournalizing>(
                k => k.Note)
            {
                FieldName   = "備考",
                FieldNumber = 17,
                Required    = true,
                Accept      = VisitNote,
            };
            CustomerCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = 18,
                Required    = true,
                Accept      = VisitCustomerCode,
            };
            CustomerNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = 19,
                Required    = true,
                Accept      = VisitCustomerName,
            };
            InvoiceCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = 20,
                Required    = true,
                Accept      = VisitInvoiceCode,
            };
            StaffCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.StaffCode)
            {
                FieldName   = "担当者コード",
                FieldNumber = 21,
                Required    = true,
                Accept      = VisitStaffCode,
            };
            PayerCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.PayerCode)
            {
                FieldName   = "振込依頼人コード",
                FieldNumber = 22,
                Required    = true,
                Accept      = VisitPayerCode,
            };
            PayerNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.PayerName)
            {
                FieldName   = "振込依頼人名",
                FieldNumber = 23,
                Required    = true,
                Accept      = VisitPayerName,
            };
            SourceBankNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.SourceBankName)
            {
                FieldName   = "仕向銀行",
                FieldNumber = 24,
                Required    = true,
                Accept      = VisitSourceBankName,
            };
            SourceBranchNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.SourceBranchName)
            {
                FieldName   = "仕向支店",
                FieldNumber = 25,
                Required    = true,
                Accept      = VisitSourceBranchName,
            };
            DueAtField = new NumberFieldDefinition <BillingJournalizing, DateTime>(
                k => k.DueAt)
            {
                FieldName   = "期日",
                FieldNumber = 26,
                Required    = true,
                Accept      = VisitDueAt,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToString(),
            };
            BankCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.BankCode)
            {
                FieldName   = "銀行コード",
                FieldNumber = 27,
                Required    = true,
                Accept      = VisitBankCode,
            };
            BankNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.BankName)
            {
                FieldName   = "銀行名",
                FieldNumber = 28,
                Required    = true,
                Accept      = VisitBankName,
            };
            BranchCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.BranchCode)
            {
                FieldName   = "支店コード",
                FieldNumber = 29,
                Required    = true,
                Accept      = VisitBranchCode,
            };
            BranchNameField = new StringFieldDefinition <BillingJournalizing>(
                k => k.BranchName)
            {
                FieldName   = "支店名",
                FieldNumber = 30,
                Required    = true,
                Accept      = VisitBranchName,
            };
            AccountTypeField = new NullableNumberFieldDefinition <BillingJournalizing, int>(
                k => k.AccountType)
            {
                FieldName   = "預金種別",
                FieldNumber = 31,
                Required    = true,
                Accept      = VisitAccountType,
                Format      = value => value.ToString(),
            };
            AccountNumberField = new StringFieldDefinition <BillingJournalizing>(
                k => k.AccountNumber)
            {
                FieldName   = "口座番号",
                FieldNumber = 32,
                Required    = true,
                Accept      = VisitAccountNumber,
            };
            CurrencyCodeField = new StringFieldDefinition <BillingJournalizing>(
                k => k.CurrencyCode)
            {
                FieldName   = "通貨コード",
                FieldNumber = 33,
                Required    = true,
                Accept      = VisitCurrencyCode,
            };

            Fields.AddRange(new IFieldDefinition <BillingJournalizing>[]
            {
                CompanyCodeField, BilledAtField, SlipNumberField, DebitDepartmentCodeField,
                DebitDepartmentNameField, DebitAccountTitleCodeField, DebitAccountTitleNameField,
                DebitSubCodeField, DebitSubNameField, CreditDepartmentCodeField,
                CreditDepartmentNameField, CreditAccountTitleCodeField, CreditAccountTitleNameField,
                CreditSubCodeField, CreditSubNameField, BillingAmountField,
                NoteField, CustomerCodeField, CustomerNameField,
                InvoiceCodeField, StaffCodeField, PayerCodeField,
                PayerNameField, SourceBankNameField, SourceBranchNameField,
                DueAtField, BankCodeField, BankNameField,
                BranchCodeField, BranchNameField, AccountTypeField,
                AccountNumberField, CurrencyCodeField
            });
        }
Exemple #18
0
        public BillingAgingListFileDefinition(DataExpression expression,
                                              string Remain0Header,
                                              string Remain1Header,
                                              string Remain2Header,
                                              string Remain3Header)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "請求残高年齢表";
            FileNameToken   = DataTypeToken;

            Fields.Add(DepartmentCodeField = new StringFieldDefinition <BillingAgingList>(k => k.DepartmentCode,
                                                                                          fieldName: "請求部門コード",
                                                                                          accept: VisitDepartmentCodeField));
            Fields.Add(DepartmentNameField = new StringFieldDefinition <BillingAgingList>(k => k.DepartmentName,
                                                                                          fieldName: "請求部門名",
                                                                                          accept: VisitDepartmentNameField));
            Fields.Add(StaffCodeField = new StringFieldDefinition <BillingAgingList>(k => k.StaffCode,
                                                                                     fieldName: "担当者コード",
                                                                                     accept: VisitStaffCodeField));
            Fields.Add(StaffNameField = new StringFieldDefinition <BillingAgingList>(k => k.StaffName,
                                                                                     fieldName: "担当者名",
                                                                                     accept: VisitStaffNameField));
            Fields.Add(CustomerCodeField = new StringFieldDefinition <BillingAgingList>(k => k.CustomerCode,
                                                                                        fieldName: "得意先コード",
                                                                                        accept: VisitCustomerCodeField));

            Fields.Add(CustomerNameField = new StringFieldDefinition <BillingAgingList>(k => k.CustomerName,
                                                                                        fieldName: "得意先名",
                                                                                        accept: VisitCustomerNameField));

            Fields.Add(LastMonthRemainField = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.LastMonthRemain,
                                                                                                            fieldName: "前月請求残",
                                                                                                            accept: VisitLastMonthRemainField,
                                                                                                            formatter: value => value.ToString()));

            Fields.Add(CurrenctMonthSaleField = new NumberFieldDefinition <BillingAgingList, decimal>(k => k.CurrentMonthSales,
                                                                                                      fieldName: "当月売上高",
                                                                                                      accept: VisitCurrentMonthSaleField,
                                                                                                      formatter: value => value.ToString()));

            Fields.Add(CurrentMonthReceiptField = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.CurrentMonthReceipt,
                                                                                                                fieldName: "当月入金",
                                                                                                                accept: VisitCurrentMonthReceiptField,
                                                                                                                formatter: value => value.ToString()));

            Fields.Add(CurrentMonthMatchingField = new NumberFieldDefinition <BillingAgingList, decimal>(k => k.CurrentMonthMatching,
                                                                                                         fieldName: "当月消込",
                                                                                                         accept: VisitCurrentMonthMatchingField,
                                                                                                         formatter: value => value.ToString()));

            Fields.Add(CurrenttMonthRemainField = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.CurrentMonthRemain,
                                                                                                                fieldName: "当月請求残",
                                                                                                                accept: VisitCurrentMonthRemainField,
                                                                                                                formatter: value => value.ToString()));

            Fields.Add(MonthlyRemain0Field = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.MonthlyRemain0,
                                                                                                           fieldName: Remain0Header,
                                                                                                           accept: VisitMonthlyRemain0Field,
                                                                                                           formatter: value => value.ToString()));

            Fields.Add(MonthlyRemain1Field = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.MonthlyRemain1,
                                                                                                           fieldName: Remain1Header,
                                                                                                           accept: VisitMonthlyRemain1Field,
                                                                                                           formatter: value => value.ToString()));

            Fields.Add(MonthlyRemain2Field = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.MonthlyRemain2,
                                                                                                           fieldName: Remain2Header,
                                                                                                           accept: VisitMonthlyRemain2Field,
                                                                                                           formatter: value => value.ToString()));

            Fields.Add(MonthlyRemain3Field = new NullableNumberFieldDefinition <BillingAgingList, decimal>(k => k.MonthlyRemain3,
                                                                                                           fieldName: Remain3Header,
                                                                                                           accept: VisitMonthlyRemain3Field,
                                                                                                           formatter: value => value.ToString()));
        }
Exemple #19
0
        private void PE0103_Load(object sender, EventArgs e)
        {
            try
            {
                SetScreenName();
                datBilledAtFrom.Focus();
                datBilledAtFrom.Clear();
                datBilledAtTo.Clear();
                datDueAtFrom.Value = DueAtFrom;
                datDueAtTo.Value   = DueAtTo;
                datSalesAtFrom.Clear();
                datSalesAtTo.Clear();
                datUpdateAtFrom.Clear();
                datUpdateAtTo.Clear();
                cmbAmountType.SelectedIndex = 0;
                datBilledAtFrom.Focus();
                var loadTask = new List <Task>();
                if (Company == null)
                {
                    loadTask.Add(LoadCompanyAsync());
                }
                if (ApplicationControl == null)
                {
                    loadTask.Add(LoadApplicationControlAsync());
                }
                loadTask.Add(LoadControlColorAsync());
                loadTask.Add(LoadLeagalPersonarities());
                loadTask.Add(LoadColumnNameSettingAsync());
                SuspendLayout();
                ResumeLayout();
                InitializeDepartmentSelection();
                loadTask.Add(LoadBillingCategoryCombo());
                ProgressDialog.Start(ParentForm, Task.WhenAll(loadTask), false, SessionKey);
                SetComboForInputType();
                if (ApplicationControl != null)
                {
                    var expression = new DataExpression(ApplicationControl);
                    txtCusCodeFrom.Format        = expression.CustomerCodeFormatString;
                    txtCusCodeFrom.MaxLength     = expression.CustomerCodeLength;
                    txtCusCodeFrom.ImeMode       = expression.CustomerCodeImeMode();
                    txtCusCodeFrom.PaddingChar   = expression.CustomerCodePaddingChar;
                    txtCusCodeTo.Format          = expression.CustomerCodeFormatString;
                    txtCusCodeTo.MaxLength       = expression.CustomerCodeLength;
                    txtCusCodeTo.ImeMode         = expression.CustomerCodeImeMode();
                    txtCusCodeTo.PaddingChar     = expression.CustomerCodePaddingChar;
                    txtDepCodeFrom.Format        = expression.DepartmentCodeFormatString;
                    txtDepCodeFrom.MaxLength     = expression.DepartmentCodeLength;
                    txtDepCodeFrom.PaddingChar   = expression.DepartmentCodePaddingChar;
                    txtDepCodeTo.Format          = expression.DepartmentCodeFormatString;
                    txtDepCodeTo.MaxLength       = expression.DepartmentCodeLength;
                    txtDepCodeTo.PaddingChar     = expression.DepartmentCodePaddingChar;
                    txtStaffCodeFrom.Format      = expression.StaffCodeFormatString;
                    txtStaffCodeFrom.MaxLength   = expression.StaffCodeLength;
                    txtStaffCodeFrom.PaddingChar = expression.StaffCodePaddingChar;
                    txtStaffCodeTo.Format        = expression.StaffCodeFormatString;
                    txtStaffCodeTo.MaxLength     = expression.StaffCodeLength;
                    txtStaffCodeTo.PaddingChar   = expression.StaffCodePaddingChar;
                    txtUpdateBy.Format           = expression.LoginUserCodeFormatString;
                    txtUpdateBy.MaxLength        = expression.LoginUserCodeLength;
                    txtUpdateBy.PaddingChar      = expression.LoginUserCodePaddingChar;
                }
                var format = UseForeignCurrency
                    ? "###,###,###,##0.00000"
                    : "###,###,###,##0";
                nmbAmountFrom.DisplayFields.AddRange(format, "", "", "-", "");
                nmbAmountTo.DisplayFields.AddRange(format, "", "", "-", "");

                Settings.SetCheckBoxValue <PE0103>(Login, cbxCusCode);
                Settings.SetCheckBoxValue <PE0103>(Login, cbxDeCode);
                Settings.SetCheckBoxValue <PE0103>(Login, cbxInvoiceCode);
                Settings.SetCheckBoxValue <PE0103>(Login, cbxStaffCode);
                Settings.SetCheckBoxValue <PE0103>(Login, cbxAmountType);
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
            }
        }
        private void PE0104_Load(object sender, EventArgs e)
        {
            try
            {
                SetScreenName();
                cmbAmountType.SelectedIndex = 0;
                cmbInputKubun.SelectedIndex = 0;
                datNyuukinFrom.Clear();
                datNyuukinFrom.Value = RecordedAtFrom;
                datNyuukinTo.Value   = RecordedAtTo;
                datUpdateAtFrom.Clear();
                datUpdateAtTo.Clear();
                var tasks = new List <Task>();
                if (Company == null)
                {
                    tasks.Add(LoadCompanyAsync());
                }
                if (ApplicationControl == null)
                {
                    tasks.Add(LoadApplicationControlAsync());
                }
                tasks.Add(LoadControlColorAsync());
                tasks.Add(LoadNyuukinCategoryCombo());
                tasks.Add(LoadColumnNameSettingAsync());
                tasks.Add(LoadLegalPersonalitiesAsync());
                ProgressDialog.Start(ParentForm, Task.WhenAll(tasks), false, SessionKey);
                if (ApplicationControl != null)
                {
                    var expression = new DataExpression(ApplicationControl);
                    txtCusCodeFrom.Format      = expression.CustomerCodeFormatString;
                    txtCusCodeFrom.MaxLength   = expression.CustomerCodeLength;
                    txtCusCodeFrom.ImeMode     = expression.CustomerCodeImeMode();
                    txtCusCodeFrom.PaddingChar = expression.CustomerCodePaddingChar;
                    txtCusCodeTo.Format        = expression.CustomerCodeFormatString;
                    txtCusCodeTo.MaxLength     = expression.CustomerCodeLength;
                    txtCusCodeTo.ImeMode       = expression.CustomerCodeImeMode();
                    txtCusCodeTo.PaddingChar   = expression.CustomerCodePaddingChar;
                    txtSecCodeFrom.Format      = expression.SectionCodeFormatString;
                    txtSecCodeFrom.MaxLength   = expression.SectionCodeLength;
                    txtSecCodeFrom.PaddingChar = expression.SectionCodePaddingChar;
                    txtSecCodeTo.Format        = expression.SectionCodeFormatString;
                    txtSecCodeTo.MaxLength     = expression.SectionCodeLength;
                    txtSecCodeTo.PaddingChar   = expression.SectionCodePaddingChar;
                    txtUpdatedBy.Format        = expression.LoginUserCodeFormatString;
                    txtUpdatedBy.MaxLength     = expression.LoginUserCodeLength;
                    txtUpdatedBy.PaddingChar   = expression.LoginUserCodePaddingChar;
                }
                pnlSection.Visible = UseSection;
                var format = UseForeignCurrency
                    ? "###,###,###,##0.00000"
                    : "###,###,###,##0";
                nmbAmountFrom.DisplayFields.AddRange(format, "", "", "-", "");
                nmbAmountTo.DisplayFields.AddRange(format, "", "", "-", "");
                InitializeSectionSelection();
                Settings.SetCheckBoxValue <PE0104>(Login, cbxCusCode);
                Settings.SetCheckBoxValue <PE0104>(Login, cbxSecCode);

                txtPayerCodePrefix.PaddingChar = '0';
                txtPayerCodesuffix.PaddingChar = '0';
                datNyuukinFrom.Select();
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                NLogHandler.WriteErrorLog(this, ex, SessionKey);
            }
        }
Exemple #21
0
        //Creates a cached generator for the converter to use for all data tables with a matching set of data columns. Due to our assumption that data types are loose in
        //data tables, this will generate an extremely generic converter that doesn't statically use the data table's data typing.
        private static Func <DataRow, TEntity> GetConverter(IDictionary <DataColumn, string> columnToMemberMap)
        {
            List <string> columnNames = columnToMemberMap.Select(k => k.Key.ColumnName).ToList();

            if (!converters.TryGetValue(columnNames, out Func <DataRow, TEntity> value))
            {
                NewExpression       instantiate = Expression.New(type);
                ParameterExpression dataRow     = Expression.Parameter(typeof(DataRow), "dataRow");
                //Declare a dictionary to prevent creating more than 1 instance of a temporary parser type.
                ConcurrentDictionary <Type, ParameterExpression> parameters = new ConcurrentDictionary <Type, ParameterExpression>();
                List <MemberBinding> memberBindings = new List <MemberBinding>();
                //Iterate over the column map and generate the expressions needed.
                foreach (KeyValuePair <DataColumn, string> columnToMember in columnToMemberMap)
                {
                    if (TryGetMemberInfo(columnToMember.Value, columnToMember.Key.Table.CaseSensitive, out MemberInfo memberInfo))
                    {
                        //Get a member expression. This is used for type resolution.
                        Type memberType = Expression.MakeMemberAccess(instantiate, memberInfo).Type,
                                                           realType = Nullable.GetUnderlyingType(memberType) ?? memberType;
                        //Get the data column expression used to access the data row field.
                        DataColumnExpression dataColumn = DataExpression.DataColumn(DataExpression.DataTable(dataRow), columnToMember.Key.ColumnName);
                        //Get the is null expression used to determine if the data field is null.
                        DataFieldIsNullExpression callDataFieldIsNull = DataExpression.DataFieldIsNull(dataRow, dataColumn);
                        ConditionalExpression     dataFieldIsNull     = Expression.Condition(callDataFieldIsNull, Expression.Default(memberType),
                                                                                             Expression.Default(memberType));
                        //Get the is assignable from expression used to determine if the data column can be converted to the member type.
                        IsAssignableFromExpression callIsAssignableFrom = DataExpression.IsAssignableFrom(DataExpression.DataType(dataColumn), memberType);
                        //Get the is assignable from true result. If member type is string, then call the trim method on the string.
                        Expression isAssignableFromTrue = Expression.Convert(DataExpression.DataField(dataRow, dataColumn), memberType);
                        if (typeof(string).IsAssignableFrom(memberType))
                        {
                            isAssignableFromTrue = Expression.Call(isAssignableFromTrue, "Trim", Type.EmptyTypes);
                        }
                        //Get the conditional expression used to process the data column type conversion.
                        ConditionalExpression isAssignableFrom = Expression.Condition(callIsAssignableFrom,
                                                                                      isAssignableFromTrue, Expression.Default(memberType));
                        if (realType.GetMethods().Any(m => m.Name == "TryParse"))
                        {
                            //Get the is string parameter expression used for try parsing.
                            ParameterExpression stringLocal = parameters.GetOrAdd(typeof(string), Expression.Variable(typeof(string))),
                                                outLocal    = parameters.GetOrAdd(realType, Expression.Variable(realType));
                            //Get the type is assign and try parse expressions used for try parsing.
                            TypeIsAssignExpression typeIsAssign = DataExpression.TypeIsAssign(
                                DataExpression.DataField(dataRow, dataColumn), stringLocal);
                            TryParseExpression callTryParse = DataExpression.TryParse(stringLocal, outLocal);
                            //Get the conditional expression used to process the try parse conversion.
                            ConditionalExpression tryParse = Expression.Condition(
                                Expression.AndAlso(typeIsAssign, callTryParse),
                                Expression.Convert(outLocal, memberType), Expression.Default(memberType));
                            //Update is assignable from with the try parse method.
                            isAssignableFrom = isAssignableFrom.Update(isAssignableFrom.Test, isAssignableFrom.IfTrue, tryParse);
                        }
                        if (typeof(IConvertible).IsAssignableFrom(realType))
                        {
                            //Get the change type expression.
                            ChangeTypeExpression callChangeType = DataExpression.ChangeType(
                                DataExpression.DataField(dataRow, dataColumn), realType);
                            //Get the conversion expression for the change type. If member type is string, then call the trim method on the string.
                            Expression changeType = Expression.Convert(callChangeType, memberType);
                            if (typeof(string).IsAssignableFrom(memberType))
                            {
                                changeType = Expression.Call(changeType, "Trim", Type.EmptyTypes);
                            }
                            //Determine if try parse is set. If so, update it and is assignable from. Otherwise, add change type to is assignable from.
                            if (isAssignableFrom.IfFalse is ConditionalExpression tryParse)
                            {
                                tryParse         = tryParse.Update(tryParse.Test, tryParse.IfTrue, changeType);
                                isAssignableFrom = isAssignableFrom.Update(isAssignableFrom.Test, isAssignableFrom.IfTrue, tryParse);
                            }
                            else
                            {
                                isAssignableFrom = isAssignableFrom.Update(isAssignableFrom.Test, isAssignableFrom.IfTrue, changeType);
                            }
                        }
                        dataFieldIsNull = dataFieldIsNull.Update(dataFieldIsNull.Test, dataFieldIsNull.IfTrue, isAssignableFrom);
                        //Silently ignore conversion errors with the try catch expression. This is mostly for testing purposes and might be removed
                        //in the future.
                        memberBindings.Add(Expression.Bind(memberInfo, Expression.TryCatch(dataFieldIsNull,
                                                                                           Expression.Catch(typeof(Exception), Expression.Default(memberType)))));
                    }
                }
                //Get the converter lambda expression, creating the initialization block with its parameters.
                Expression <Func <DataRow, TEntity> > converter = Expression.Lambda <Func <DataRow, TEntity> >(
                    Expression.Block(parameters.Values, Expression.MemberInit(instantiate, memberBindings)), dataRow);
                //Use expression reducer to reduce the conversion lambda expression, then compile and return the delegate.
                converter = (Expression <Func <DataRow, TEntity> >) new ExpressionReducer().Visit(converter);
                value     = converters.GetOrAdd(new HashSet <string>(columnNames), converter.Compile());
            }
            return(value);
        }
Exemple #22
0
        public MatchingJournalizingCancelFileDefinition(DataExpression applicationControl)
            : base(applicationControl)
        {
            StartLineNumber = 1;
            DataTypeToken   = "消込仕訳出力取消";
            FileNameToken   = DataTypeToken;

            CompanyIdField = new StandardIdToCodeFieldDefinition <MatchingJournalizingDetail, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };

            CreateAtField = new NullableNumberFieldDefinition <MatchingJournalizingDetail, DateTime>(k => k.CreateAt)
            {
                FieldName   = "更新日時",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitCreateAtField,
                Format      = value => value.ToString(),
            };

            JournalizingNameField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.JournalizingName)
            {
                FieldName   = "仕訳区分",
                FieldNumber = 3,
                Required    = false,
                Accept      = VisitJournalizingName,
            };

            CustomerCodeField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = 4,
                Required    = false,
                Accept      = VisitCustomerCode,
            };

            CustomerNameField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = 5,
                Required    = false,
                Accept      = VisitCustomerName,
            };

            CurrencyCodeField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.CurrencyCode)
            {
                FieldName   = "通貨コード",
                FieldNumber = 6,
                Required    = false,
                Accept      = VisitCurrencyCode,
            };

            AmountField = new NumberFieldDefinition <MatchingJournalizingDetail, decimal>(k => k.Amount)
            {
                FieldName   = "金額",
                FieldNumber = 7,
                Required    = true,
                Accept      = VisitAmount,
                Format      = value => value.ToString(),
            };

            OutputAtField = new NullableNumberFieldDefinition <MatchingJournalizingDetail, DateTime>(k => k.OutputAt)
            {
                FieldName   = "仕訳日",
                FieldNumber = 8,
                Required    = true,
                Accept      = VisitOutputAtField,
                Format      = value => value.ToString(),
            };

            ReceiptAmountField = new NumberFieldDefinition <MatchingJournalizingDetail, decimal>(k => k.ReceiptAmount)
            {
                FieldName   = "入金額",
                FieldNumber = 9,
                Required    = true,
                Accept      = VisitReceiptAmount,
                Format      = value => value.ToString(),
            };

            RecordedAtField = new NullableNumberFieldDefinition <MatchingJournalizingDetail, DateTime>(k => k.RecordedAt)
            {
                FieldName   = "入金日",
                FieldNumber = 10,
                Required    = true,
                Accept      = VisitRecordedAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };

            PayerNameField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.PayerName)
            {
                FieldName   = "振込依頼人名",
                FieldNumber = 11,
                Required    = false,
                Accept      = VisitPayerName,
            };

            BilledAtField = new NullableNumberFieldDefinition <MatchingJournalizingDetail, DateTime>(k => k.BilledAt)
            {
                FieldName   = "請求日",
                FieldNumber = 12,
                Required    = true,
                Accept      = VisitBillingAtField,
                Format      = value => (value == DateTime.MinValue) ? "" : value.ToShortDateString(),
            };

            InvoiceCodeField = new StringFieldDefinition <MatchingJournalizingDetail>(k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = 13,
                Required    = false,
                Accept      = VisitInvoiceCode,
            };

            BillingAmountField = new NullableNumberFieldDefinition <MatchingJournalizingDetail, decimal>(k => k.BillingAmount)
            {
                FieldName   = "請求額",
                FieldNumber = 14,
                Required    = true,
                Accept      = VisitBillingAmount,
                Format      = value => value.ToString(),
            };

            Fields.AddRange(new IFieldDefinition <MatchingJournalizingDetail>[] {
                CompanyIdField, CreateAtField, JournalizingNameField, CustomerCodeField, CustomerNameField, CurrencyCodeField, AmountField, OutputAtField,
                ReceiptAmountField, RecordedAtField, PayerNameField, BilledAtField, InvoiceCodeField, BillingAmountField
            });
        }
Exemple #23
0
        public ReceiptSearchFileDefinition(DataExpression expression, List <GridSetting> GridSettingInfo)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "入金データ";
            FileNameToken   = DataTypeToken;

            int fieldNumber = 1;

            Fields.Add(DeleteAtField = new NullableNumberFieldDefinition <Receipt, DateTime>(k => k.DeleteAt,
                                                                                             fieldName: "削除日", fieldNumber: fieldNumber,
                                                                                             accept: VisitDeleteAtField,
                                                                                             formatter: value => (value == DateTime.MinValue) ? "" : value.ToShortDateString()));

            foreach (GridSetting gs in GridSettingInfo)
            {
                fieldNumber++;
                IFieldDefinition <Receipt> field = null;
                switch (gs.ColumnName)
                {
                case "ExcludeFlag":
                    field = (ExcludeFlagField = new NumberFieldDefinition <Receipt, int>(k => k.ExcludeFlag,
                                                                                         accept: VisitExcludeFlagField,
                                                                                         formatter: value => value.ToString()));
                    break;

                case "ExcludeCategory":
                    field = (ExcludeCategoryNameField = new StringFieldDefinition <Receipt>(k => k.ExcludeCategoryName,
                                                                                            accept: VisitExcludeCategoryNameField));
                    break;

                case "Id":
                    field = (IdField = new NumberFieldDefinition <Receipt, long>(k => k.Id,
                                                                                 accept: VisitIdField,
                                                                                 formatter: value => value.ToString()));
                    break;

                case "AssignmentState":
                    field = (AssignmentFlagNameField = new StringFieldDefinition <Receipt>(k => k.AssignmentFlagName,
                                                                                           accept: VisitAssignmentFlagNameField));
                    break;

                case "RecordedAt":
                    field = (RecordedAtField = new NumberFieldDefinition <Receipt, DateTime>(k => k.RecordedAt,
                                                                                             accept: VisitRecordedAtField,
                                                                                             formatter: value => (value == null) ? "" : value.ToShortDateString()));
                    break;

                case "CustomerCode":
                    field = (CustomerCodeField = new StandardNullableIdToCodeFieldDefinition <Receipt, Customer>(
                                 k => k.CustomerId, c => c.Id, k => k.CustomerCode, c => c.Code,
                                 accept: VisitCustomerCodeField));
                    break;

                case "CustomerName":
                    field = (CustomerNameField = new StringFieldDefinition <Receipt>(k => k.CustomerName,
                                                                                     accept: VisitCustomerNameField));
                    break;

                case "PayerName":
                    field = (PayerNameField = new StringFieldDefinition <Receipt>(k => k.PayerName,
                                                                                  accept: VisitPayerNameField));
                    break;

                case "CurrencyCode":
                    field = (CurrencyIdField = new StandardIdToCodeFieldDefinition <Receipt, Currency>(
                                 k => k.CurrencyId, c => c.Id,
                                 k => k.CurrencyCode, c => c.Code,
                                 accept: VisitCurrencyIdField));
                    break;

                case "ReceiptAmount":
                    field = (ReceiptAmountField = new NumberFieldDefinition <Receipt, decimal>(k => k.ReceiptAmount,
                                                                                               accept: VisitReceiptAmountField,
                                                                                               formatter: value => value.ToString()));
                    break;

                case "RemainAmount":
                    field = (RemainAmountField = new NumberFieldDefinition <Receipt, decimal>(k => k.RemainAmount,
                                                                                              accept: VisitRemainAmountField,
                                                                                              formatter: value => value.ToString()));
                    break;

                case "ExcludeAmount":
                    field = (ExcludeAmountField = new NumberFieldDefinition <Receipt, decimal>(k => k.ExcludeAmount,
                                                                                               accept: VisitExcludeAmountField,
                                                                                               formatter: value => value.ToString()));
                    break;

                case "ReceiptCategoryName":
                    field = (ReceiptCategoryNameField = new StringFieldDefinition <Receipt>(k => k.CategoryCodeName,
                                                                                            accept: VisitReceiptCategoryNameField));
                    break;

                case "InputType":
                    field = (InputTypeField = new StringFieldDefinition <Receipt>(k => k.InputTypeName,
                                                                                  accept: VisitInputTypeField));
                    break;

                case "Note1":
                    field = (Note1Field = new StringFieldDefinition <Receipt>(k => k.Note1,
                                                                              accept: VisitNote1Field));
                    break;

                case "Note2":
                    field = (Note2Field = new StringFieldDefinition <Receipt>(k => k.Note2,
                                                                              accept: VisitNote2Field));
                    break;

                case "Note3":
                    field = (Note3Field = new StringFieldDefinition <Receipt>(k => k.Note3,
                                                                              accept: VisitNote3Field));
                    break;

                case "Note4":
                    field = (Note4Field = new StringFieldDefinition <Receipt>(k => k.Note4,
                                                                              accept: VisitNote4Field));
                    break;

                case "Memo":
                    field = (ReceiptMemoField = new StringFieldDefinition <Receipt>(k => k.ReceiptMemo,
                                                                                    accept: VisitReceiptMemoField));
                    break;

                case "DueAt":
                    field = (DueAtField = new NullableNumberFieldDefinition <Receipt, DateTime>(k => k.DueAt,
                                                                                                accept: VisitDueAtField,
                                                                                                formatter: value => (value == null) ? "" : value.ToShortDateString()));
                    break;

                case "SectionCode":
                    field = (SectionIdField = new StandardNullableIdToCodeFieldDefinition <Receipt, Section>(
                                 k => k.SectionId, c => c.Id,
                                 k => k.SectionCode, c => c.Code,
                                 accept: VisitSectionIdField));
                    break;

                case "SectionName":
                    field = (SectionNameField = new StringFieldDefinition <Receipt>(k => k.SectionName,
                                                                                    accept: VisitSectionNameField));
                    break;

                case "BankCode":
                    field = (BankCodeField = new StringFieldDefinition <Receipt>(k => k.BankCode,
                                                                                 accept: VisitBankCodeField));
                    break;

                case "BankName":
                    field = (BankNameField = new StringFieldDefinition <Receipt>(k => k.BankName,
                                                                                 accept: VisitBankNameField));
                    break;

                case "BranchCode":
                    field = (BranchCodeField = new StringFieldDefinition <Receipt>(k => k.BranchCode,
                                                                                   accept: VisitBranchCodeField));
                    break;

                case "BranchName":
                    field = (BranchNameField = new StringFieldDefinition <Receipt>(k => k.BranchName,
                                                                                   accept: VisitBranchNameField));
                    break;

                case "AccountNumber":
                    field = (AccountNumberField = new StringFieldDefinition <Receipt>(k => k.AccountNumber,
                                                                                      accept: VisitAccountNumberField));
                    break;

                case "SourceBankName":
                    field = (SourceBankNameField = new StringFieldDefinition <Receipt>(k => k.SourceBankName,
                                                                                       accept: VisitSourceBankNameField));
                    break;

                case "SourceBranchName":
                    field = (SourceBranchNameField = new StringFieldDefinition <Receipt>(k => k.SourceBranchName,
                                                                                         accept: VisitSourceBranchNameField));
                    break;

                case "VirtualBranchCode":
                    field = (PayerCodePrefixField = new StringFieldDefinition <Receipt>(k => k.PayerCodePrefix,
                                                                                        accept: VisitPayerCodePrefixField));
                    break;

                case "VirtualAccountNumber":
                    field = (PayerCodeSuffixField = new StringFieldDefinition <Receipt>(k => k.PayerCodeSuffix,
                                                                                        accept: VisitPayerCodeSuffixField));
                    break;

                case "OutputAt":
                    field = (OutputAtField = new NullableNumberFieldDefinition <Receipt, DateTime>(k => k.OutputAt,
                                                                                                   accept: VisitOutputAtField,
                                                                                                   formatter: value => (value == null) ? "" : value.ToString()));
                    break;

                case "BillNumber":
                    field = (BillNumberField = new StringFieldDefinition <Receipt>(k => k.BillNumber,
                                                                                   accept: VisitBillNumberField));
                    break;

                case "BillBankCode":
                    field = (BillBankCodeField = new StringFieldDefinition <Receipt>(k => k.BillBankCode,
                                                                                     accept: VisitBillBankCodeField));
                    break;

                case "BillBranchCode":
                    field = (BillBranchCodeField = new StringFieldDefinition <Receipt>(k => k.BillBranchCode,
                                                                                       accept: VisitBillBranchCodeField));
                    break;

                case "BillDrawAt":
                    field = (BillDrawAtField = new NullableNumberFieldDefinition <Receipt, DateTime>(k => k.BillDrawAt,
                                                                                                     accept: VisitBillDrawAtField,
                                                                                                     formatter: value => (value == null) ? "" : value.ToShortDateString()));
                    break;

                case "BillDrawer":
                    field = (BillDrawerField = new StringFieldDefinition <Receipt>(k => k.BillDrawer,
                                                                                   accept: VisitBillDrawerField));
                    break;
                }
                if (field == null)
                {
                    continue;
                }
                field.FieldName   = gs.ColumnNameJp;
                field.FieldNumber = fieldNumber;
                Fields.Add(field);
            }

            KeyFields.AddRange(new IFieldDefinition <Receipt>[]
            {
                CurrencyIdField,
                CustomerCodeField,
                SectionIdField,
            });
        }
Exemple #24
0
        public PaymentScheduleInputFileDefinition(DataExpression expression, List <GridSetting> GridSettingInfo) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "入金予定入力";
            FileNameToken   = DataTypeToken;

            int fieldNumber = 1;

            foreach (GridSetting gs in GridSettingInfo)
            {
                Func <DateTime, string> dateTimeFormatter = value => value.ToString("yyyy/MM/dd");
                fieldNumber++;
                IFieldDefinition <Billing> field = null;
                switch (gs.ColumnName)
                {
                case nameof(Billing.BillingId):
                    field = (IdField = new NumberFieldDefinition <Billing, long>(k => k.Id,
                                                                                 accept: VisitIdField,
                                                                                 formatter: value => value.ToString()));
                    break;

                case nameof(Billing.InvoiceCode):
                    field = (InvoiceCodeField = new StringFieldDefinition <Billing>(k => k.InvoiceCode,
                                                                                    accept: VisitInvoiceCodeField));
                    break;

                case nameof(Billing.CustomerCode):
                    field = (CustomerCodeField = new StringFieldDefinition <Billing>(k => k.CustomerCode,
                                                                                     accept: VisitCustomerCodeField));
                    break;

                case nameof(Billing.CustomerName):
                    field = (CustomerNameField = new StringFieldDefinition <Billing>(k => k.CustomerName,
                                                                                     accept: VisitCustomerNameField));
                    break;

                case nameof(Billing.DepartmentCode):
                    field = (DepartmentCodeField = new StringFieldDefinition <Billing>(k => k.DepartmentCode,
                                                                                       accept: VisitDepartmentCodeField));
                    break;

                case nameof(Billing.DepartmentName):
                    field = (DepartmentNameField = new StringFieldDefinition <Billing>(k => k.DepartmentName,
                                                                                       accept: VisitDepartmentNameField));
                    break;

                case nameof(Billing.CurrencyCode):
                    field = (CurrencyCodeField = new StringFieldDefinition <Billing>(k => k.CurrencyCode,
                                                                                     accept: VisitCurrencyCodeField));
                    break;

                case nameof(Billing.BillingAmount):
                    field = (BillingAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.BillingAmount,
                                                                                               accept: VisitBillingAmountField,
                                                                                               formatter: value => value.ToString()));
                    break;

                case "DiscountAmountSummary":
                    field = (DiscountAmountSummaryField = new NumberFieldDefinition <Billing, decimal>(k => k.DiscountAmount,
                                                                                                       accept: VisitDiscountAmountSummaryField,
                                                                                                       formatter: value => value.ToString()));
                    break;

                case nameof(Billing.RemainAmount):
                    field = (RemainAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.RemainAmount,
                                                                                              accept: VisitRemainAmountField,
                                                                                              formatter: value => value.ToString()));
                    break;

                case nameof(Billing.PaymentAmount):
                    field = (PaymentAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.PaymentAmount,
                                                                                               accept: VisitPaymentAmountField,
                                                                                               formatter: value => value.ToString()));
                    break;

                case nameof(Billing.OffsetAmount):
                    field = (OffsetAmountField = new NumberFieldDefinition <Billing, decimal>(k => k.OffsetAmount,
                                                                                              accept: VisitOffsetAmountField,
                                                                                              formatter: value => value.ToString()));
                    break;

                case nameof(Billing.BilledAt):
                    field = (BilledAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.BilledAt,
                                                                                           accept: VisitBilledAtField,
                                                                                           formatter: dateTimeFormatter));
                    break;

                case nameof(Billing.BillingDueAt):
                    field = (BillingDueAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.BillingDueAt,
                                                                                               accept: VisitBillingDueAtField,
                                                                                               formatter: dateTimeFormatter));
                    break;

                case "BillingCategory":
                    field = (BillingCategoryField = new StringFieldDefinition <Billing>(k => k.BillingCategoryCodeAndName,
                                                                                        accept: VisitBillingCategoryField));
                    break;

                case nameof(Billing.ScheduledPaymentKey):
                    field = (ScheduledPaymentKeyField = new StringFieldDefinition <Billing>(k => k.ScheduledPaymentKey,
                                                                                            accept: VisitScheduledPaymentKeyField));
                    break;

                case nameof(Billing.SalesAt):
                    field = (SalesAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.SalesAt,
                                                                                          accept: VisitSalesAtField,
                                                                                          formatter: dateTimeFormatter));
                    break;

                case nameof(Billing.ClosingAt):
                    field = (ClosingAtField = new NumberFieldDefinition <Billing, DateTime>(k => k.ClosingAt,
                                                                                            accept: VisitClosingAtField,
                                                                                            formatter: dateTimeFormatter));
                    break;

                case "CollectCategory":
                    field = (CollectCategoryField = new StringFieldDefinition <Billing>(k => k.CollectCategoryCodeAndName,
                                                                                        accept: VisitCollectCategoryField));
                    break;

                case nameof(Billing.Note1):
                    field = (Note1Field = new StringFieldDefinition <Billing>(k => k.Note1,
                                                                              accept: VisitNote1Field));
                    break;

                case nameof(Billing.Note2):
                    field = (Note2Field = new StringFieldDefinition <Billing>(k => k.Note2,
                                                                              accept: VisitNote2Field));
                    break;

                case nameof(Billing.Note3):
                    field = (Note3Field = new StringFieldDefinition <Billing>(k => k.Note3,
                                                                              accept: VisitNote3Field));
                    break;

                case nameof(Billing.Note4):
                    field = (Note4Field = new StringFieldDefinition <Billing>(k => k.Note4,
                                                                              accept: VisitNote4Field));
                    break;

                case nameof(Billing.StaffCode):
                    field = (StaffCodeField = new StringFieldDefinition <Billing>(k => k.StaffCode,
                                                                                  accept: VisitStaffCodeField));
                    break;

                case nameof(Billing.StaffName):
                    field = (StaffNameField = new StringFieldDefinition <Billing>(k => k.StaffName,
                                                                                  accept: VisitStaffNameField));
                    break;

                case nameof(Billing.InputType):
                    field = (InputTypeField = new StringFieldDefinition <Billing>(k => k.InputTypeName,
                                                                                  accept: VisitInputTypeField));
                    break;

                case nameof(Billing.Memo):
                    field = (BillingMemoField = new StringFieldDefinition <Billing>(k => k.Memo,
                                                                                    accept: VisitBillingMemoField));
                    break;

                case nameof(Billing.Note5):
                    field = (Note5Field = new StringFieldDefinition <Billing>(k => k.Note5,
                                                                              accept: VisitNote5Field));
                    break;

                case nameof(Billing.Note6):
                    field = (Note6Field = new StringFieldDefinition <Billing>(k => k.Note6,
                                                                              accept: VisitNote6Field));
                    break;

                case nameof(Billing.Note7):
                    field = (Note7Field = new StringFieldDefinition <Billing>(k => k.Note7,
                                                                              accept: VisitNote7Field));
                    break;

                case nameof(Billing.Note8):
                    field = (Note8Field = new StringFieldDefinition <Billing>(k => k.Note8,
                                                                              accept: VisitNote8Field));
                    break;

                default:
                    break;
                }
                if (field == null)
                {
                    continue;
                }
                field.FieldName   = gs.ColumnNameJp;
                field.FieldNumber = fieldNumber;
                Fields.Add(field);
            }
        }
Exemple #25
0
        // Join --------------------------------

        /// <summary>
        /// Creates a new joined table.
        /// </summary>
        /// <param name="kind">The kind to consider.</param>
        /// <param name="table">The table to consider.</param>
        /// <param name="expression">The expression to consider.</param>
        /// <returns>Returns a new From statement.</returns>
        public static DbJoinedTable TableAsJoin(DbQueryJoinKind kind, DbTable table, DataExpression expression)
        => new DbJoinedTable()
        {
            Kind = kind, Table = table
        }.WithCondition(expression);
Exemple #26
0
        public BillingAgingListDetailFileDefinition(DataExpression expression, ColumnNameSetting ColumnNameSetting)
            : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "請求残高年齢表";
            FileNameToken   = DataTypeToken;

            CustomerCodeField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.CustomerCode)
            {
                FieldName   = "得意先コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCustomerCodeField,
            };
            CustomerNameField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.CustomerName)
            {
                FieldName   = "得意先名",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCustomerNameField,
            };
            CurrencyCodeField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.CurrencyCode)
            {
                FieldName   = "通貨コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCurrencyCodeField,
            };
            BilledAtField = new NumberFieldDefinition <BillingAgingListDetail, DateTime>(
                k => k.BilledAt)
            {
                FieldName   = "請求日",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitBilledAtField,
                Format      = value => value.ToShortDateString(),
            };
            DueAtField = new NumberFieldDefinition <BillingAgingListDetail, DateTime>(
                k => k.DueAt)
            {
                FieldName   = "入金予定日",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitDueAtField,
                Format      = value => value.ToShortDateString(),
            };
            SalesAtField = new NumberFieldDefinition <BillingAgingListDetail, DateTime>(
                k => k.SalesAt)
            {
                FieldName   = "売上日",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitSalesAtField,
                Format      = value => value.ToShortDateString(),
            };
            BillingAmountField = new NumberFieldDefinition <BillingAgingListDetail, decimal>(k => k.BillingAmount)
            {
                FieldName   = "請求金額",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitBillingAmountField,
                Format      = value => value.ToString(),
            };
            RemainAmountField = new NumberFieldDefinition <BillingAgingListDetail, decimal>(k => k.RemainAmount)
            {
                FieldName   = "請求残",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitRemainAmountField,
                Format      = value => value.ToString(),
            };
            StaffCodeField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.StaffCode)
            {
                FieldName   = "担当者コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitStaffCodeField,
            };
            StaffNameField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.StaffName)
            {
                FieldName   = "担当者名",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitStaffNameField,
            };
            InvoiceCodeField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.InvoiceCode)
            {
                FieldName   = "請求書番号",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitInvoiceCodeField,
            };

            NoteField = new StringFieldDefinition <BillingAgingListDetail>(
                k => k.Note)
            {
                FieldName   = ColumnNameSetting.DisplayColumnName,
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitNoteField,
            };
            Fields.AddRange(new IFieldDefinition <BillingAgingListDetail>[] {
                CustomerCodeField, CustomerNameField, CurrencyCodeField, BilledAtField, DueAtField
                , SalesAtField, BillingAmountField, RemainAmountField, StaffCodeField, StaffNameField
                , InvoiceCodeField, NoteField
            });
        }
Exemple #27
0
        //Load Document
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openfile = new OpenFileDialog();

            openfile.DefaultExt = ".xml";
            openfile.Filter     = "(.xml)|*xml";
            //openfile.ShowDialog();

            var browsefile = openfile.ShowDialog();

            if (browsefile == true)
            {
                try

                {
                    var path = openfile.FileName;


                    EDITOR_SCREEN.Children.Clear();
                    EDITOR_SCREEN.UpdateLayout();

                    var xmlStr = File.ReadAllText(@path);
                    var str    = XElement.Parse(xmlStr);

                    foreach (var item in str.Elements())
                    {
                        if (item.Name.LocalName.ToString() == "DATABASE")
                        {
                            ((App)App.Current).Server       = item.Attribute("INSTANCE").Value.ToString();
                            ((App)App.Current).DatabaseName = item.Attribute("DATABAZA").Value.ToString();
                            MyIntances.Items.Add(new ComboBoxItem {
                                Content = ((App)App.Current).DatabaseName
                            });
                        }
                        else

                        if (item.Name.LocalName.ToString() == XMLCREATOR.TEKST)
                        {
                            var txt = new Text();
                            var top = item.Attribute(XMLCREATOR.TOP).Value.ToString();
                            txt.Txt.Text = item.Attribute("VALUE").Value.ToString();
                            Canvas.SetTop(txt, double.Parse(top));
                            Canvas.SetLeft(txt, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            txt.Width  = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            txt.Height = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value.ToString());
                            EDITOR_SCREEN.Children.Add(txt);
                        }

                        else if (item.Name.LocalName.ToString() == XMLCREATOR.FIELD)
                        {
                            var f = new Field();
                            Canvas.SetTop(f, double.Parse(item.Attribute(XMLCREATOR.TOP).Value.ToString()));
                            Canvas.SetLeft(f, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            f.DataBaseData    = new Tuple <string, string>(item.Elements("DB").FirstOrDefault().Attribute("TN").Value.ToString(), item.Elements("DB").FirstOrDefault().Attribute("CN").Value.ToString());
                            f.LblName.Content = f.DataBaseData.Item2;
                            f.Width           = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            f.Height          = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value);
                            EDITOR_SCREEN.Children.Add(f);
                        }

                        else if (item.Name.LocalName.ToString() == XMLCREATOR.TABELE)
                        {
                            var t = new Tabele();
                            Canvas.SetTop(t, double.Parse(item.Attribute(XMLCREATOR.TOP).Value.ToString()));
                            Canvas.SetLeft(t, double.Parse(item.Attribute(XMLCREATOR.LEFT).Value.ToString()));
                            t.Width  = double.Parse(item.Attribute(XMLCREATOR.WIDTH).Value);
                            t.Height = double.Parse(item.Attribute(XMLCREATOR.HEIGHT).Value);

                            foreach (XElement colums in item.Element(XMLCREATOR.COLUMNS).Elements())
                            {
                                var kol = new Kolone();

                                t.Container.ColumnDefinitions.Add(new ColumnDefinition());
                                Grid.SetColumn(kol, t.Container.ColumnDefinitions.Count - 1);

                                if (colums.Elements("DB").FirstOrDefault() != null)
                                {
                                    kol.FieldColumn.DataBaseData    = new Tuple <string, string>(colums.Elements("DB").FirstOrDefault().Attribute("TN").Value.ToString(), colums.Elements("DB").FirstOrDefault().Attribute("CN").Value.ToString());
                                    kol.FieldColumn.LblName.Content = kol.FieldColumn.DataBaseData.Item2;
                                }
                                else
                                {
                                    var rows = colums.Element("FX").Elements().ToList();
                                    var e1   = new DataExpression();
                                    e1.ColumnName = new Tuple <string, string>(rows[0].Attribute("TN").Value, rows[0].Attribute("CN").Value);
                                    var OPERATOR = rows[1].Value;
                                    var e2       = new DataExpression();
                                    e2.ColumnName = new Tuple <string, string>(rows[2].Attribute("TN").Value, rows[2].Attribute("CN").Value);

                                    if (OPERATOR == "+")
                                    {
                                        var a = new AddExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "*")
                                    {
                                        var a = new MultipleExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "-")
                                    {
                                        var a = new SubstractExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                    else if (OPERATOR == "/")
                                    {
                                        var a = new MultipleExpression(e1, e2);
                                        kol.FieldColumn.Exp             = a;
                                        kol.FieldColumn.LblName.Content = a.getFunctionAsString();
                                    }
                                }

                                kol.ColHeader.Text = colums.Attribute(XMLCREATOR.COLUMN_HEADER).Value.ToString();
                                if (colums.Attribute("TOT") != null)
                                {
                                    if (colums.Attribute("TOT").Value.ToString() == "True")
                                    {
                                        kol.HasTotal = true;
                                    }
                                }
                                t.Container.Children.Add(kol);
                            }
                            EDITOR_SCREEN.Children.Add(t);
                        }

                        //schema DATA
                        else if (item.Name.LocalName == "SCHEMA")
                        {
                            SchemaCreator.CurrentChoise = new TableRelationShips();
                            SchemaCreator.CurrentChoise.Parent_Table = item.Attribute("PT").Value.ToString();
                            SchemaCreator.CurrentChoise.ParentKey    = item.Attribute("PK").Value.ToString();
                            SchemaCreator.CurrentChoise.Child_Table  = item.Attribute("CT").Value.ToString();
                            SchemaCreator.CurrentChoise.ChildKey     = item.Attribute("PK").Value.ToString();
                            SchemaCreator.CurrentChoise.MAIN_KEY.Key = item.Attribute("FILTER").Value.ToString();
                            try
                            {
                                ((App)App.Current).Server       = item.Attribute("INSTANCE").Value.ToString();
                                ((App)App.Current).DatabaseName = item.Attribute("DATABASE").Value.ToString();
                            }
                            catch
                            {
                            }
                            var nextlist = item.Element("NEXT").Elements().ToList();

                            foreach (var item2 in nextlist)
                            {
                                var pt  = item2.Attribute("PT").Value.ToString();
                                var pk  = item2.Attribute("PK").Value.ToString();
                                var ct  = item2.Attribute("CT").Value.ToString();
                                var cky = item2.Attribute("CK").Value.ToString();
                                SchemaCreator.CurrentChoise.NextRelationShips.Add(new TableRelationShips {
                                    Parent_Table = pt, ParentKey = pk, Child_Table = ct, ChildKey = cky
                                });
                            }

                            SchemaCreator.CurrentChoise.LoadColums();
                        }
                    }
                }

                catch (Exception xe)
                {
                    MessageBox.Show("Dokumenti nuk mund te hapet, mund te jete korruptuar ose formati nuk eshte i sakte !");
                }
            }
        }
        public BankBranchFileDefinition(DataExpression applicationControl) : base(applicationControl)
        {
            OutputHeader      = false;
            StartLineNumber   = 0;
            DataTypeToken     = "銀行・支店";
            FileNameToken     = DataTypeToken + "マスター";
            DuplicateAdoption = DuplicateAdoption.First; // 重複データは先勝ち
            TreatDuplicateAs  = TreatDuplicateAs.Ignore;

            // FieldNumber 1 銀行コード
            BankCodeField = new StringFieldDefinition <BankBranch>(
                cd => cd.BankCode)
            {
                FieldName   = "銀行コード",
                FieldNumber = 1,
                Required    = true,
                Accept      = VisitBankCode,
            };

            // FieldNumber 2 支店コード
            BranchCodeField = new StringFieldDefinition <BankBranch>(
                cd => cd.BranchCode)
            {
                FieldName   = "支店コード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitBranchCode,
            };

            // FieldNumber 3 銀行名カナ
            BankKanaField = new StringFieldDefinition <BankBranch>(
                cd => cd.BankKana)
            {
                FieldName   = "銀行名カナ",
                FieldNumber = 3,
                Required    = false,
                Accept      = VisitBankKana,
            };

            // FieldNumber 4 銀行名
            BankNameField = new StringFieldDefinition <BankBranch>(
                cd => cd.BankName)
            {
                FieldName   = "銀行名",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitBankName,
            };

            // FieldNumber 5 支店名カナ
            BranchKanaField = new StringFieldDefinition <BankBranch>(
                cd => cd.BranchKana)
            {
                FieldName   = "支店名カナ",
                FieldNumber = 5,
                Required    = false,
                Accept      = VisitBranchKana,
            };

            // FieldNumber 6 支店名
            BranchNameField = new StringFieldDefinition <BankBranch>(
                cd => cd.BranchName)
            {
                FieldName   = "支店名",
                FieldNumber = 6,
                Required    = true,
                Accept      = VisitBranchName,
            };

            Fields.AddRange(new IFieldDefinition <BankBranch>[] {
                BankCodeField
                , BranchCodeField
                , BankKanaField
                , BankNameField
                , BranchKanaField
                , BranchNameField
            });
            KeyFields.AddRange(new IFieldDefinition <BankBranch>[]
            {
                BankCodeField,
                BranchCodeField,
            });
        }
Exemple #29
0
        public StaffFileDefinition(DataExpression expression) : base(expression)
        {
            StartLineNumber = 1;
            DataTypeToken   = "営業担当者";
            FileNameToken   = DataTypeToken + "マスター";

            CompanyIdField = new StandardIdToCodeFieldDefinition <Staff, Company>(
                k => k.CompanyId, c => c.Id, null, c => c.Code)
            {
                FieldName   = "会社コード",
                FieldNumber = 1,
                Required    = false,
                Accept      = VisitCompanyId,
            };

            StaffCodeField = new StringFieldDefinition <Staff>(k => k.Code)
            {
                FieldName   = "営業担当者コード",
                FieldNumber = 2,
                Required    = true,
                Accept      = VisitStaffCode,
            };

            StaffNameField = new StringFieldDefinition <Staff>(k => k.Name)
            {
                FieldName   = "営業担当者名",
                FieldNumber = 3,
                Required    = true,
                Accept      = VisitStaffName,
            };

            DepartmentIdField = new StandardIdToCodeFieldDefinition <Staff, Department>(
                k => k.DepartmentId, c => c.Id,
                k => k.DepartmentCode, c => c.Code)
            {
                FieldName   = "請求部門コード",
                FieldNumber = 4,
                Required    = true,
                Accept      = VisitDepartmentId,
            };

            MailField = new StringFieldDefinition <Staff>(k => k.Mail)
            {
                FieldName   = "メールアドレス",
                FieldNumber = 5,
                Accept      = VisitStaffMail,
            };

            TelField = new StringFieldDefinition <Staff>(k => k.Tel)
            {
                FieldName   = "電話番号",
                FieldNumber = 6,
                Required    = false,
                Accept      = VisitStaffTel,
            };

            FaxField = new StringFieldDefinition <Staff>(k => k.Fax)
            {
                FieldName   = "FAX番号",
                FieldNumber = 7,
                Required    = false,
                Accept      = VisitStaffFax,
            };

            Fields.AddRange(new IFieldDefinition <Staff>[] {
                CompanyIdField, StaffCodeField, StaffNameField, DepartmentIdField, MailField, TelField, FaxField
            });
            KeyFields.AddRange(new IFieldDefinition <Staff>[]
            {
                StaffCodeField,
            });
        }
Exemple #30
0
 public ExportWorker(DataExpression exp)
 {
     DataExpression = exp;
 }