コード例 #1
0
ファイル: JsonHelper.cs プロジェクト: kinggod/cyqdata
        /// <summary>
        /// 返回Json格式的结果信息
        /// </summary>
        public static string OutResult(bool result, string msg, params Dictionary <string, object>[] otherKeyValues)
        {
            JsonHelper js = new JsonHelper(false, false);

            js.Add("success", result.ToString().ToLower(), true);
            js.Add("msg", msg);
            if (otherKeyValues.Length > 0)
            {
                string value = string.Empty;
                foreach (KeyValuePair <string, object> item in otherKeyValues[0])
                {
                    if (item.Value != null)
                    {
                        value = item.Value.ToString();
                        Type t           = item.Value.GetType();
                        bool isValueType = t.IsValueType;
                        if (isValueType)
                        {
                            if (t.Name == "Boolean")
                            {
                                value = value.ToLower();
                            }
                        }
                        js.Add(item.Key, value, isValueType);
                    }
                }
            }
            return(js.ToString());

            /*
             * StringBuilder sb = new StringBuilder();
             * sb.Append("{");
             * sb.Append("\"success\":" + result.ToString().ToLower() + ",");
             * sb.Append("\"msg\":\"" + msg + "\"");
             * if (otherKeyValues.Length > 0)
             * {
             *  string value = string.Empty;
             *  foreach (KeyValuePair<string, object> item in otherKeyValues[0])
             *  {
             *      if (item.Value != null)
             *      {
             *          value = item.Value.ToString();
             *          Type t = item.Value.GetType();
             *          bool isValueType = t.IsValueType;
             *          if (isValueType)
             *          {
             *              if (t.Name == "Boolean")
             *              {
             *                  value = value.ToLower();
             *              }
             *          }
             *          sb.AppendFormat(",\"{0}\":{1}", item.Key, isValueType ? value : "\"" + value + "\"");
             *      }
             *  }
             * }
             * sb.Append("}");
             * return sb.ToString();
             * */
        }
コード例 #2
0
ファイル: JsonHelper.cs プロジェクト: syxdevcode/cyqdata
        /// <param name="noQuates">no ""</param>
        private static string OutResult(bool result, string msg, bool noQuates)
        {
            JsonHelper js = new JsonHelper(false, false);

            js.Add("success", result.ToString().ToLower(), true);
            js.Add("msg", msg, noQuates);
            return(js.ToString());
        }
コード例 #3
0
        public static string OutResult(string name, object value, params object[] nameValues)
        {
            JsonHelper js = new JsonHelper();

            js.Add(name, value);
            for (int i = 0; i < nameValues.Length; i++) // 1
            {
                if (i % 2 == 0)
                {
                    string k = Convert.ToString(nameValues[i]);
                    i++;
                    object v = i == nameValues.Length ? null : nameValues[i];
                    js.Add(k, v);
                }
            }
            return(js.ToString());
        }
コード例 #4
0
ファイル: SysLogic.cs プロジェクト: Feng2012/Aries
 private string GetJson(MDataColumn mdc)
 {
     JsonHelper js = new JsonHelper();
     foreach (var cell in mdc)
     {
         js.Add("Key", cell.ColumnName);
         js.Add("Value", cell.ColumnName);
         js.AddBr();
     }
     return js.ToString(true);
 }
コード例 #5
0
ファイル: SysLogic.cs プロジェクト: Feng2012/Aries
 public string GetExcelMapping()
 {
     MDataRow row = ExcelConfig.GetExcelRow(Query<string>("ID"));
     string objName = row.Get<string>(Config_Excel.ExcelName);
     string[] TableNames = row.Get<string>(Config_Excel.TableNames).Split(',');
     Dictionary<string, string> dic = new Dictionary<string, string>();
     JsonHelper js = new JsonHelper();
     foreach (string name in TableNames)
     {
         MDataColumn mdc = DBTool.GetColumns(name);
         js.Add(name, GetJson(mdc), true);
         dic.Add(name, name);
     }
     JsonHelper jh = new JsonHelper();
     jh.Add("objName", objName);
     jh.Add("arrColumns", js.ToString(false));
     jh.Add("arrTables", MDataTable.CreateFrom(dic).ToJson(false, false));
     return jh.ToString();
 }
コード例 #6
0
ファイル: JsonHelper.cs プロジェクト: yellowwood/cyqdata
 /// <summary>
 /// 返回Json格式的结果信息
 /// </summary>
 public static string OutResult(bool result, string msg, params Dictionary<string, object>[] otherKeyValues)
 {
     JsonHelper js = new JsonHelper(false, false);
     js.Add("success", result.ToString().ToLower(), true);
     js.Add("msg", msg);
     if (otherKeyValues.Length > 0)
     {
         string value = string.Empty;
         foreach (KeyValuePair<string, object> item in otherKeyValues[0])
         {
             if (item.Value != null)
             {
                 value = item.Value.ToString();
                 Type t = item.Value.GetType();
                 bool isValueType = t.IsValueType;
                 if (isValueType)
                 {
                     if (t.Name == "Boolean")
                     {
                         value = value.ToLower();
                     }
                 }
                 js.Add(item.Key, value, isValueType);
             }
         }
     }
     return js.ToString();
     /*
     StringBuilder sb = new StringBuilder();
     sb.Append("{");
     sb.Append("\"success\":" + result.ToString().ToLower() + ",");
     sb.Append("\"msg\":\"" + msg + "\"");
     if (otherKeyValues.Length > 0)
     {
         string value = string.Empty;
         foreach (KeyValuePair<string, object> item in otherKeyValues[0])
         {
             if (item.Value != null)
             {
                 value = item.Value.ToString();
                 Type t = item.Value.GetType();
                 bool isValueType = t.IsValueType;
                 if (isValueType)
                 {
                     if (t.Name == "Boolean")
                     {
                         value = value.ToLower();
                     }
                 }
                 sb.AppendFormat(",\"{0}\":{1}", item.Key, isValueType ? value : "\"" + value + "\"");
             }
         }
     }
     sb.Append("}");
     return sb.ToString();
      * */
 }
コード例 #7
0
ファイル: AutoCache.cs プロジェクト: yellowwood/cyqdata
        //End
        internal static void SetCache(AopEnum action, AopInfo aopInfo)
        {
            string baseKey = GetBaseKey(aopInfo);
            switch (action)
            {
                case AopEnum.ExeNonQuery:
                case AopEnum.Insert:
                case AopEnum.Update:
                case AopEnum.Delete:
                    if (aopInfo.IsSuccess || aopInfo.RowCount > 0)
                    {
                        ReadyForRemove(baseKey);
                    }
                    return;
            }

            //if (!IsCanOperateCache(baseKey))
            //{
            //    return;
            //}
            if (_MemCache.CacheType == CacheType.LocalCache && _MemCache.RemainMemoryPercentage < 15)//可用内存低于15%
            {
                return;
            }
            string key = GetKey(action, aopInfo, baseKey);
            int flag;//0 正常;1:未识别;2:不允许缓存
            SetBaseKeys(aopInfo, key, out flag);//存档Key,后续缓存失效 批量删除
            if (flag == 2)
            {
                return;//
            }
            double cacheTime = Math.Abs(12 - DateTime.Now.Hour) * 60 + DateTime.Now.Second;//缓存中午或到夜里1点
            if (flag == 1 || aopInfo.PageIndex > 2) // 后面的页数,缓存时间可以短一些
            {
                cacheTime = 2;//未知道操作何表时,只缓存2分钟(比如存储过程等语句)
            }
            switch (action)
            {
                case AopEnum.ExeMDataTableList:
                    if (IsCanCache(aopInfo.TableList))
                    {
                        JsonHelper js = new JsonHelper(false, false);
                        foreach (MDataTable table in aopInfo.TableList)
                        {
                            js.Add(table.TableName, table.ToJson(true, true, RowOp.IgnoreNull));
                        }
                        js.AddBr();
                        _MemCache.Set(key, js.ToString(), cacheTime);
                    }
                    break;
                case AopEnum.Select:
                case AopEnum.ExeMDataTable:
                    if (IsCanCache(aopInfo.Table))
                    {
                        _MemCache.Set(key, aopInfo.Table.ToJson(true, true, RowOp.IgnoreNull), cacheTime);
                    }
                    break;
                case AopEnum.ExeScalar:
                    _MemCache.Set(key, aopInfo.ExeResult, cacheTime);
                    break;
                case AopEnum.Fill:
                    _MemCache.Set(key, aopInfo.Row, cacheTime);
                    break;
                case AopEnum.GetCount:
                    _MemCache.Set(key, aopInfo.RowCount, cacheTime);
                    break;
            }
        }