public async Task <ActionResult> Post(string user)
        {
            var userModel = JsonConvert.DeserializeObject <List <UserModel> >(user);

            CardNumberGenerator numberGenerator = new CardNumberGenerator();
            Int32 cvc        = numberGenerator.RandomNumber(100, 999);
            Int32 cardNumber = numberGenerator.RandomNumber(100000000, 999999999);

            foreach (var item in userModel)
            {
                User newUser = new User();
                newUser.IDcardFincode = item.IDCardFinCode;
                newUser.Email         = item.Email;
                newUser.Name          = item.Name;
                newUser.Surname       = item.Surname;
                newUser.Number        = item.Number;
                newUser.IDCardNumber  = item.IDCardNumber;
                _dbContext.Users.Add(newUser);

                Card card = new Card();
                card.UserId      = newUser.ID;
                card.CVC         = cvc;
                card.CardNumber  = cardNumber.ToString();
                card.CreatedDate = DateTime.Now;
                card.Balans      = 0;
                card.ValidDate   = DateTime.Now.AddYears(3);

                _dbContext.Cards.Add(card);
                await _dbContext.SaveChangesAsync();
            }
            return(NoContent());
        }
        // GET: Admin/CustomerCard/Create
        public async Task <IActionResult> Create(int id)
        {
            var Subscriber = await _context.NewSubscribes.
                             Include(s => s.Package).
                             Include(s => s.SetBox).
                             SingleOrDefaultAsync(s => s.Id == id);

            _context.Update(Subscriber);
            Subscriber.Status = await _context.Status.FirstOrDefaultAsync(st => st.Name == "Viewed");

            _context.SaveChanges();

            CardAddModel card = new CardAddModel()
            {
                Id            = id,
                Address       = Subscriber.Address,
                CardNumber    = CardNumberGenerator.CardNumber(),
                ContactNumber = Subscriber.ContactNumber,
                OwnerName     = Subscriber.OwnerName,
                PackageId     = Subscriber.Package.Id,
                SetBoxId      = Subscriber.SetBox.Id,
                SubscribeDate = DateTime.Now
            };

            return(View(card));
        }
        public CashCard(Account account, string pin)
        {
            Account    = account;
            PinNumber  = pin;
            CardNumber = CardNumberGenerator.Create16DigitString();

            //Keep track of the cash cards associated with the account
            account.AddCashCard(this);

            MinimumLimit = new Payment(0.50m, CurrencyEnum.GBP);
        }