static void GetEmails(CardDetails cardDetails) { WebRequest request = WebRequest.Create("http://localhost:8080/cardDetails?" + cardDetails.GetRequestString()); WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); Console.WriteLine(reader.ReadToEnd()); response.Close(); }
public CardDetails GetCard() { CardDetails cardDetails = new CardDetails(); Regex trailingDigitsRegex = new Regex(@"[\*|x]{4,8}(\d{4})"); cardDetails.trailingDigits = trailingDigitsRegex.Matches(receiptString)[0].Groups[1].ToString(); Regex leadingDigitsRegex = new Regex(@"(\d{4,6})[\*|x]{4,8}"); MatchCollection leadingDigitsMatchCollection = leadingDigitsRegex.Matches(receiptString); if (leadingDigitsMatchCollection.Count > 0) { cardDetails.leadingDigits = leadingDigitsMatchCollection[0].Groups[1].ToString(); } else { cardDetails.leadingDigits = ""; } Regex cardTypeRegex = new Regex(@"(MASTERCARD|Visa Debit)"); cardDetails.cardType = cardTypeRegex.Matches(receiptString)[0].Groups[1].ToString(); Regex expiryDateRegex = new Regex(@"(\d{2}/\d{2})"); MatchCollection expiryDateMatchCollection = expiryDateRegex.Matches(receiptString); if (expiryDateMatchCollection.Count > 0) { cardDetails.expiryDate = expiryDateMatchCollection[0].Groups[1].ToString(); } else { cardDetails.expiryDate = ""; } cardDetails.startDate = ""; Console.WriteLine(receiptString); Console.WriteLine(cardDetails.expiryDate); return(cardDetails); }
static void Main(string[] args) { ReceiptParser receiptParser = new ReceiptParser(); receiptParser.receiptString = @"MASTERCARD Auth Code: 759830 Merchant ID: 887 Account Number: ************3456 Expiry: 08/15 NO CARDHOLDER VERIFICATION"; CardDetails cardDetails = receiptParser.GetCard(); GetEmails(cardDetails); Console.WriteLine("Would you like to enter a new email for this card(y/n)?"); string response = Console.ReadLine(); if (response == "y") { Console.WriteLine("Enter new email address: "); string newEmail = Console.ReadLine(); cardDetails.email = newEmail; HttpWebRequest putRequest = (HttpWebRequest)WebRequest.Create("http://localhost:8080/cardDetails"); putRequest.ContentType = "text/json"; putRequest.Method = "PUT"; string json = JsonConvert.SerializeObject(cardDetails); Stream putRequestStream = putRequest.GetRequestStream(); StreamWriter putStreamWriter = new StreamWriter(putRequestStream); putStreamWriter.Write(json); putStreamWriter.Close(); HttpWebResponse putResponse = (HttpWebResponse)putRequest.GetResponse(); if (putResponse.StatusCode == HttpStatusCode.OK) { Console.WriteLine("Success!"); GetEmails(cardDetails); } } }