예제 #1
0
 public static bool HasNonIncentiveEarnings(this RawEarning earning)
 {
     return(earning.TransactionType01 != 0 ||
            earning.TransactionType08 != 0 ||
            earning.TransactionType11 != 0 ||
            earning.TransactionType12 != 0 ||
            earning.TransactionType15 != 0 ||
            (
                earning.Period == 1 &&
                !earning.HasFirstIncentive() &&
                !earning.HasSecondIncentive() &&
                !earning.HasCareLeaverApprenticePayment()));
 }
        private void AddError(string ruleName, RawEarning rawEarning, List <DasCommitment> dasCommitments)
        {
            if (rawEarning.HasNonIncentiveEarnings())
            {
                foreach (DasCommitment dasCommitment in dasCommitments)
                {
                    _datalockValidationResultBuilder.Add(
                        rawEarning,
                        new List <string> {
                        ruleName
                    },
                        TransactionTypesFlag.AllLearning,
                        dasCommitment);
                }
            }

            if (rawEarning.HasCompletionPayment())
            {
                foreach (DasCommitment dasCommitment in dasCommitments)
                {
                    _datalockValidationResultBuilder.Add(
                        rawEarning,
                        new List <string> {
                        ruleName
                    },
                        TransactionTypesFlag.Completion,
                        dasCommitment);
                }
            }

            if (rawEarning.HasFirstIncentive())
            {
                foreach (DasCommitment dasCommitment in dasCommitments)
                {
                    _datalockValidationResultBuilder.Add(
                        rawEarning,
                        new List <string> {
                        ruleName
                    },
                        TransactionTypesFlag.FirstEmployerProviderIncentives,
                        dasCommitment);
                }
            }

            if (rawEarning.HasSecondIncentive())
            {
                foreach (DasCommitment dasCommitment in dasCommitments)
                {
                    _datalockValidationResultBuilder.Add(
                        rawEarning,
                        new List <string> {
                        ruleName
                    },
                        TransactionTypesFlag.SecondEmployerProviderIncentives,
                        dasCommitment);
                }
            }

            if (rawEarning.HasCareLeaverApprenticePayment())
            {
                foreach (DasCommitment dasCommitment in dasCommitments)
                {
                    _datalockValidationResultBuilder.Add(
                        rawEarning,
                        new List <string> {
                        ruleName
                    },
                        TransactionTypesFlag.CareLeaverApprenticePayments,
                        dasCommitment);
                }
            }
        }