public ActionResult <string> Post([FromBody] string customerId) { var cardNumber = CreditCardFactory.RandomCardNumber(CardIssuer.MasterCard); //var card = CashCardDomain.CashCard.CreateCashCard() return(cardNumber); }
public static void GeneratePII(string filename, string type) { //Number of PII to generate int gensize = 10000; List <string> piidata = new List <string>(); switch (type) { case "creditcard": if (File.Exists(filename)) { for (int i = 0; i < gensize; i++) { piidata.Add((string)CreditCardFactory.RandomCardNumber(CardIssuer.Visa)); } using (StreamWriter sw = File.AppendText(filename)) { foreach (var card in piidata) { sw.WriteLine(card); } } } else { Console.WriteLine("File does not exist"); } break; case "ssn": if (File.Exists(filename)) { Random generator = new Random(); for (int i = 0; i < gensize; i++) { piidata.Add(Regex.Replace(String.Format("{0:###-##-####}", generator.Next(0, 999999999).ToString("D9")), @"^(.{3})(.{2})(.{4})$", "$1-$2-$3")); } using (StreamWriter sw = File.AppendText(filename)) { foreach (var card in piidata) { sw.WriteLine(card); } } } else { Console.WriteLine("File does not exist"); } break; default: Console.WriteLine("Please specify type of PII to generate. Current supported types are creditcard and ssn"); break; } }
public void TestUnknownCardIssuerGeneration() { for (int i = 0; i < 10000; i++) { var unkCard = CreditCardFactory.RandomCardNumber(CardIssuer.Unknown); CreditCardDetector detector = new CreditCardDetector(unkCard); detector.Brand.ShouldBe <CardIssuer>(CardIssuer.Unknown); } }
private static async void OptionScreen1(IEndpointInstance endpointInstance) { WriteChooseOption(); Console.WriteLine("1.Request a virtual cash card"); Console.WriteLine("2.Insert a virtual cash card"); Console.WriteLine("Press Esc to exit"); Console.WriteLine(); while (true) { var auditInfo = new AuditInfo { By = "login User", Created = DateTime.UtcNow }; var key = Console.ReadKey(); Console.WriteLine(); switch (key.Key) { case ConsoleKey.Escape: break; case ConsoleKey.D1: _currentCardNumber.Number = String.Empty; var message = new RequestCashCard(auditInfo, CreditCardFactory.RandomCardNumber(CardIssuer.MasterCard), "1"); Console.WriteLine($"card has been requested and will virtual be posted"); await endpointInstance.Send("CashCard.Service", message).ConfigureAwait(false); Console.WriteLine($"waiting for card ..."); while (true) { if (_currentCardNumber.Number != message.CardNumber) { continue; } Console.WriteLine($"received cash card {message.CardNumber} and inserting ..."); break; } InsertCard(endpointInstance, _currentCardNumber.Number); break; case ConsoleKey.D2: //read Card if (String.IsNullOrEmpty(_currentCardNumber.Number)) { Console.WriteLine("Enter the card number"); _currentCardNumber.Number = Console.ReadLine(); } InsertCard(endpointInstance, _currentCardNumber.Number); break; default: Console.WriteLine("Please select correct option"); break; } } }
public async Task <int> Handle(Command request, CancellationToken cancellationToken) { Domain.Models.CuentaBancaria bankAccount = new Domain.Models.CuentaBancaria() { IdUser = request.IdUser, Pin = request.Pin, NCuenta = CreditCardFactory.RandomCardNumber(CardIssuer.Visa, 16) }; bankAccount = await _repository.CreateAccountAsync(bankAccount); return(bankAccount.Id); }
private void OnOrderSubmitted(object sender, EventArgs e) { new Action <string, OrderRequest>(SendRequest).BeginInvoke($"/orders/order", new OrderRequest() { Id = Guid.NewGuid(), Product = ((ProductDetail)cbProducts.SelectedItem).Id, Address = "Unit 1, 100 John Street, Sydney", Quantity = rnd.Next(1, 9), Payment = CreditCardFactory.RandomCardNumber((CardIssuer)Enum.Parse(typeof(CardIssuer), cbPayment.SelectedItem.ToString())), Zip = GetZip(cbArea.SelectedItem.ToString()), Country = "Australia" }, null, null); }
public void GivenACardIssuer_RandomCardNumber_ReturnsAValidCard(CardIssuer cardIssuer) { // Arrange. // Act. var number = CreditCardFactory.RandomCardNumber(cardIssuer); // Assert. var detector = new CreditCardDetector(number); detector.Brand.ShouldBe(cardIssuer); detector.IsValid(cardIssuer).ShouldBe(true); detector.IsValid().ShouldBe(true); }
public void GivenACardIssuer_RandomCardNumber_ReturnsAValidCard_Length_MaxLength(CardIssuer cardIssuer) { // Arrange. var maxLength = TestHelperUtilities.Lengths(cardIssuer).Last(); // Act. var number = CreditCardFactory.RandomCardNumber(cardIssuer, maxLength); // Assert. var detector = new CreditCardDetector(number); number.Length.ShouldBe(maxLength); detector.Brand.ShouldBe(cardIssuer); detector.IsValid(cardIssuer).ShouldBe(true); detector.IsValid().ShouldBe(true); }
public void GivenACardIssuer_RandomCardNumber_ReturnsAValidCard_Length_MinLength(CardIssuer cardIssuer) { // Arrange. var lengths = TestHelperUtilities.Lengths(cardIssuer); foreach (var len in lengths) { // Act. var number = CreditCardFactory.RandomCardNumber(cardIssuer, len); // Assert. var detector = new CreditCardDetector(number); number.Length.ShouldBe(len); detector.Brand.ShouldBe(cardIssuer); detector.IsValid(cardIssuer).ShouldBe(true); detector.IsValid().ShouldBe(true); } }
public static void GenCard() { Console.WriteLine("Do you want to Generate a Visa Credit Card Number? Y/N"); var answer = "n"; string number = ""; answer = Console.ReadLine(); if (answer == "y" || answer == "Y") { number = CreditCardFactory.RandomCardNumber(CardIssuer.Visa); Console.WriteLine(number); Console.ReadLine(); } else { Console.WriteLine("No selected, no Credit Card Number will be generated"); } return; }
public void GivenACardIssuer_RandomCardNumber_ReturnsAValidCard_Length_Invalid(CardIssuer cardIssuer) { // Arrange. string number = ""; Exception e = new Exception(); // Act. try { number = CreditCardFactory.RandomCardNumber(cardIssuer, 99); } catch (Exception ex) { e = ex; } // Assert e.ShouldBeOfType <ArgumentException>(); e.Message.ShouldBe("99 is not valid length for card issuer " + cardIssuer.ToString()); number.Length.ShouldBe(0); }
public void GivenACardIssuer_RandomCardNumber_ReturnsAValidCard_Length_Invalid(CardIssuer cardIssuer) { // Arrange. string number = ""; Exception e = new Exception(); int length = 99; // Act. try { number = CreditCardFactory.RandomCardNumber(cardIssuer, length); } catch (Exception ex) { e = ex; } // Assert e.ShouldBeOfType <ArgumentException>(); e.Message.ShouldBe($"The card number length [{length}] is not valid for the card issuer [{cardIssuer}]."); number.Length.ShouldBe(0); }
public void TestMultiThreadRandomCardNumberGeneration() { var tasks = new List <Task>(); var results = new ConcurrentDictionary <string, byte>(); for (int i = 0; i < 20; i++) { var task = new Task(() => { for (int j = 0; j < 1000; j++) { var cardNumber = CreditCardFactory.RandomCardNumber(CardIssuer.MasterCard); Assert.NotNull(cardNumber); Assert.True(results.TryAdd(cardNumber, 0), $"Error: Factory generated a duplicated card number: [{cardNumber}]"); } }); tasks.Add(task); } tasks.ForEach(t => t.Start()); Task.WaitAll(tasks.ToArray()); }
/// <summary> /// Provides a Valid VISA card number. /// </summary> /// <returns></returns> private string GetValidCardNumber() { return(CreditCardFactory.RandomCardNumber(CardIssuer.Visa)); }
private string GenerateCreditCardNumber(string issuer) { return(CreditCardFactory.RandomCardNumber((CardIssuer)Enum.Parse(typeof(CardIssuer), issuer))); }
//GET: /api/Payments/Get/RandomCardNumber public ActionResult <string> GetRandomVisaNumber() { string visaNumber = CreditCardFactory.RandomCardNumber(CardIssuer.Visa); return(Ok(new { visaNumber })); }