internal BankIdCollectFailureEvent(string orderRef, CollectHintCode hintCode, BankIdSupportedDevice detectedUserDevice, BankIdLoginOptions idOptions)
     : base(BankIdEventTypes.CollectFailureId, BankIdEventTypes.CollectFailureName, BankIdEventSeverity.Failure)
 {
     OrderRef           = orderRef;
     HintCode           = hintCode;
     DetectedUserDevice = detectedUserDevice;
     BankIdOptions      = idOptions;
 }
 internal BankIdCollectPendingEvent(string orderRef, CollectHintCode hintCode, BankIdSupportedDevice detectedUserDevice, BankIdLoginOptions idOptions)
     : base(BankIdEventTypes.CollectPendingId, BankIdEventTypes.CollectPendingName, BankIdEventSeverity.Information)
 {
     OrderRef           = orderRef;
     HintCode           = hintCode;
     DetectedUserDevice = detectedUserDevice;
     BankIdOptions      = idOptions;
 }
        public MessageShortName GetMessageShortNameForCollectResponse(
            CollectStatus collectStatus,
            CollectHintCode hintCode,
            bool authPersonalIdentityNumberProvided,
            bool accessedFromMobileDevice,
            bool usingQrCode)
        {
            var mapping = CollectResponseMappings
                          .Where(x => !x.CollectStatuses.Any() || x.CollectStatuses.Contains(collectStatus))
                          .Where(x => !x.CollectHintCodes.Any() || x.CollectHintCodes.Contains(hintCode))
                          .Where(x => x.AuthPersonalIdentityNumberProvided == null || x.AuthPersonalIdentityNumberProvided == authPersonalIdentityNumberProvided)
                          .Where(x => x.AccessedFromMobileDevice == null || x.AccessedFromMobileDevice == accessedFromMobileDevice)
                          .Where(x => x.UsingQrCode == null || x.UsingQrCode == usingQrCode)
                          .FirstOrDefault(x => x.MessageShortName != MessageShortName.Unknown);

            return(mapping?.MessageShortName ?? MessageShortName.RFA22);
        }
Example #4
0
        public void GetMessageShortNameForCollectResponse_ShouldReturnReccomendedMessageForCollectResponse_FailedOrder(CollectHintCode collectHintCode, MessageShortName expected)
        {
            var collectStatus = CollectStatus.Pending;
            var authPersonalIdentityNumberProvided = true;
            var accessedFromMobileDevice           = false;

            var result = _bankIdRecommendedUserMessage.GetMessageShortNameForCollectResponse(collectStatus, collectHintCode, authPersonalIdentityNumberProvided, accessedFromMobileDevice);

            Assert.Equal(expected, result);
        }
Example #5
0
 public CollectResponseMapping(MessageShortName messageShortName, CollectStatus collectStatus, CollectHintCode collectHintCode, bool?authPersonalIdentityNumberProvided = null, bool?accessedFromMobileDevice = null)
     : this(messageShortName, new List <CollectStatus>() { collectStatus }, new List <CollectHintCode>() { collectHintCode }, authPersonalIdentityNumberProvided, accessedFromMobileDevice)
 {
 }
Example #6
0
 public static void BankIdCollectPending(this ILogger logger, string orderRef, CollectHintCode hintCode)
 {
     logger.LogInformation(BankIdLoggingEvents.BankIdCollectPending, "BankID collect is pending for OrderRef '{OrderRef}' with HintCode '{CollectHintCode}'", orderRef, hintCode);
 }
Example #7
0
 public static void BankIdCollectFailure(this ILogger logger, string orderRef, CollectHintCode hintCode)
 {
     logger.LogInformation(BankIdLoggingEvents.BankIdCollectSoftFailure, "BankID collect failed for OrderRef '{OrderRef}' with the HintCode '{CollectHintCode}'", orderRef, hintCode);
 }
 public CollectResponseMapping(MessageShortName messageShortName, CollectHintCode collectHintCode, bool usingQrCode)
     : this(messageShortName, new List <CollectStatus>() { }, new List <CollectHintCode>() { collectHintCode }, null, null, usingQrCode)
 {
 }
 internal BankIdCollectFailureEvent(string orderRef, CollectHintCode hintCode)
     : base(BankIdEventTypes.CollectFailureId, BankIdEventTypes.CollectFailureName, BankIdEventSeverity.Failure)
 {
     OrderRef = orderRef;
     HintCode = hintCode;
 }
Example #10
0
 internal BankIdCollectPendingEvent(string orderRef, CollectHintCode hintCode)
     : base(BankIdEventTypes.CollectPendingId, BankIdEventTypes.CollectPendingName, BankIdEventSeverity.Information)
 {
     OrderRef = orderRef;
     HintCode = hintCode;
 }
 public CollectResponse(CollectStatus status, CollectHintCode hintCode)
 {
     this.status   = status.ToString();
     this.hintCode = hintCode.ToString();
 }
Example #12
0
 public CollectState(CollectStatus status, CollectHintCode hintCode)
 {
     Status   = status;
     HintCode = hintCode;
 }
        public void GetMessageShortNameForCollectResponse_ShouldReturnRecommendedMessageForCollectResponse_PendingOrder_MobileBankID_AutomaticallyStartBankIDAPP(CollectHintCode collectHintCode, MessageShortName expected)
        {
            var collectStatus = CollectStatus.Pending;
            var authPersonalIdentityNumberProvided = false;
            var accessedFromMobileDevice           = true;
            var usingQrCode = false;

            var result = _bankIdRecommendedUserMessage.GetMessageShortNameForCollectResponse(collectStatus, collectHintCode, authPersonalIdentityNumberProvided, accessedFromMobileDevice, usingQrCode);

            Assert.Equal(expected, result);
        }