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")); } }