Example #1
0
 public async Task ReturnNull_ForNullListOfInts()
 {
     await Task.Run(() =>
     {
         Assert.IsNull(RangeString.ToStringOfIds(null));
     });
 }
Example #2
0
 public async Task ReturnEmptyListOfInts_ForNullOrWhiteSpaceInputString(string inputString)
 {
     await Task.Run(() =>
     {
         Assert.AreEqual(new List <int>(), RangeString.ToCollectionOfId(inputString));
     });
 }
Example #3
0
        /// <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]));
            }
        }
Example #4
0
    /// <summary>
    /// 获取子节点
    /// </summary>
    public TreeNode GetChild(RangeString key)
    {
        if (m_Children == null)
        {
            return(null);
        }

        m_Children.TryGetValue(key, out TreeNode child);
        return(child);
    }
Example #5
0
    /// <summary>
    /// 获取子节点,如果不存在则添加
    /// </summary>
    public TreeNode GetOrAddChild(RangeString key)
    {
        TreeNode child = GetChild(key);

        if (child == null)
        {
            child = AddChild(key);
        }
        return(child);
    }
Example #6
0
 public async Task ReturnCorrectListOfInts_ForValidInputStringThatContainsCommas(string inputString)
 {
     await Task.Run(() =>
     {
         Assert.AreEqual(new List <int>()
         {
             1, 2, 3, 4, 5
         }, RangeString.ToCollectionOfId(inputString));
     });
 }
Example #7
0
    /// <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);
    }
Example #8
0
        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);
        }
Example #9
0
    /// <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);
    }