public string MaskVisaPan(string pan) { string maskedString = string.Empty; try { //var sol = _appDbContext.Branches.Where(b => b.Id == branchId).Select(s => s.Sol).FirstOrDefault(); //if (sol != null) //{ string _pan = pan; Random r = new Random(); int midDigits = r.Next(1, 7); var _firstDigits = _pan.Substring(4); Random random = new Random(); int _lastDigits = random.Next(1, 7); //var cardNumber = _firstDigits + midDigits + _lastDigits; var firstDigits = _pan.Substring(0, 6); var lastDigits = _pan.Substring(_pan.Length - 4, 4); var requiredMask = new String('*', _pan.Length - firstDigits.Length - lastDigits.Length); maskedString = string.Concat(firstDigits, requiredMask, lastDigits); PanDetails panDetails = new PanDetails() { Pan = Activity.Base64Encode(_pan), MaskedPan = maskedString, CardIssuanceId = null, EntryDate = DateTime.Now }; _appDbContext.PanDetails.Add(panDetails); _appDbContext.SaveChanges(); //} } catch (Exception ex) { } return(maskedString); }
public string GenPan(int Id, string bin, int branchId) { string maskedString = string.Empty; try { var sol = _appDbContext.Branches.Where(b => b.Id == branchId).Select(s => s.Sol).FirstOrDefault(); if (sol != null) { string pan = string.Empty; var _firstDigits = bin + sol + "070"; Random random = new Random(); int _lastDigits = random.Next(1, 7); var cardNumber = _firstDigits + _lastDigits; var firstDigits = cardNumber.Substring(0, 6); var lastDigits = cardNumber.Substring(cardNumber.Length - 4, 4); var requiredMask = new String('*', cardNumber.Length - firstDigits.Length - lastDigits.Length); maskedString = string.Concat(firstDigits, requiredMask, lastDigits); PanDetails panDetails = new PanDetails() { Pan = Activity.Base64Encode(cardNumber),// cardNumber, MaskedPan = maskedString, CardIssuanceId = Id, EntryDate = DateTime.Now }; _appDbContext.PanDetails.Add(panDetails); _appDbContext.SaveChanges(); } } catch (Exception ex) { Activity activity = new Activity(); activity.ErrorLog(ex.StackTrace, ex.Message, ex.Source, ex.InnerException.ToString()); } return(maskedString); }