static void Main(string[] args) { BearerToken tokenResponse = new BearerToken(); String line = String.Empty; Int32 value; Dictionary <int, string> menuList = new Dictionary <int, string>(); menuList.Add(1, "Check for open orders"); menuList.Add(2, "Acknowledge Orders"); menuList.Add(3, "Add Tracking Number"); menuList.Add(4, "Download Order XML, acknowledge order"); Console.WriteLine("-------------------------------------\r\r"); Console.WriteLine("\rPlease select:\r"); Console.WriteLine("-------------------------------------\r\r"); foreach (KeyValuePair <int, string> menuItem in menuList) { Console.WriteLine("{0}) {1} \r", menuItem.Key, menuItem.Value); } Console.WriteLine("9) Quit \r"); Console.WriteLine("\r\r"); if (args.Length > 0) { line = args[0]; Console.WriteLine(args[0]); } else { Console.Write(">"); line = Console.ReadLine(); } if (int.TryParse(line, out value)) { if (menuList.ContainsKey(value)) { /* Get token object, convert to custom object type Bearer Token */ String token = HelperClass.GetToken(user, password); tokenResponse = (BearerToken)JsonConvert.DeserializeObject(token, typeof(BearerToken)); Console.WriteLine("Token expires " + tokenResponse.ExpiresOn.ToString()); /* Check for authentication */ String isAuthenticated = HelperClass.AuthCheck(tokenResponse.Token); Console.WriteLine(isAuthenticated); } switch (value) { case 1: fulfillmentNodes = HelperClass.GetFulfillmentNodes(tokenResponse.Token); Console.WriteLine(String.Format("Retrieved {0} fulfillment nodes.", fulfillmentNodes.fulfillmentNode.Count())); OrderUrlList orderUrls = HelperClass.GetOpenOrders(tokenResponse.Token); Console.WriteLine(String.Format("There are {0} open orders", orderUrls.OrderUrls.Count)); foreach (string order_url in orderUrls.OrderUrls) { dynamic order = HelperClass.GetOrderDetail(tokenResponse.Token, order_url); String filename = HelperClass.OrderToXML(publicDirectory, order, fulfillmentNodes); } break; case 2: String order_id = String.Empty; if (args.Length == 2) { order_id = args[1]; Console.WriteLine(args[1]); } else { Console.WriteLine("Please enter order id: \r"); Console.WriteLine("\r\r"); Console.Write(">"); order_id = Console.ReadLine(); } dynamic orderAck = HelperClass.GetOrderDetail(tokenResponse.Token, "orders/withoutShipmentDetail/" + order_id); String ackResult = HelperClass.AcknowledgeOrder(orderAck, tokenResponse.Token); Console.WriteLine(ackResult); break; case 3: String trackingFilename = string.Empty; if (args.Length == 2) { order_id = args[1]; Console.WriteLine(args[1]); } else { Console.WriteLine("Please enter file name: \r"); Console.WriteLine("\r\r"); Console.Write(">"); trackingFilename = Console.ReadLine(); } String trackingResult = HelperClass.TrackingUpdate(tokenResponse.Token, trackingFilename, publicDirectory); Console.WriteLine(trackingResult); break; case 4: fulfillmentNodes = HelperClass.GetFulfillmentNodes(tokenResponse.Token); Console.WriteLine(String.Format("Retrieved {0} fulfillment nodes.", fulfillmentNodes.fulfillmentNode.Count())); OrderUrlList orderUrls2 = HelperClass.GetOpenOrders(tokenResponse.Token); Console.WriteLine(String.Format("There are {0} open orders", orderUrls2.OrderUrls.Count)); foreach (string order_url in orderUrls2.OrderUrls) { dynamic order = HelperClass.GetOrderDetail(tokenResponse.Token, order_url); Boolean successful = AddJetOrder(order); HelperClass.AcknowledgeOrder(order, tokenResponse.Token); } if (orderUrls2.OrderUrls.Count > 0) { MailMessage mail = new MailMessage(); mail.To = emailList; mail.From = emailFrom; mail.Subject = orderUrls2.OrderUrls.Count + " new order(s) on Jet.com"; mail.Body = orderUrls2.OrderUrls.Count + " new order(s) on Jet.com"; SmtpMail.SmtpServer = smtp; SmtpMail.Send(mail); } break; default: break; } } }