Esempio n. 1
0
 /// <summary>
 /// Evaluates the contract payment filter.
 /// </summary>
 /// <param name="claim">The claim.</param>
 /// <param name="paymentResults">The payment result list.</param>
 /// <returns></returns>
 private List <PaymentResult> EvaluatePaymentFilter(IEvaluateableClaim claim,
                                                    List <PaymentResult> paymentResults)
 {
     foreach (PaymentTypeBase paymentType in Contract.PaymentTypes)
     {
         //Inject payment logics based on Payment type.
         IPaymentTypeLogic paymentlogic = Factory.CreateInstance <IPaymentTypeLogic>(((Enums.PaymentTypeCodes)paymentType.PaymentTypeId).ToString());
         paymentlogic.PaymentTypeBase = paymentType;
         //Apply payment logic for each payment types. This will consider all charge line codes to match with contract codes
         paymentResults = paymentlogic.Evaluate(claim, paymentResults, false, true);
     }
     return(paymentResults);
 }
 public List <PaymentResult> Evaluate(IEvaluateableClaim claim, List <PaymentResult> paymentResults, bool isCarveOut, bool isContractFilter)
 {
     //Match claim codes with contract codes
     if (IsMatch((claim)))
     {
         foreach (PaymentTypeBase paymentType in ContractServiceType.PaymentTypes)
         {
             //Inject paymentlogics based on Payment type.
             IPaymentTypeLogic paymentlogic = Factory.CreateInstance <IPaymentTypeLogic>(((Enums.PaymentTypeCodes)paymentType.PaymentTypeId).ToString(), _connectionString);
             paymentlogic.PaymentTypeBase = paymentType;
             //Appy payment logic for each payment types. This will consider all charge line codes to match with contract codes
             paymentResults = paymentlogic.Evaluate(claim, paymentResults, ContractServiceType.IsCarveOut, isContractFilter);
         }
     }
     return(paymentResults);
 }