public RanksUsers() : base() { LeadershipRank first = LeadershipRank.GetFirst(); if (first != null) { UserId = Member.CurrentId; RankId = first.Id; AquairedDate = DateTime.Now; IsCurrent = true; } }
private static void CheckRankUpDown(Member user, int checkReferrerLevels = 0) { if (!AppSettings.TitanFeatures.LeaderShipSystemEnabled) { return; } RanksUsers currentRank = RanksUsers.GetCurrentUserRank(user.Id); int newRankId = -1; LeadershipRank rank = null; if (currentRank == null) { rank = LeadershipRank.GetFirst(); if (rank != null && LeadershipRank.IsRankAccured(rank.Id, user)) { RanksUsers.UpdateRank(rank.Id, user.Id); currentRank = RanksUsers.GetByRankId(user.Id, rank.Id); } else { return; } } rank = new LeadershipRank(currentRank.RankId); if (!LeadershipRank.IsRankAccured(rank.Id, user)) { newRankId = CheckRankDown(user, rank); } else { newRankId = CheckRankUp(user, rank); } RanksUsers newRank = RanksUsers.GetByRankId(user.Id, newRankId); if (newRank != null) { newRank.SetCurrent(); } else { RanksUsers.SetRankZero(user.Id); } if (checkReferrerLevels > 0 && user.HasReferer && LeadershipRankRequirements.HaveToCheckDirectReferral()) { CheckRankUpDown(new Member(user.ReferrerId), --checkReferrerLevels); } }