/// <summary> /// Returns first rank Active rank /// </summary> /// <returns></returns> public static LeadershipRank GetFirst() { LeadershipRank result = LeadershipRank.RankList.FirstOrDefault(x => !x.PrevRankId.HasValue || x.PrevRankId.Value == -1); if (result != null && result.Status != UniversalStatus.Active) { result = result.GetNext(); } return(result); }
/// <summary> /// Returns next Active rank /// </summary> /// <returns></returns> public LeadershipRank GetNext() { LeadershipRank result = null; if (this.NextRankId.HasValue && this.NextRankId.Value != -1) { result = new LeadershipRank(this.NextRankId.Value); if (result.Status != UniversalStatus.Active) { result = result.GetNext(); } } return(result); }