Example #1
0
        /// <summary>
        /// 指派中
        /// 等待服务返回消息送达标识
        /// 30秒未确认或拒绝订单这发送取消此设备订单
        /// </summary>
        public static void SetAssigning(string deviceId, string orderID, string carNo, string parkNo)
        {
            Task task = new TaskFactory().StartNew(() =>
            {
                var dev   = deviceId;
                var order = orderID;

                ///
                ///1.等待消息送达
                /// N 秒后如果未收到响应数据则再次发送,
                /// M 秒后如果再次未收到,则发送取消命令,并向服务器汇报
                ///2.等到按钮响应
                /// N 秒后如未收到响应数据,则发送取消命令,并向服务器汇报
                ///
                Stopwatch sw = new Stopwatch();
                sw.Start();
                while (true)
                {
                    Thread.Sleep(1000);
                    if (OrderConf.Where(x => x.Key == dev && x.Value == order).Count() > 0)
                    {
                        //N 秒未接收则告知服务器
                        if (sw.ElapsedMilliseconds > 30000)
                        {
                            //告知后推出循环
                            {
                                //var url = "http://www.chupiao.xyz/api/Servermessage";

                                var url = "http://www.chupiao.xyz/api/Servermessage";
                                Dictionary <string, string> dic = new Dictionary <string, string>();
                                dic.Add("deviceid", deviceId);
                                dic.Add("order_number", orderID);
                                var res = Helper.HttpClientHelper.PostResponse(url, dic);
                                Console.WriteLine(res);
                            }
                            ZHHelper.ConsoleOut($"{DateTime.Now.ToString("hh:mm:ss,fff")} while 告知后推出循环");
                            sw.Restart();
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            });
        }
Example #2
0
        public OrderConf SubeCompra(string laip, string _sesionToken, Cart carro, Address direccion, Address bussines)
        {
            var result = new OrderConf();

            //resultList _area;
            // string token = GetToken(laip).activeToken;
            //string de url principal
            //depurar y revisar alguno de ellos va vacio...
            string urlPath   = "https://riews.reinfoempresa.com:8443";
            string nombre    = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(carro.Customer.FullName));
            string Comercial = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(bussines.ContactName));
            string calle     = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.AddressLine1));
            string calle2    = string.Empty;

            if (direccion.AddressLine2 != null)
            {
                calle2 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.AddressLine2));
            }
            else
            {
                calle2 = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(" "));
            }

            string poblacion = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.City));
            string provincia = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.StateOrProvinceId.ToString()));
            string cp        = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.ZipCode));
            //cambiar aqui para un campo nif
            string nif   = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("44455589q"));
            string pais  = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.CountryId.ToString()));
            string web   = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(" "));
            string tfn1  = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.Phone));
            string tfn2  = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(direccion.Phone));
            string email = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(carro.Customer.Email));
            string pin   = "1";
            //string de la url del método de llamada
            //https://riews.reinfoempresa.com:8443/RIEWS/webapi/PrivateServices/articles1
            string request2 = urlPath + "/RIEWS/webapi/PrivateServices/basketlines7W";
            //creamos un webRequest con el tipo de método.
            WebRequest webRequest = WebRequest.Create(request2);

            //definimos el tipo de webrequest al que llamaremos
            webRequest.Method = "POST";
            //definimos content\
            webRequest.ContentType = "application/json; charset=utf-8";
            //cargamos los datos a enviar
            using (var streamWriter = new StreamWriter(webRequest.GetRequestStream()))
            {
                //string json = "{\"token\":\"" + token + "\",\"ipbase64\":\"" + laip +"}";
                string json = "{\"token\":\"" + _sesionToken + "\",\"ipbase64\":\"" + laip + "\",\"name\":\"" + nombre + "\",\"commercialname\":\"" + Comercial + "\",\"address\":\"" + calle + "\",\"address2\":\"" + calle2 + "\",\"population\":\"" + poblacion + "\",\"postalcode\":\"" + cp + "\",\"province\":\"" + provincia + "\"" +
                              ",\"identitydocument\":\"" + nif + "\",\"country\":\"" + pais + "\",\"email\":\"" + email + "\",\"web\":\"" + web + "\",\"phone\":\"" + tfn1 + "\",\"movil\":\"" + tfn2 + "\",\"sendpin\":\"" + pin + "\"}";
                streamWriter.Write(json.ToString());
                //"  "
            }
            //obtenemos la respuesta del servidor
            var httpResponse = (HttpWebResponse)webRequest.GetResponse();

            //leemos la respuesta y la tratamos
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result2 = streamReader.ReadToEnd();
                //traducimos el resultado
                // result = JsonSerializer.Deserialize<DataCollectionSingle<producto>>(result2);
                result = JsonConvert.DeserializeObject <OrderConf>(result2);
            }
            //
            //if (_area == null)
            //{
            //    _area = new resultList();
            //    _area.result = new List<result>();
            //    _area.result[0].areaname = "vacia";
            //}

            return(result);
        }