コード例 #1
0
        public HttpResponseMessage CloseInventory(InventoryClose value)
        {
            CloseSku api_message = new CloseSku();

            api_message.Result = 1;
            string reStr = "";

            _logger.WriteLog_Info <CloseInventoryController>(JsonConvert.SerializeObject(value), null, "oms请求", null);
            try
            {
                if (ModelState.IsValid)
                {
                    //_iRabbitMQHelper.Publish<InventoryPushController>(JsonConvert.SerializeObject(value).ToString());
                    string    post   = JsonConvert.SerializeObject(value);
                    WebClient client = new WebClient();
                    client.Headers.Add("Content-Type", "application/json");
                    byte[] reByte = client.UploadData(_ISetting.ecmall.Base_Url + "/appserver/index.php?m=Api&c=Goods&a=closeGoods", Encoding.UTF8.GetBytes(post));
                    reStr = Encoding.UTF8.GetString(reByte);
                    _logger.WriteLog_Info <CloseInventoryController>(reStr, null, "ecmall返回", null);
                    //api_message = JsonConvert.DeserializeObject<API_Message>(reStr);
                    //_logger.WriteLog_Info<InventoryPushController>(JsonConvert.SerializeObject(value), null, null, null);
                }
                else
                {
                    //var modelstate = BadRequest(ModelState);
                    string returestr = "";
                    string re        = "";
                    string pattern   = @"(?is)(\[)(.d)?(\])";
                    Regex  rgx       = new Regex(pattern);
                    foreach (var item in ModelState)
                    {
                        returestr += item.Key.ToString() + "--------" + item.Value.Errors[0].ErrorMessage.ToString() + "\r\n";
                        re        += rgx.Match(item.Value.Errors[0].ErrorMessage.ToString());
                    }
                    api_message.Msg    = returestr;
                    api_message.Result = 2;
                    reStr = JsonConvert.SerializeObject(new List <CloseSku>()
                    {
                        api_message
                    });
                    _logger.WriteLog_Waring <CloseInventoryController>(reStr, null, null, null);
                    //_logger.WriteLog_Waring<InventoryPushController>(JsonConvert.SerializeObject(value), null, null, null);
                }
            }
            catch (Exception ex)
            {
                api_message.Msg    = ex.Message;
                api_message.Result = 2;
                reStr = JsonConvert.SerializeObject(new List <CloseSku>()
                {
                    api_message
                });
                _logger.WriteLog_Error <CloseInventoryController>(JsonConvert.SerializeObject(value), "oms请求", null, ex);
            }
            return(new HttpResponseMessage {
                Content = new StringContent(reStr, Encoding.UTF8)
            });
        }
コード例 #2
0
 public static void OnInventoryClose(InventoryCloseEventArgs args)
 {
     InventoryClose?.Invoke(args);
 }