Example #1
0
        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);
        }