Пример #1
0
        /// <summary>
        /// 订单返回通知
        /// </summary>
        /// <param name="NotifyOrderSet"></param>
        void NotifyOrders(List <Order> NotifyOrderSet)
        {
            try
            {
                List <Order> orders = new List <Order>();

                foreach (object order in NotifyOrderSet)
                {
                    Order queryOrder = (Order)order;

                    bool isNotifyState = false;

                    if (queryOrder.MerchantCode == MerchantCodeType.SW)
                    {
                        isNotifyState = new ManageSW().notigyOrderToSW(queryOrder);
                    }
                    else if (queryOrder.MerchantCode == MerchantCodeType.SUP)
                    {
                        isNotifyState = new GetAndNotifySUPOrders().notigyOrderToSUP(queryOrder);
                    }

                    if (isNotifyState)
                    {
                        queryOrder.IsNotify    = true;
                        queryOrder.EndDatetime = DateTime.Now;

                        orders.Add(queryOrder);
                    }

                    AssignmentDatagirdView(queryOrder);
                }

                //更新本地数据库
                if (orders != null && orders.Count > 0)
                {
                    //foreach (var item in orders)
                    //{
                    //    new SQLOrder().UpdateOrder(item);
                    //}
                    new SQLOrder().MultiUpdateData(orders);
                }
            }
            catch (Exception ex)
            {
                Common.LogHelper.WriteLog.Write("方法:NotifyOrders,异常:" + ex.Message + " ," + ex.Source, LogPathFile.Exception.ToString());
            }
        }
Пример #2
0
        void getSWOrders()
        {
            while (isGetSWOrdersThreadStatus)
            {
                try
                {
                    int time = 0;

                    List <Order> orderSet = new ManageSW().getOrderFromSW(ref time);

                    if (orderSet == null)
                    {
                        Thread.Sleep(time * 1000);
                        continue;
                    }

                    foreach (Order order in orderSet)
                    {
                        if (new ManageSW().notigyOrderToSW(order, true))
                        {
                            bool result  = SQLOrder.AddOrder(order);
                            int  Recount = 0;
                            while (!result)
                            {
                                if (Recount > 10)
                                {
                                    break;
                                }
                                result = SQLOrder.AddOrder(order);
                                Recount++;
                                Thread.Sleep(1 * 1000);
                            }
                        }
                    }
                    Thread.Sleep(time * 1000);
                }
                catch (Exception ex)
                {
                    WriteLog.Write("方法:getSWOrders异常,信息:" + ex.Message + ex.StackTrace, LogPathFile.Exception.ToString());
                }
            }
        }