// Creates a member with a list of interests in string form public MemberWithDescriptions(Member member) { var members = new MemberRepo(); Id = member.Id; Username = member.Username; Friends = member.Friends.Select(friendId => members.GetMember(friendId).Username).ToList(); Enemies = member.Enemies.Select(enemyId => members.GetMember(enemyId).Username).ToList(); Services = member.Services; var interests = member.Interests; var singleInterest = typeof(EInterests).GetFields(); /* loop over interest id's and return description * Not sure why it is so difficult to get description info from Enums * A simple database will likely render this unecessary */ foreach (var interest in interests) { var interestAttributes = singleInterest[interest + 1].CustomAttributes.ToList(); var interestDescription = interestAttributes[0].ConstructorArguments[0].Value.ToString(); Interests.Add(interestDescription); } }
//Validates that a proper member Id was submitted and that member has enemies for get enemies request. public ValidationResponse ValidateGetEnemies(int request) { if (MemberRepo._Members.Where(member => member.Id == request).Count() == 0) { return(new ValidationResponse(false, "Invalid member Id. No member found with matching Id.")); } else if (_members.GetMember(request).Enemies.Count == 0) { return(new ValidationResponse(false, "Member has no enemies.")); } return(new ValidationResponse(true)); }
// body should contain "MemberId" and "Services" (an array of string) public ActionResult <Member> AddMemberServices(AddService addServiceRequest) { // Gets member based on Id Member currentMemb = _memberRepo.GetMember(addServiceRequest.MemberId); currentMemb // gets services .Services // adds array of services to current services .AddRange(addServiceRequest.Services); return(currentMemb); }
private Member GetTournamentWinner(string tournamentName) { Tournament tournament = TournamentRepo.GetTournament(tournamentName); //var winnerPlayer = tournament.Games.First().Winner; //var winnerPlayer = tournament.Games.GroupBy(s => s.Winner) // .OrderByDescending(s => s.Count()) // .First().Key; Player winnerPlayer = tournament.Games .GroupBy(x => x.Winner) .Select(x => new { Winner = x.Key, Count = x.Count() }) .OrderByDescending(x => x.Count) .Select(x => x.Winner) .First(); Member winner = MemberRepo.GetMember(winnerPlayer.Id); return(winner); }
public ActionResult <MemberWithDescriptions> GetMember(int id) => _memberRepo.GetMember(id).ConvertInterests();
public static Member GetMember(string member) { Console.WriteLine("Fetching member"); return(MemberRepo.GetMember(member)); }