Exemplo n.º 1
0
        public List <Pick> GetPickList(int draftId)
        {
            IPickRepository  pickRepository = new PickRepository();
            IDraftRepository dr             = new DraftRepository();

            var draft = dr.GetById(draftId);
            var ret   = pickRepository.GetPicksByDraft(draft);

            return(ret == null ? new List <Pick>() : ret.ToList());
        }
Exemplo n.º 2
0
        public void CanGetPickList()
        {
            IPickRepository repository = new PickRepository();

            repository.PickCard(_drafts[0], _members[0], _cards[0]);
            repository.PickCard(_drafts[0], _members[1], _cards[1]);
            repository.PickCard(_drafts[0], _members[2], _cards[2]);
            repository.PickCard(_drafts[1], _members[2], _cards[2]);

            ICollection <Pick> picks = repository.GetPicksByDraft(_drafts[0]);

            Assert.AreEqual(3, picks.Count);
        }
        public bool PickCard(int draftId, int memberId, int cardId)
        {
            if (!IsMyTurn(draftId, memberId))
            {
                return(FuturePickCard(draftId, memberId, cardId));
            }

            IDraftRepository  dr = new DraftRepository();
            IMemberRepository mr = new MemberRepository();
            ICardRepository   cr = new CardRepository();

            var draft  = dr.GetById(draftId);
            var member = mr.GetById(memberId);
            var card   = cr.GetById(cardId);

            if (draft.Finished || !draft.Started)
            {
                return(false);
            }

            IPickRepository pickRepository = new PickRepository();

            try
            {
                var pick = pickRepository.PickCard(draft, member, card);
            }
            catch (GenericADOException)
            {
                return(false);
            }

            var picks = pickRepository.GetPicksByDraft(draft);

            IDraftMemberPositionsRepository dmpr = new DraftMemberPositionsRepository();
            var nextMemberDraftPosition          = dmpr.GetDraftMemberPositionByDraftAndPosition(draft,
                                                                                                 GetNextPickPosition(picks.Count, draft.DraftSize));

            draft.CurrentTurn = nextMemberDraftPosition.Member;

            IDraftRepository draftRepository = new DraftRepository();

            draftRepository.Update(draft);

            TryFuturePick(draftId);

            return(true);
        }