コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
                }
            }
        }