public IHttpActionResult Get(int familyId) { using (bkContext context = new bkContext()) { Family f = context.Families.Where(x => x.FamilyID == familyId).FirstOrDefault(); if (f == null) { return(BadRequest("Family record cannot be loaded.")); } List <bk_GetFamilyMembers_Result> members = context.bk_GetFamilyMembers(familyId).ToList(); FamilyViewModel fvm = new FamilyViewModel(); fvm.FamilyNative = f.FamilyNative; fvm.Address1 = f.Address1; fvm.Address2 = f.Address2; fvm.CategoryID = f.CategoryID; fvm.City = f.City; fvm.District = f.District; fvm.Country = f.Country; fvm.FamilyID = f.FamilyID; fvm.NukhID = f.NukhID; fvm.PostalCode = f.PostalCode; fvm.State = f.State; fvm.HeadOfFamilyID = f.HeadOfFamilyID; fvm.CanEdit = CanEditFamily(f.FamilyID); Member hofMember = f.Member; if (hofMember != null) { fvm.HeadOfFirstName = hofMember.FirstName; fvm.HeadOfLastName = hofMember.LastName; } foreach (var item in members) { var tmp = new FamilyMemberViewModel(); tmp.DOB = item.DOB; tmp.MaritalStatusId = item.MaritalStatusID; tmp.MemberID = item.MemberID; tmp.Name = $"{item.FirstName} {item.LastName}"; tmp.CanEdit = CanEditMember(f.FamilyMemberAssociations.ToList(), item.MemberID); tmp.MatrimonialExists = item.MatrimonialExists.Value; tmp.Gender = item.Gender; tmp.Alive = item.Alive; tmp.DOD = item.DOD; tmp.PaternalFamilyId = item.PaternalFamilyId; if (tmp.PaternalFamilyId.HasValue) { tmp.PaternalFamilyName = string.Format("{0}, {1}", item.PaternalFamilyName, item.PaternalFamilyAddress); } tmp.MaternalFamilyId = item.MaternalFamilyId; if (tmp.MaternalFamilyId.HasValue) { tmp.MaternalFamilyName = string.Format("{0}, {1}", item.MaternalFamilyName, item.MaternalFamilyAddress); } if (!string.IsNullOrEmpty(item.rFirstName)) { tmp.RelatedToName = $"{item.rFirstName} {item.rLastName}"; } tmp.RelationTypeId = item.RelationTypeId; tmp.DefaultFamilyId = item.DefaultFamilyId; fvm.Members.Add(tmp); } fvm.Members = fvm.Members.OrderByDescending(x => x.Age).ToList(); List <bk_PendingApprovals_Result> approvals = context.bk_PendingApprovals(LoggedInMemberId).ToList(); foreach (var item in approvals) { var tmp = new PendingApprovalViewModel(); tmp.AddedByFirstName = item.AddedByFirstName; tmp.AddedById = item.AddedById; tmp.AddedByLastName = item.AddedByLastName; tmp.AddedOn = item.AddedOn; tmp.AddedToFirstName = item.AddedToFirstName; tmp.AddedToId = item.AddedToId; tmp.AddedToLastName = item.AddedToLastName; tmp.FamilyId = item.FamilyId; fvm.PendingApprovals.Add(tmp); } return(Ok(fvm)); } }