/// <summary> /// URL编码 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static Hashtable UrlEscape(this object obj) { if (obj == null) { throw new ArgumentNullException("obj"); } Hashtable param = JSON.ConvertToType <Hashtable>(obj); Hashtable param_new = new Hashtable(); foreach (string key in param.Keys) { if (string.IsNullOrWhiteSpace(key)) { continue; } if (null == param[key] || string.IsNullOrWhiteSpace(param[key].ToString())) { param_new[key] = param[key]; } else { param_new[key] = Uri.EscapeDataString(param[key].ToString()); } } return(param_new); }
public static Hashtable ToHashtable(this object obj) { if (obj == null) { throw new ArgumentNullException("obj"); } return(JSON.ConvertToType <Hashtable>(obj)); }
public static string ToSortedQueryString(this object obj, bool needEncode = true) { var builder = new StringBuilder(); var parameters_temp = default(IDictionary <string, string>); #region 转换为IDictionary<string, string> if (obj is IDictionary <string, string> ) { parameters_temp = obj as IDictionary <string, string>; } if (obj is IDictionary) { var parameters = obj as IDictionary; parameters_temp = new SortedDictionary <string, string>(); foreach (DictionaryEntry item in parameters) { parameters_temp.Add(item.Key.ValueOrEmpty(), item.Value.ValueOrEmpty()); } } else { parameters_temp = JSON.ConvertToType <SortedDictionary <string, string> >(obj); } #endregion 转换为IDictionary<string, string> #region 拼接QueryString var enumerator = parameters_temp.GetEnumerator(); while (enumerator.MoveNext()) { string key = enumerator.Current.Key; string val = enumerator.Current.Value; if (key.IsNullOrWhiteSpace()) { continue; } if (needEncode) { builder.Append("&").Append(key).Append("=").Append(Uri.EscapeDataString(val)); } else { builder.Append("&").Append(key).Append("=").Append(val); } } #endregion 拼接QueryString return(builder.ToString().TrimStart('&')); }
/// <summary> /// 取缓存 为null返回default(T) /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="key">缓存键</param> /// <returns></returns> public static T Get <T>(string key, bool isFullKey = false, int db_num = -1) where T : class, new() { if (key.IsNullOrWhiteSpace()) { throw new ArgumentException("key不能为空"); } var hash = Get(key, isFullKey, db_num); if (null == hash) { return(default(T)); } var obj = default(T); try { if (!hash["_type"].IsNullOrWhiteSpace() && !hash["_data"].IsNullOrWhiteSpace()) { obj = JSON.Deserialize <T>(hash["_data"].ToString()); } else { obj = JSON.ConvertToType <T>(hash); } } catch (Exception ex) { LogHelper.RuntimeLog(new { ReqId = string.Empty, flag_type = 4, target = string.Format("/{0}/{1}", System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName, new System.Diagnostics.StackTrace().GetFrame(0).GetMethod().Name), LogContent = $"【异常】:【{JSON.Serialize(ex)}】" }); } return(obj); }
public ActionResult SaveSystem(string obj) { BaseResult br = new BaseResult(); Hashtable param = JSON.Deserialize <Hashtable>(obj); ParamVessel p = new ParamVessel(); p.Add("OrderSettingList", null, HandleType.ReturnMsg);//设置列表 param = param.Trim(p); try { var id_user_master = GetLoginInfo <long>("id_user_master"); var id_user = GetLoginInfo <long>("id_user"); var list = JSON.ConvertToType <List <Ts_Param_Business> >(param["OrderSettingList"]); if (list == null || list.Count < 1) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add("设置参数不能为空."); } else { foreach (var m in list) { m.id_user_master = id_user_master; m.id_create = id_user; } br = BusinessFactory.Setting.Save(list); } } catch (CySoftException ex) { throw ex; } catch (Exception ex) { throw ex; } return(Json(br)); }
public ActionResult Out(string obj) { BaseResult br = new BaseResult(); try { Hashtable param = JSON.Deserialize <Hashtable>(obj); ParamVessel p = new ParamVessel(); p.Add("head", null, HandleType.ReturnMsg); p.Add("body", null, HandleType.ReturnMsg); p.Add("ShoppingInfo", null, HandleType.Remove); param = param.Trim(p); Td_Sale_Out_Head head = JSON.ConvertToType <Td_Sale_Out_Head>(param["head"]); head.id_gys = GetLoginInfo <long>("id_supplier");//int.Parse(param["id_supplier"].ToString()); List <Td_Sale_Out_Body> body = JSON.ConvertToType <List <Td_Sale_Out_Body> >(param["body"]); ShoppingInfo shoppinginfo = JSON.ConvertToType <ShoppingInfo>(param["ShoppingInfo"]); Ts_Sale_Order_Log ts = new Ts_Sale_Order_Log();//日志 //单号 赋值 if (head.id_cgs <= 0) { br.Success = false; br.Message.Add("未知采购商,请刷新后再试!"); br.Level = ErrorLevel.Warning; return(Json(br)); } if (head.dh_order.IsEmpty()) { br.Success = false; br.Message.Add("订单号丢失,请刷新后再试!"); br.Level = ErrorLevel.Warning; return(Json(br)); } if (head.id_gys <= 0) { br.Success = false; br.Message.Add("未知供应商,请刷新后再试!"); br.Level = ErrorLevel.Warning; return(Json(br)); } if (body.Count < 1) { br.Success = false; br.Message.Add("<h5>参数错误</h5>"); br.Message.Add("没有可保存的商品!"); br.Level = ErrorLevel.Warning; return(Json(br)); } int xh = 1; foreach (var item in body) { if (item != null) { if (item.id_sku < 1) { br.Success = false; br.Message.Add("<h5>参数错误</h5>"); br.Message.Add(String.Format("[代码:303],第{0}行数据中商品id有误!", xh)); br.Level = ErrorLevel.Warning; return(Json(br)); } if (item.sl <= 0m) { br.Success = false; br.Message.Add("<h5>参数错误</h5>"); br.Message.Add(String.Format("[代码:303],第{0}行数据中商品数量有误!", xh)); br.Level = ErrorLevel.Warning; return(Json(br)); } //if (item.zhl <= 0m) //{ // br.Success = false; // br.Message.Add("<h5>参数错误</h5>"); // br.Message.Add(String.Format("[代码:303],第{0}行数据中包装数有误!", xh)); // br.Level = ErrorLevel.Warning; // return Json(br); //} xh++; } } br = BusinessFactory.Utilety.GetNextDH(head, typeof(Td_Sale_Out_Head)); if (!br.Success) { return(Json(br)); } ts.id = BusinessFactory.Utilety.GetNextKey(typeof(Ts_Sale_Order_Log)); ts.id_user = GetLoginInfo <long>("id_user"); ts.id_user_master = GetLoginInfo <long>("id_user_master"); ts.flag_type = 4; head.id_create = GetLoginInfo <long>("id_user"); head.id_edit = GetLoginInfo <long>("id_user"); head.flag_state = CySoft.Model.Flags.OrderFlag.WaitDelivery; param.Clear(); param.Add("head", head); param.Add("body", body); param.Add("Ts", ts); param.Add("id_user_master", GetLoginInfo <long>("id_user_master")); param.Add("ShoppingInfo", shoppinginfo); br = BusinessFactory.ShippingRecord.Add(param); return(Json(br)); } catch (CySoftException ex) { throw ex; } catch (Exception ex) { throw ex; } }