/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { GetMembersResponse response = new GetMembersResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("members", targetDepth)) { var unmarshaller = new ListUnmarshaller <Member, MemberUnmarshaller>(MemberUnmarshaller.Instance); response.Members = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("unprocessedAccounts", targetDepth)) { var unmarshaller = new ListUnmarshaller <UnprocessedAccount, UnprocessedAccountUnmarshaller>(UnprocessedAccountUnmarshaller.Instance); response.UnprocessedAccounts = unmarshaller.Unmarshall(context); continue; } } return(response); }
public async Task <ActionResult <GetMembersResponse> > getAllMembers(GetMembersRequest request) { if (request.Username == "") { return(StatusCode(StatusCodes.Status400BadRequest, "Username cannot be empty!")); } Users user = await userGymMovesRepository.getUser(request.Username); if (user == null) { return(StatusCode(StatusCodes.Status404NotFound, "User does not exist!")); } if (user.UserType != UserTypes.Manager) { return(StatusCode(StatusCodes.Status401Unauthorized, "User is not a manager!")); } if (user.GymIdForeignKey != request.GymId) { return(StatusCode(StatusCodes.Status401Unauthorized, "Managers can only see the unregistered users of their own gym!")); } GymMember[] unregisteredUsers = await gymMemberRepository.getGymMembers(request.GymId); Users[] registeredUsers = await userGymMovesRepository.getAllUsers(request.GymId); if (unregisteredUsers.Length > 0 || registeredUsers.Length > 0) { GetMembersResponse[] responses = UserMappers.MemberToMemberResponse(unregisteredUsers); GetMembersResponse[] responses2 = UserMappers.UserToMemberResponse(registeredUsers); var all = new GetMembersResponse[responses.Length + responses2.Length]; responses.CopyTo(all, 0); responses2.CopyTo(all, responses.Length); return(Ok(all)); } else { return(Ok(unregisteredUsers)); } }
public static GetMembersResponse[] MemberToMemberResponse(GymMember[] models) { GetMembersResponse[] responses = new GetMembersResponse[models.Length]; for (int i = 0; i < models.Length; i++) { responses[i] = new GetMembersResponse(); responses[i].Username = null; responses[i].Name = models[i].Name; responses[i].Surname = models[i].Surname; responses[i].MembershipId = models[i].MembershipId; responses[i].Email = models[i].Email; responses[i].PhoneNumber = models[i].PhoneNumber; responses[i].UserType = models[i].UserType; } return(responses); }
public static GetMembersResponse Unmarshall(UnmarshallerContext context) { GetMembersResponse getMembersResponse = new GetMembersResponse(); getMembersResponse.HttpResponse = context.HttpResponse; getMembersResponse.ErrorCode = context.IntegerValue("GetMembers.ErrorCode"); getMembersResponse.Message = context.StringValue("GetMembers.Message"); getMembersResponse.Success = context.BooleanValue("GetMembers.Success"); getMembersResponse.RequestId = context.StringValue("GetMembers.RequestId"); GetMembersResponse.GetMembers_MeetingInfo meetingInfo = new GetMembersResponse.GetMembers_MeetingInfo(); meetingInfo.MeetingName = context.StringValue("GetMembers.MeetingInfo.MeetingName"); meetingInfo.ValidTime = context.LongValue("GetMembers.MeetingInfo.ValidTime"); meetingInfo.MeetingCode = context.StringValue("GetMembers.MeetingInfo.MeetingCode"); meetingInfo.CreateTime = context.LongValue("GetMembers.MeetingInfo.CreateTime"); meetingInfo.UserId = context.StringValue("GetMembers.MeetingInfo.UserId"); meetingInfo.MeetingUUID = context.StringValue("GetMembers.MeetingInfo.MeetingUUID"); List <GetMembersResponse.GetMembers_MeetingInfo.GetMembers_MemberListItem> meetingInfo_memberList = new List <GetMembersResponse.GetMembers_MeetingInfo.GetMembers_MemberListItem>(); for (int i = 0; i < context.Length("GetMembers.MeetingInfo.MemberList.Length"); i++) { GetMembersResponse.GetMembers_MeetingInfo.GetMembers_MemberListItem memberListItem = new GetMembersResponse.GetMembers_MeetingInfo.GetMembers_MemberListItem(); memberListItem.UserAvatarUrl = context.StringValue("GetMembers.MeetingInfo.MemberList[" + i + "].UserAvatarUrl"); memberListItem.MemberUUID = context.StringValue("GetMembers.MeetingInfo.MemberList[" + i + "].MemberUUID"); memberListItem.UserName = context.StringValue("GetMembers.MeetingInfo.MemberList[" + i + "].UserName"); memberListItem.UserId = context.StringValue("GetMembers.MeetingInfo.MemberList[" + i + "].UserId"); memberListItem.Status = context.StringValue("GetMembers.MeetingInfo.MemberList[" + i + "].Status"); meetingInfo_memberList.Add(memberListItem); } meetingInfo.MemberList = meetingInfo_memberList; getMembersResponse.MeetingInfo = meetingInfo; return(getMembersResponse); }