internal static OrderUrlList GetOpenOrders(String token)
        {
            OrderUrlList orderUrls = new OrderUrlList();

            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                var response   = client.GetAsync("https://merchant-api.jet.com/api/orders/ready").Result.Content.ReadAsStringAsync().Result;
                var order_urls = JsonConvert.DeserializeObject(response);
                orderUrls = (OrderUrlList)JsonConvert.DeserializeObject(response, typeof(OrderUrlList));
            }
            return(orderUrls);
        }
示例#2
0
        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;
                }
            }
        }