/// <summary> /// 生成内码。 /// </summary> /// <param name="keyId"></param> /// <param name="order"></param> /// <param name="position"></param> /// <returns></returns> private string GenerateInnerId(string keyId, PropertyValue order, EntityTreePosition position) { var sOrder = order.ToString(); return(position == EntityTreePosition.Children || keyId.Length < metaTree.SignLength ? keyId + new string('0', metaTree.SignLength - sOrder.Length) + sOrder : GetPreviousKey(keyId) + new string('0', metaTree.SignLength - sOrder.Length) + sOrder); }
/// <summary> /// 生成内码。 /// </summary> /// <param name="keyId"></param> /// <param name="order"></param> /// <param name="position"></param> /// <returns></returns> private string GenerateInnerId(string keyId, PropertyValue order, EntityTreePosition position) { var sOrder = order.ToString(); if (metaTree.SignLength - sOrder.Length < 0) { throw new EntityTreeCodeOutOfRangeException("末级编码超出预设的" + metaTree.SignLength + "位编码。"); } return(position == EntityTreePosition.Children || keyId.Length < metaTree.SignLength ? keyId + new string('0', metaTree.SignLength - sOrder.Length) + sOrder : GetPreviousKey(keyId) + new string('0', metaTree.SignLength - sOrder.Length) + sOrder); }