private static Dictionary <long, List <ParamState> > GetParamStateDic() { Dictionary <long, List <ParamState> > paramStateDic = new Dictionary <long, List <ParamState> >(); foreach (DataRow Parma in GetRuleParams().Rows) { WebKeyState wks = WebKeyState.Availability; switch (Parma[3].ToString()) { case "Availability": wks = WebKeyState.Availability; break; case "Invalidation": wks = WebKeyState.Invalidation; break; default: break; } ParamState ps = new ParamState(Parma[2].ToString(), wks); ps.ID = (long)Parma[0]; ps.IsStateChange = false; List <ParamState> psList; if (!paramStateDic.TryGetValue((long)Parma[1], out psList)) { psList = new List <ParamState>(); paramStateDic.Add((long)Parma[1], psList); } psList.Add(ps); } return(paramStateDic); }
/// <summary> /// 为该规则增加一个参数 /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <param name="keyState"></param> public void AddParam(string key, WebKeyState keyState) { ParamState ps = new ParamState(key, keyState); if (this.ParamStates == null) { ParamStates = new Dictionary <string, ParamState>(); } Debug.Assert(!this.ParamStates.ContainsKey(key), key + " is Exist"); this.ParamStates.Add(key, ps); }
/// <summary> /// 为该规则增加一个参数 /// </summary> /// <param name="ps"></param> public void AddParam(ParamState ps) { Debug.Assert(ps != null, " ParamState is null"); if (this.ParamStates == null) { ParamStates = new Dictionary <string, ParamState>(); } Debug.Assert(!ParamStates.ContainsKey(ps.ParamKey), " ParamState is Exist"); this.ParamStates.Add(ps.ParamKey, ps); }
private Dictionary <string, ParamState> GetSegments(string url) { if (string.IsNullOrEmpty(url)) { return(null); } Dictionary <string, ParamState> pss = new Dictionary <string, ParamState>(); string[] querys = url.Substring(1).Split('&'); foreach (var item in querys) { ParamState ps = new ParamState(item); pss.Add(ps.ParamKey, ps); } return(pss); }
/// <summary> /// 根据参数对象删除某个参数 /// </summary> /// <param name="ps"></param> public void DeleteParam(ParamState ps) { DeleteParam(ps.ParamKey); }