public async Task <OperationResponse> DeleteUser(int userId) { OperationResponse userResponse = new OperationResponse(); try { using (var client = new CustomRestClient(_serviceURL, _token)) { var response = await client.DeleteAsync <ServiceMainResponse>($"/users/{userId}"); if (response.Code == 201 || response.Code == 204) { userResponse.IsSuccess = true; userResponse.ErrorInfo = Resource.Messages.DeleteRecordSuccess; } else if (response.Code == 404) { userResponse.IsSuccess = false; userResponse.ErrorInfo = ((JObject)response.Data).ToObject <MessageData>().Message; } }; } catch { userResponse.IsSuccess = false; userResponse.ErrorInfo = Resource.Messages.ErrorMessage; } return(userResponse); }
public async Task <UserListResponse> GetUserList(int pageno) { UserListResponse userResponse = new UserListResponse(); try { using (var client = new CustomRestClient(_serviceURL, _token)) { var response = await client.GetAsync <ServiceMainResponse>($"/users?page={pageno}"); if (response.Code == 200) { userResponse.IsSuccess = true; userResponse.UserInfoList = ((JArray)response.Data).ToObject <List <UserInfo> >(); userResponse.Meta = response.Meta; } else if (response.Code == 404) { userResponse.IsSuccess = false; userResponse.ErrorInfo = ((JObject)response.Data).ToObject <MessageData>().Message; } }; } catch { userResponse.IsSuccess = false; userResponse.ErrorInfo = Resource.Messages.ErrorMessage; } return(userResponse); }
public async Task <OperationResponse> SaveUser(User user) { //Concurrency is managed by checking the Updated_at field. If Updated_at is having the same value then allowing to submit the record otherwise //returning concurrency error message. OperationResponse userResponse = new OperationResponse(); ServiceMainResponse response = new ServiceMainResponse(); try { using (var client = new CustomRestClient(_serviceURL, _token)) { if (user.ID > 0) { UserInfoResponse userInfoDetail = await GetUser(user.ID); if (userInfoDetail.IsSuccess == false) { userResponse = userInfoDetail; } else { if (userInfoDetail.UserInfo.Updated_At == user.Updated_At) { response = await client.PutGetAsync <User, ServiceMainResponse>(user, $"/users/{user.ID}"); } else { userResponse.IsSuccess = false; userResponse.ErrorInfo = Resource.Messages.ConcurrencyError; } } } else { response = await client.PostGetAsync <User, ServiceMainResponse>(user, "/users"); } if (response.Code == 201 || response.Code == 200) {///SAVED SUCCESS userResponse.IsSuccess = true; userResponse.ErrorInfo = ""; } else if (response.Code == 422)///VALIDATION FAILED { userResponse.IsSuccess = false; userResponse.ErrorInfo = string.Join(",", ((JArray)response.Data).ToObject <List <MessageData> >().Select(m => m.ToString()).ToArray()); } else if (response.Code == 401 || response.Code == 404) { userResponse.IsSuccess = false; userResponse.ErrorInfo = ((JObject)response.Data).ToObject <MessageData>().Message; } }; } catch { userResponse.IsSuccess = false; userResponse.ErrorInfo = Resource.Messages.ErrorMessage; } return(userResponse); }