public static dynamic SendTokenToCustomer(string accountNumber, string serialNumber) { try { dynamic returnedCustomer = new System.Dynamic.ExpandoObject(); if (!string.IsNullOrEmpty(serialNumber) && ThirdPartyDL.RetrievePanDetailByAccountNumber(serialNumber) == null) { throw new Exception(string.Format("Serial Number: {0} is not valid.", serialNumber)); } else { Customer customer = CustomerDL.RetrieveCustomerByAccountNumber(accountNumber); if (customer != null) { Random random = new Random(); string token = random.Next(1999, 9999).ToString(); returnedCustomer.customerID = customer.ID; returnedCustomer.customerToken = token; Mail.SendCardRequestToken(customer, token); return(returnedCustomer); } else { throw new Exception(string.Format("Invalid customer with account number: {0}", accountNumber)); } } } catch (Exception ex) { throw ex; } }
public static List <Object> RetrievePans() { try { List <Object> returnedPans = new List <object>(); List <PANDetail> panDetails = ThirdPartyDL.RetrievePanDetails(); foreach (PANDetail panDetail in panDetails) { Object panDetailObj = new { Pan = panDetail.pan, SerialNumber = panDetail.account_number, Status = panDetail.Status }; returnedPans.Add(panDetailObj); } return(returnedPans); } catch (Exception ex) { throw ex; } }
public static PANDetail RetrievePanDetailsByAccountNumber(string accountNumber) { try { return(ThirdPartyDL.RetrievePanDetailByAccountNumber(accountNumber)); } catch (Exception ex) { throw ex; } }
public static PANDetail RetrievePanDetailsByPan(string pan) { try { return(ThirdPartyDL.RetrievePanDetailByPan(pan)); } catch (Exception ex) { throw ex; } }
public static bool Save(PANDetail panDetail, out string message) { try { if (ThirdPartyDL.PanExists(panDetail)) { message = string.Format("Pan: {0} or Serial Number: {1} exists already", panDetail.pan, panDetail.account_number); return(false); } else { message = string.Empty; return(ThirdPartyDL.Save(panDetail)); } } catch (Exception ex) { throw ex; } }
public static bool UpdateCardRequest(long cardRequestID, string requestType, string loggedInUsername) { try { string clearPan = string.Empty; CardRequest cardRequest = new CardRequest(); if (requestType == StatusUtil.RequestType.WithSerialNumber.ToString()) { List <KioskSolutionLibrary.ModelLibrary.EntityFrameworkLibrary.ThirdPartyData.PANDetail> unusedPans = ThirdPartyDL.RetrieveUnUsedPanDetails(); if (unusedPans.Count == 0) { throw new Exception("There are no available pans for linking"); } else { clearPan = unusedPans.Take(1).First().pan; } } bool updated = CustomerDL.UpdateCardRequest(cardRequestID, clearPan, loggedInUsername, out cardRequest); if (updated) { Mail.SendCardPickup(cardRequest); } return(updated); } catch (Exception ex) { throw ex; } }