private string CreatePlea(string famUserName, string email, string currUserName)
        {
            IQueryable <Family> fam        = _repo.Query <Family>().Where(m => m.FamilyUserName == famUserName);
            ApplicationUser     approver   = fam.Select(g => g.CreatedBy).FirstOrDefault();
            ApplicationUser     currUser   = GetMemberByUserName(currUserName);
            IList <FamilyUser>  memberList = fam.Select(m => m.MemberList).FirstOrDefault();

            if (memberList.Any(m => m.UserId == currUser.Id))
            {
                return("You are already a member of this family.");
            }
            else if (_repo.Query <InviteOrPlea>().ToList().Any(m => m.EmailAddress == email && m.Family.FamilyUserName == famUserName))
            {
                return("There already exists a request from you.");
            }
            else
            {
                var newFam  = fam.FirstOrDefault();
                var newPlea = new InviteOrPlea {
                    EmailAddress = email,
                    Approved     = Domain.Response.None,
                    UserResponse = Domain.Response.Yes,
                    Family       = newFam,
                    Approver     = approver,
                    Pleader      = currUser,
                };
                _repo.Add <InviteOrPlea>(newPlea);
                return("A request has been submitted for you");
            }
        }
        private string CreateInvite(string famUserName, string email, string currUserName)
        {
            IQueryable <Family> fam        = _repo.Query <Family>().Where(m => m.FamilyUserName == famUserName);
            ApplicationUser     approver   = fam.Select(g => g.CreatedBy).FirstOrDefault();
            ApplicationUser     inviter    = _repo.Query <ApplicationUser>().Where(m => m.UserName == currUserName).FirstOrDefault();
            ApplicationUser     invitee    = _repo.Query <ApplicationUser>().Where(m => m.Email == email).FirstOrDefault();
            IList <FamilyUser>  memberList = fam.Select(m => m.MemberList).FirstOrDefault();

            if (memberList.Any(m => m.UserId == invitee.Id))
            {
                return("This user is already a member of this family.");
            }
            else if (_repo.Query <InviteOrPlea>().ToList().Any(m => m.EmailAddress == email && m.Family.FamilyUserName == famUserName))
            {
                return("There is already a pending invite or plea for this user.");
            }
            else
            {
                var newFam  = fam.FirstOrDefault();
                var newPlea = new InviteOrPlea {
                    //EmailAddress = email,
                    Approved     = inviter == approver ? Domain.Response.Yes : Domain.Response.None,
                    UserResponse = Domain.Response.None,
                    Family       = newFam,
                    Approver     = approver,
                    Inviter      = inviter,
                    Pleader      = invitee
                };
                _repo.Add <InviteOrPlea>(newPlea);
                return("An invitation has been sent to this user");
            }
        }