public void CanGetMemberFromEmail()
        {
            IMemberRepository repository = new MemberRepository();
            Member member = repository.GetByEmail("[email protected]");

            Assert.AreEqual(member.FullName, _members[1].FullName);
            Assert.AreEqual(member.Email, _members[1].Email);
        }
Exemple #2
0
        public bool AuthenticateUser(string username, string password)
        {
            IMemberRepository mr = new MemberRepository();
            Member member = mr.GetByUsername(username);
            if (member == null)
                return false;

            string passwordHash = FormsAuthentication.HashPasswordForStoringInConfigFile(password+username, "sha1");
            return member.Password == passwordHash;
        }
Exemple #3
0
        public Chat AddChat(string message, int draftId, int memberId)
        {
            IChatRepository cr = new ChatRepository();
            IDraftRepository dr = new DraftRepository();
            IMemberRepository mr = new MemberRepository();

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

            var chat = new Chat() {Draft = draft, Member = member, Text = message};

            cr.Add(chat);

            return chat;
        }
        public void CannotAddIdenticalEmails()
        {
            var member = new Member { Email = "[email protected]", FullName = "Kalle Ada", Password = "******" };

            IMemberRepository repository = new MemberRepository();
            try
            {
                repository.Add(member);
            }
            catch (GenericADOException)
            {
                return;
            }

            Assert.Fail("Should not be able to add two emails of same sort");
        }
        public bool AddMemberToDraft(int draftId, int memberId, int draftPosition)
        {
            IDraftMemberPositionsRepository dmpr = new DraftMemberPositionsRepository();
            IDraftRepository dr = new DraftRepository();
            IMemberRepository mr = new MemberRepository();

            try
            {
                var draft = dr.GetById(draftId);
                dmpr.AddMemberToDraft(draft, mr.GetById(memberId), draftPosition);
                draft.DraftSize++;
                dr.Update(draft);
                return true;
            }
            catch
            {
                return false;
            }
        }
Exemple #6
0
        public bool CreateUser(string username, string email, string password, string fullname)
        {
            IMemberRepository mr = new MemberRepository();

            string passwordHash = FormsAuthentication.HashPasswordForStoringInConfigFile(
                                      password+username, "sha1");

            var member = new Member {UserName = username, Email = email, Password = passwordHash, FullName = fullname};

            try
            {
                mr.Add(member);
            }
            catch
            {
                return false;
            }

            return true;
        }
        public void CanAddNewMember()
        {
            var member = new Member {Email = "*****@*****.**", FullName = "Magnus", Password = "******", UserName = "******"};

            IMemberRepository repository = new MemberRepository();
            repository.Add(member);

            // use session to try to load the product
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Member>(member.Id);
                // Test that the product was successfully inserted

                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(member, fromDb);
                Assert.AreEqual(member.FullName, fromDb.FullName);
                Assert.AreEqual(member.Email, fromDb.Email);
                Assert.AreEqual(member.Password, fromDb.Password);
            }
        }
        public bool AddMemberToDraft(int draftId, int memberId)
        {
            IDraftMemberPositionsRepository dmpr = new DraftMemberPositionsRepository();
            IDraftRepository dr = new DraftRepository();
            IMemberRepository mr = new MemberRepository();

            var draft = dr.GetById(draftId);

            ICollection<DraftMemberPositions> draftMembers = dmpr.GetMemberPositionsByDraft(draft);

            int newPosition = 0;
            bool foundPosition = true;

            while (foundPosition)
            {
                foundPosition = false;
                newPosition++;

                foreach (var draftMember in draftMembers)
                {
                    if (draftMember.Position == newPosition)
                    {
                        foundPosition = true;
                    }
                }

            }
            try
            {
                dmpr.AddMemberToDraft(draft, mr.GetById(memberId), newPosition);
                draft.DraftSize++;
                dr.Update(draft);
                return true;
            }
            catch
            {
                return false;
            }
        }
Exemple #9
0
        public bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            IMemberRepository mr = new MemberRepository();
            Member member = mr.GetByUsername(username);
            if (member == null)
                return false;

            string oldPasswordHash = FormsAuthentication.HashPasswordForStoringInConfigFile(oldPassword, "sha1");
            if (member.Password != oldPasswordHash)
                return false;

            string newPasswordHash = FormsAuthentication.HashPasswordForStoringInConfigFile(newPassword, "sha1");
            member.Password = newPasswordHash;
            try
            {
                mr.Update(member);
            }
            catch
            {
                return false;
            }

            return true;
        }
        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 void CanUpdateExistingMember()
        {
            var member = _members[0];
            member.FullName = "Karl Adam";
            IMemberRepository repository = new MemberRepository();
            repository.Update(member);

            // use session to try to load the product
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Member>(member.Id);
                Assert.AreEqual(member.FullName, fromDb.FullName);
            }
        }
        public Draft CreateDraft(string draftName, int ownerId, int numberOfPicksPerPlayer, bool isPublic)
        {
            var draft = new Draft
                            {
                                Name = draftName,
                                CreatedDate = DateTime.Now,
                                MaximumPicksPerMember = numberOfPicksPerPlayer,
                                Public = isPublic,
                                Started = false,
                                Finished = false,
                          	};

            IDraftRepository dr = new DraftRepository();
            IDraftMemberPositionsRepository dmpr = new DraftMemberPositionsRepository();
            IMemberRepository mr = new MemberRepository();

            draft.Owner = mr.GetById(ownerId);
            draft.DraftSize = 0;

            dr.Add(draft);

            return draft;
        }
Exemple #13
0
        public List<Pick> GetLatestPicksByPlayer(int draftId, int memberId)
        {
            IDraftRepository dr = new DraftRepository();
            IPickRepository pr = new PickRepository();
            IMemberRepository mr = new MemberRepository();

            var draft = dr.GetById(draftId);
            var member = mr.GetById(memberId);
            var picksCollection = pr.GetPicksByDraftAndMember(draft, member);

            if (picksCollection == null)
                return new List<Pick>();

            var picks = picksCollection.ToList();
            picks.Sort((p1, p2) => p1.CreatedDate.CompareTo(p2.CreatedDate));

            return picks;
        }
        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;
        }
Exemple #15
0
 public Member GetMember(int memberId)
 {
     IMemberRepository mr = new MemberRepository();
     return mr.GetById(memberId);
 }
Exemple #16
0
 public Member GetMember(string userName)
 {
     IMemberRepository mr = new MemberRepository();
     return mr.GetByUsername(userName);
 }
Exemple #17
0
        public List<FuturePick> GetMyFuturePicks(int draftId, int memberId)
        {
            IFuturePickRepository fpr = new FuturePickRepository();
            IDraftRepository dr = new DraftRepository();
            IMemberRepository mr = new MemberRepository();

            var draft = dr.GetById(draftId);
            var member = mr.GetById(memberId);
            var ret = fpr.GetFuturePicksByDraftAndMember(draft, member);
            return ret == null ? new List<FuturePick>() : ret.ToList();
        }
        public void CanRemoveExistingMember()
        {
            var member = _members[0];
            IMemberRepository repository = new MemberRepository();
            repository.Remove(member);

            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Member>(member.Id);
                Assert.IsNull(fromDb);
            }
        }
Exemple #19
0
        public Member FindMember(string memberIdentification)
        {
            IMemberRepository mr = new MemberRepository();

            var member = mr.GetByEmail(memberIdentification);
            if (member != null)
                return member;

            member = mr.GetByUsername(memberIdentification);
            if (member != null)
                return member;

            return null;
        }