///<summary>Updates the given bitwise supportedType enum to include onSuccessTransType when jsonFieldValue passes validation.</summary> private static void UpdateSupportedTypes(ref CanSupTransTypes supportedType, EnumNXYZ jsonFieldValue, CanSupTransTypes onSuccessTransType) { //EnumNXYZ.X is supported because it should only ever be given to us if the associated carrier is a version 04 carrier. //Some json carriers report that they support both versions 02 and 04, in this case we always select 04. //If we ever get a version 02 carrier that also returns X then we will need to check the version somewhere around here. supportedType = (jsonFieldValue.In(EnumNXYZ.Y, EnumNXYZ.X)?(supportedType | onSuccessTransType):supportedType); }
private static CanSupTransTypes GetSupportedTypes(Carrier jsonCarrier) { CanSupTransTypes supportedTypes = CanSupTransTypes.None; UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Eligibility_08, CanSupTransTypes.EligibilityTransaction_08); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Eligibility_18, CanSupTransTypes.EligibilityResponse_18); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Cob_07, CanSupTransTypes.CobClaimTransaction_07); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Claim_11, CanSupTransTypes.ClaimAckEmbedded_11e); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Claim_21, CanSupTransTypes.ClaimEobEmbedded_21e); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Reversal_02, CanSupTransTypes.ClaimReversal_02); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Reversal_12, CanSupTransTypes.ClaimReversalResponse_12); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Predetermination_03, CanSupTransTypes.PredeterminationSinglePage_03); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Predetermination_Multi, CanSupTransTypes.PredeterminationMultiPage_03); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Predetermination_13, CanSupTransTypes.PredeterminationAck_13 | CanSupTransTypes.PredeterminationAckEmbedded_13e); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Predetermination_23, CanSupTransTypes.PredeterminationAck_13 | CanSupTransTypes.PredeterminationAckEmbedded_13e); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Outstanding_04, CanSupTransTypes.RequestForOutstandingTrans_04); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Outstanding_14, CanSupTransTypes.OutstandingTransAck_14); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Summary_Reconciliation_05, CanSupTransTypes.RequestForSummaryReconciliation_05); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Summary_Reconciliation_15, CanSupTransTypes.SummaryReconciliation_15); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Payment_Reconciliation_06, CanSupTransTypes.RequestForPaymentReconciliation_06); UpdateSupportedTypes(ref supportedTypes, jsonCarrier.Payment_Reconciliation_16, CanSupTransTypes.PaymentReconciliation_16); return(supportedTypes); }
///<summary>Updates the given bitwise supportedType enum to include onSuccessTransType when jsonFieldValue passes validation.</summary> private static void UpdateSupportedTypes(CanSupTransTypes supportedType, EnumNXYZ jsonFieldValue, CanSupTransTypes onSuccessTransType) { supportedType = (jsonFieldValue == EnumNXYZ.Y?(supportedType | onSuccessTransType):supportedType); }