public async Task ReturnNull_ForNullListOfInts() { await Task.Run(() => { Assert.IsNull(RangeString.ToStringOfIds(null)); }); }
public async Task ReturnEmptyListOfInts_ForNullOrWhiteSpaceInputString(string inputString) { await Task.Run(() => { Assert.AreEqual(new List <int>(), RangeString.ToCollectionOfId(inputString)); }); }
/// <summary> /// Process Range header for AddHeaders() /// </summary> /// <param name="RangeHeader">Range header string</param> /// <param name="HWR">HttpWebRequest object</param> void AddRangeHeader(string RangeHeader, HttpWebRequest HWR) { //see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range string Unit = RangeHeader.Substring(0, RangeHeader.IndexOf("=")); string[] Ranges = RangeHeader.Substring(RangeHeader.IndexOf("=") + 1).Split(','); foreach (string RangeString in Ranges) { string[] FromTo = RangeString.Replace(" ", "").Split('-'); if (FromTo.Length != 2) { return; } if (FromTo[0] == "") // bytes=-99 { HWR.AddRange(Unit, 0 - int.Parse(FromTo[1])); return; } if (FromTo[1] == "") // bytes=99- { HWR.AddRange(Unit, int.Parse(FromTo[0])); return; } // bytes=100-200 HWR.AddRange(Unit, int.Parse(FromTo[0]), int.Parse(FromTo[1])); } }
/// <summary> /// 获取子节点 /// </summary> public TreeNode GetChild(RangeString key) { if (m_Children == null) { return(null); } m_Children.TryGetValue(key, out TreeNode child); return(child); }
/// <summary> /// 获取子节点,如果不存在则添加 /// </summary> public TreeNode GetOrAddChild(RangeString key) { TreeNode child = GetChild(key); if (child == null) { child = AddChild(key); } return(child); }
public async Task ReturnCorrectListOfInts_ForValidInputStringThatContainsCommas(string inputString) { await Task.Run(() => { Assert.AreEqual(new List <int>() { 1, 2, 3, 4, 5 }, RangeString.ToCollectionOfId(inputString)); }); }
/// <summary> /// 添加子节点 /// </summary> public TreeNode AddChild(RangeString key) { if (m_Children == null) { m_Children = new Dictionary <RangeString, TreeNode>(); } else if (m_Children.ContainsKey(key)) { throw new Exception("子节点添加失败,不允许重复添加:" + FullPath); } TreeNode child = new TreeNode(key.ToString(), this); m_Children.Add(key, child); ReddotMananger.Instance.NodeNumChangeCallback?.Invoke(); return(child); }
public async Task <IQueryable <TEntity> > GetCollectionQueryable(TResourceParameters ofmResourceParameters) { IQueryable <TEntity> collectionQueryable = null; await Task.Run(() => { if (ofmResourceParameters == null) { ofmResourceParameters = new TResourceParameters(); } collectionQueryable = FittifyContext.Set <TEntity>() .ApplySort(ofmResourceParameters.OrderBy) .AsNoTracking(); if (!String.IsNullOrWhiteSpace(ofmResourceParameters.Ids)) { TId[] listTIds; if (typeof(TId) == typeof(int)) { listTIds = RangeString.ToArrayOfId(ofmResourceParameters.Ids) as TId[]; } else { // For example Guid Ids listTIds = ofmResourceParameters.Ids.Split(",") as TId[]; } collectionQueryable = collectionQueryable.Where(w => listTIds.Contains(w.Id)); } if (!String.IsNullOrWhiteSpace(ofmResourceParameters.Fields)) { collectionQueryable = collectionQueryable .ShapeLinqToEntityQuery <TEntity, TId, FittifyContext> (ofmResourceParameters.Fields, ofmResourceParameters.DoIncludeIdsWhenQueryingSelectedFields, FittifyContext); } }); return(collectionQueryable); }
/// <summary> /// 移除子节点 /// </summary> public bool RemoveChild(RangeString key) { if (m_Children == null || m_Children.Count == 0) { return(false); } TreeNode child = GetChild(key); if (child != null) { //子节点被删除 需要进行一次父节点刷新 ReddotMananger.Instance.MarkDirtyNode(this); m_Children.Remove(key); ReddotMananger.Instance.NodeNumChangeCallback?.Invoke(); return(true); } return(false); }