internal static void UpdateOutcomeParameterSet(KernelDatabaseBase database, byte fieldOffRequest) { OUTCOME_PARAMETER_SET_DF8129_KRN2 kops = new OUTCOME_PARAMETER_SET_DF8129_KRN2(database); kops.Value.FieldOffRequest = fieldOffRequest; kops.UpdateDB(); }
internal static void UpdateOutcomeParameterSet(KernelDatabaseBase database, KernelCVMEnum cvmEnum) { OUTCOME_PARAMETER_SET_DF8129_KRN2 kops = new OUTCOME_PARAMETER_SET_DF8129_KRN2(database); kops.Value.CVM = cvmEnum; kops.UpdateDB(); }
internal static void UpdateOutcomeParameterSet(KernelDatabaseBase database, bool receipt) { OUTCOME_PARAMETER_SET_DF8129_KRN2 kops = new OUTCOME_PARAMETER_SET_DF8129_KRN2(database); kops.Value.Receipt = receipt; kops.UpdateDB(); }
internal static SignalsEnum PostOutcome(KernelDatabaseBase database, KernelQ qManager, KernelMessageidentifierEnum uiMessage, KernelStatusEnum uiStatus, byte[] holdTime, Kernel2OutcomeStatusEnum status, Kernel2StartEnum start, bool?isUIRequestOnOutcomePresent, KernelMessageidentifierEnum messageOnError, L1Enum l1Enum, byte[] SW12, L2Enum l2Enum, L3Enum l3Enum, ValueQualifierEnum valueQualifierEnum, byte[] valueQualifier, byte[] currencyCode, bool receipt, KernelCVMEnum cvmStatus) { if (messageOnError != KernelMessageidentifierEnum.N_A || l1Enum != L1Enum.NOT_SET || l2Enum != L2Enum.NOT_SET || l3Enum != L3Enum.NOT_SET) { TLV disc = InitializeDiscretionaryData(database); ERROR_INDICATION_DF8115_KRN2 kei = new ERROR_INDICATION_DF8115_KRN2(database); kei.Value.MsgOnError = messageOnError; kei.Value.L1Enum = l1Enum; kei.Value.L2Enum = l2Enum; kei.Value.L3Enum = l3Enum; if (SW12 != null) { kei.Value.SW12 = SW12; } kei.UpdateDB(); disc.Children.AddToList(kei); disc.Serialize(); } if (uiMessage != KernelMessageidentifierEnum.N_A || uiStatus != KernelStatusEnum.N_A) { USER_INTERFACE_REQUEST_DATA_DF8116_KRN2 uird = new USER_INTERFACE_REQUEST_DATA_DF8116_KRN2(database); uird.Value.KernelMessageidentifierEnum = uiMessage; uird.Value.KernelStatusEnum = uiStatus; if (holdTime == null) { TLV holdTimeTLV = database.GetDefault(EMVTagsEnum.MESSAGE_HOLD_TIME_DF812D_KRN2); if (holdTimeTLV != null) { holdTime = holdTimeTLV.Value; } else { holdTime = new byte[] { 0x00, 0x00, 0x00 } }; } uird.Value.HoldTime = holdTime; if (valueQualifier != null) { uird.Value.ValueQualifier = valueQualifier; } uird.Value.ValueQualifierEnum = valueQualifierEnum; if (currencyCode != null) { uird.Value.CurrencyCode = currencyCode; } uird.UpdateDB(); } OUTCOME_PARAMETER_SET_DF8129_KRN2 kops = new OUTCOME_PARAMETER_SET_DF8129_KRN2(database); kops.Value.Status = status; kops.Value.Start = start; if (isUIRequestOnOutcomePresent == null) { kops.Value.UIRequestOnOutcomePresent = isUIRequestOnOutcomePresent == false; kops.Value.UIRequestOnRestartPresent = isUIRequestOnOutcomePresent == false; } else { kops.Value.UIRequestOnOutcomePresent = isUIRequestOnOutcomePresent == true ? true : false; kops.Value.UIRequestOnRestartPresent = isUIRequestOnOutcomePresent == true ? false : true; } kops.Value.DataRecordPresent = database.Get(EMVTagsEnum.DATA_RECORD_FF8105_KRN2) != null ? true : false; kops.Value.DiscretionaryDataPresent = database.Get(EMVTagsEnum.DISCRETIONARY_DATA_FF8106_KRN2) != null ? true : false; //kops.Value.Receipt = receipt; kops.Value.CVM = cvmStatus; kops.UpdateDB(); qManager.EnqueueToOutput(new KernelOUTResponse( database.Get(EMVTagsEnum.OUTCOME_PARAMETER_SET_DF8129_KRN2), database.Get(EMVTagsEnum.ERROR_INDICATION_DF8115_KRN2), database.Get(EMVTagsEnum.DATA_RECORD_FF8105_KRN2), database.Get(EMVTagsEnum.DISCRETIONARY_DATA_FF8106_KRN2), database.Get(EMVTagsEnum.USER_INTERFACE_REQUEST_DATA_DF8116_KRN2))); return(SignalsEnum.STOP); }