/// <summary> /// Load the BO profile code and value for the card to be topped-up besides loading the SB BO data object /// </summary> /// <returns></returns> public bool LoadCardInfoIntoSession(BO_CardOverviewResponse pBO_Res) { try { WriteLogEntry("LoadCardInfoIntoSession", _NavigationState.SB_Card.CardNumber + ":Start"); CardManager lCardManager = new CardManager(); Card lcard = new Card(); lcard.CardNumber = NavigationState.SB_Card.CardNumber; NavigationState.SB_Card.SB_BOdata = lCardManager.GetBackofficeDataForCard(lcard, pBO_Res); if (NavigationState.SB_Card.SB_BOdata == null) { return(false); } WriteLogEntry("LoadCardInfoIntoSession", _NavigationState.SB_Card.CardNumber + ":Completed"); return(true); } catch (Exception ex) { if (!ExceptionHandler.IsUserFriendly(ex)) { ExceptionHandler.handle(ex); return(false); } else { throw ex; } } }
public void LoadCardProfile(BO_CardOverviewResponse pBO_Res) { if (pBO_Res.CardOverview != null) { NavigationState.SB_Card.CardProfileCode = pBO_Res.CardOverview.CardProfile; //Get the code value using the profile code if (NavigationState.SB_Card.CardProfileCode != -1) { NavigationState.SB_Card.CardProfileValue = new CardManager().GetCardProfileByCodeValue(NavigationState.SB_Card.CardProfileCode.Value).Code_Description; NavigationState.SB_Card.IsPersonalized = CardManager.IsPersonalizedCardProfile((int)NavigationState.SB_Card.CardProfileCode); } } }
/// <summary> /// Perform the registration process /// </summary> /// <returns>If the operation completed successfully</returns> protected bool GoForRegisretingCard() { bool lRegisterCardCompleted = false; string lBackendID = _CardManager.GetBackendIDForCard(_NavigationState.RegisteredCard); #region Get Card profile //add the card profile to the cardregistered object _NavigationState.RegisteredCard.CardRegistered.CardProfileCode = _CardManager.GetCardProfileCode(_NavigationState.RegisteredCard.CardNumber); if (_NavigationState.RegisteredCard.CardRegistered.CardProfileCode == -1) { lRegisterCardCompleted = false; NavigationState.RegistrationResultMsg = "CardManagement|BONotConnected"; WriteLogEntry("GoForRegisretingCard", "Retrieving card profile for Card:" + _NavigationState.RegisteredCard.CardNumber + " Failed"); return(lRegisterCardCompleted); } #endregion #region Get card expiry date //add the expiry date to the card registered BO_CardOverviewResponse resOverview = _CardManager.GetCardDetails(_NavigationState.RegisteredCard.CardNumber); if (resOverview == null || resOverview.CardOverview == null) { lRegisterCardCompleted = false; NavigationState.RegistrationResultMsg = "CardManagement|BONotConnected"; WriteLogEntry("GoForRegisretingCard", "Retrieving card expiry date for Card:" + _NavigationState.RegisteredCard.CardNumber + " Failed"); return(lRegisterCardCompleted); } _NavigationState.RegisteredCard.CardRegistered.CardExpiryDate = resOverview.CardOverview.CardExpiryDate; #endregion WriteLogEntry("GoForRegisretingCard", _NavigationState.RegisteredCard.CardNumber + ":Backend ID:" + lBackendID); //if the backend id is existing on BO, just save it on DB without calling the registration BO if (lBackendID != string.Empty) { _NavigationState.RegisteredCard.CardRegistered.BackEnd_ID = lBackendID; if (NavigationState.TempCardHolderContact != null) { CloneContact(NavigationState.TempCardHolderContact, NavigationState.Contact); } if (_CardManager.IsCardRegistered(this._NavigationState.RegisteredCard.CardNumber)) { NavigationState.RegistrationResultMsg = "CardManagement|CardRegisteredErrorMsg_Registered"; lRegisterCardCompleted = false; } else { lRegisterCardCompleted = SaveCardRegisteration(); if (lRegisterCardCompleted) { NavigationState.RegistrationResultMsg = "CardManagement|SuccessMsg"; //Auditing AuditManagerBase.CommonAuditParams commonAuditParam = new AuditManagerBase.CommonAuditParams(_NavigationState.Contact.Contact_ID, DateTime.Now, (int?)_NavigationState.Contact.Contact_ID, _NavigationState.RegisteredCard.Card_ID, "B/O Registration", "Contact:" + _NavigationState.Contact.Contact_ID); AuditManager.AuditBORegisteration(commonAuditParam, "", "Personalized card registration on web portal"); //send confirmation mail SendCardRegistrationConfirmationMail(); } else { NavigationState.RegistrationResultMsg = "CardManagement|SavingErrorMsg"; } } } //Backend id is empty, so call the registration API else { string lMsg = string.Empty; lRegisterCardCompleted = RegisterCard(out lMsg); NavigationState.RegistrationResultMsg = lMsg; } WriteLogEntry("GoForRegisretingCard", _NavigationState.RegisteredCard.CardNumber + ":" + _NavigationState.RegistrationResultMsg); return(lRegisterCardCompleted); }
/// <summary> /// Ensure that card exists on BO, issued and not expired /// </summary> /// <param name="lMsg">the message of error if found</param> /// <returns>if card is valid</returns> public bool IsCardValid(out string lMsg) { bool lIsCardValid = true; lMsg = ""; CardManager lCardManager = new CardManager(); string lCardNumber = _NavigationState.SB_Card.CardNumber; BO_CardOverviewResponse lCardOverResponse = lCardManager.GetCardDetails(lCardNumber); CardDetails lCardDetails = (lCardOverResponse != null) ? lCardOverResponse.CardOverview : null; if (lCardDetails != null) { enumCardState lCardState = (enumCardState)Enum.Parse(typeof(enumCardState), lCardDetails.CardState); //enumCardStatus lCardStatus = (enumCardStatus)Enum.Parse(typeof(enumCardStatus), lCardDetails.CardStatus); PurseDetails lPurseDetails = lCardManager.GetCardPurseDetails(lCardNumber); //check that the card state, status and purse if exists is valid if (lCardState == enumCardState.Issued && lCardDetails.CardStatus == "8" && ((lPurseDetails != null && lPurseDetails.PurseStatus == "8") || lPurseDetails == null)) { lIsCardValid = true; } else { lMsg = Resources.Resource_2_0.CardSelection_CardNotIssued; lIsCardValid = false; } //check if the card is expired if (lCardDetails.CardExpiryDate < DateTime.Now) { lMsg = Resources.Resource_2_0.CardSelection_CardExpired; lIsCardValid = false; } } else { lMsg = Resources.CardManagement.BONotConnected; lIsCardValid = false; } if (lIsCardValid) { WriteLogEntry("IsCardValid", _NavigationState.SB_Card.CardNumber + ":Valid"); NavigationState.SB_Card.CardProfileCode = lCardDetails.CardProfile; //Get the code value using the profile code if (NavigationState.SB_Card.CardProfileCode != -1) { NavigationState.SB_Card.CardProfileValue = new CardManager().GetCardProfileByCodeValue(NavigationState.SB_Card.CardProfileCode.Value).Code_Description; NavigationState.SB_Card.IsPersonalized = CardManager.IsPersonalizedCardProfile((int)NavigationState.SB_Card.CardProfileCode); } } else { WriteLogEntry("IsCardValid", _NavigationState.SB_Card.CardNumber + ":" + lMsg); } return(lIsCardValid); }
/// <summary> /// Load the BO profile code and value for the card to be topped-up besides loading the SB BO data object /// </summary> /// <returns></returns> public bool LoadCardInfoIntoSession(BO_CardOverviewResponse pBO_Res) { try { WriteLogEntry("LoadCardInfoIntoSession", _NavigationState.SB_Card.CardNumber + ":Start"); CardManager lCardManager = new CardManager(); Card lcard = new Card(); lcard.CardNumber = NavigationState.SB_Card.CardNumber; NavigationState.SB_Card.SB_BOdata = lCardManager.GetBackofficeDataForCard(lcard, pBO_Res); if (NavigationState.SB_Card.SB_BOdata == null) return false; WriteLogEntry("LoadCardInfoIntoSession", _NavigationState.SB_Card.CardNumber + ":Completed"); return true; } catch (Exception ex) { if (!ExceptionHandler.IsUserFriendly(ex)) { ExceptionHandler.handle(ex); return false; } else { throw ex; } } }