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; }
public bool IsCardPicked(int draftId, int cardId) { IPickRepository pr = new PickRepository(); IDraftRepository dr = new DraftRepository(); ICardRepository cr = new CardRepository(); var draft = dr.GetById(draftId); var card = cr.GetById(cardId); var picks = pr.GetPicksByCardAndDraft(card, draft); return picks.Count > 0; }
public bool FuturePickCard(int draftId, int memberId, int cardId) { IFuturePickRepository fpr = new FuturePickRepository(); 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); try { fpr.FuturePickCard(draft, member, card); } catch (GenericADOException) { return false; } return true; }
public Card GetCard(int cardId) { ICardRepository cr = new CardRepository(); return cr.GetById(cardId); }