public HttpResponseMessage Family()
        {
            try
            {
                var currentUser = UserLoginService.GetCurrentUser();

                if (currentUser == null)
                {
                    return(ControllerContext.Request.CreateResponse(HttpStatusCode.Forbidden));
                }

                List <FamilyMemberProfile> familyMembers = new List <FamilyMemberProfile>();

                FamilyMemberProfile familyMember = new FamilyMemberProfile();
                foreach (GroupMember member in currentUser.Person.PrimaryFamily.Members)
                {
                    familyMember = new FamilyMemberProfile();
                    familyMember.IsCurrentPerson = member.PersonId == currentUser.PersonId;
                    familyMember.FamilyRole      = member.GroupRole.Name;
                    familyMember.FullName        = member.Person.FullName;
                    familyMember.PersonId        = member.Person.Id;
                    familyMember.Profile         = new Profile(member.Person);
                    familyMembers.Add(familyMember);
                }

                return(ControllerContext.Request.CreateResponse(HttpStatusCode.OK, familyMembers));
            }
            catch
            {
                return(ControllerContext.Request.CreateResponse(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
        }
        public HttpResponseMessage GetFamily()
        {
            try
            {
                ClaimsIdentity id = (ClaimsIdentity)User.Identity;

                if (id == null || id.Claims.Where(c => c.Type == "urn:oauth:scope").Where(c => c.Value.ToLower() == "family").Count() == 0)
                {
                    return(ControllerContext.Request.CreateResponse(HttpStatusCode.Forbidden, "Forbidden"));
                }
                var currentUser = UserLoginService.GetCurrentUser();

                if (currentUser == null)
                {
                    return(ControllerContext.Request.CreateResponse(HttpStatusCode.NotFound));
                }

                List <FamilyMemberProfile> familyMembers = new List <FamilyMemberProfile>();
                // Add the current person

                FamilyMemberProfile familyMember = new FamilyMemberProfile();
                foreach (GroupMember member in currentUser.Person.GetFamilyMembers(true))
                {
                    familyMember            = new FamilyMemberProfile();
                    familyMember.FamilyRole = member.GroupRole.Name;
                    familyMember.FullName   = member.Person.FullName;
                    familyMember.PersonId   = member.Person.Id;
                    familyMember.Profile    = new OAuthController.Profile(member.Person);
                    familyMembers.Add(familyMember);
                }

                return(ControllerContext.Request.CreateResponse(HttpStatusCode.OK, familyMembers));
            }
            catch
            {
                return(ControllerContext.Request.CreateResponse(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
        }