Exemplo n.º 1
0
        // 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);
            }
        }
Exemplo n.º 2
0
        //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));
        }
Exemplo n.º 3
0
        // 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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public ActionResult <MemberWithDescriptions> GetMember(int id) => _memberRepo.GetMember(id).ConvertInterests();
Exemplo n.º 6
0
 public static Member GetMember(string member)
 {
     Console.WriteLine("Fetching member");
     return(MemberRepo.GetMember(member));
 }