public static PayStatementEarningLine CreatePayStatementEarningLine(string payStatementNumber,
                                                                            decimal lineNumber,
                                                                            decimal earningRate,
                                                                            global::System.DateTimeOffset accountingDate,
                                                                            global::System.DateTimeOffset earningsDate,
                                                                            decimal reversedPayStatementLineNum,
                                                                            decimal amountInTransactionCurrency,
                                                                            decimal quantity,
                                                                            global::Microsoft.Dynamics.DataEntities.Worker worker,
                                                                            global::Microsoft.Dynamics.DataEntities.PositionV2 positionV2,
                                                                            global::Microsoft.Dynamics.DataEntities.WorkerTaxRegion workerTaxRegion,
                                                                            global::Microsoft.Dynamics.DataEntities.PayStatementHeader payStatementHeader)
        {
            PayStatementEarningLine payStatementEarningLine = new PayStatementEarningLine();

            payStatementEarningLine.PayStatementNumber          = payStatementNumber;
            payStatementEarningLine.LineNumber                  = lineNumber;
            payStatementEarningLine.EarningRate                 = earningRate;
            payStatementEarningLine.AccountingDate              = accountingDate;
            payStatementEarningLine.EarningsDate                = earningsDate;
            payStatementEarningLine.ReversedPayStatementLineNum = reversedPayStatementLineNum;
            payStatementEarningLine.AmountInTransactionCurrency = amountInTransactionCurrency;
            payStatementEarningLine.Quantity = quantity;
            if ((worker == null))
            {
                throw new global::System.ArgumentNullException("worker");
            }
            payStatementEarningLine.Worker = worker;
            if ((positionV2 == null))
            {
                throw new global::System.ArgumentNullException("positionV2");
            }
            payStatementEarningLine.PositionV2 = positionV2;
            if ((workerTaxRegion == null))
            {
                throw new global::System.ArgumentNullException("workerTaxRegion");
            }
            payStatementEarningLine.WorkerTaxRegion = workerTaxRegion;
            if ((payStatementHeader == null))
            {
                throw new global::System.ArgumentNullException("payStatementHeader");
            }
            payStatementEarningLine.PayStatementHeader = payStatementHeader;
            return(payStatementEarningLine);
        }
 partial void OnWorkerTaxRegionChanging(global::Microsoft.Dynamics.DataEntities.WorkerTaxRegion value);