Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }