private static JObject CallMultipartFormApi(string url, ApiHeader apiHeader, UpdateClinicUserModel data) { var cultureCode = Thread.CurrentThread.CurrentCulture; var clientHandler = new WebRequestHandler(); clientHandler.ClientCertificates.Add(new X509Certificate2()); var httpClient = new HttpClient(); if (apiHeader != null) { httpClient.DefaultRequestHeaders.Add("userId", apiHeader.UserId); httpClient.DefaultRequestHeaders.Add("sessionId", apiHeader.SessionId); } if (!string.IsNullOrEmpty(apiHeader?.Lang)) { httpClient.DefaultRequestHeaders.Add("lang", apiHeader.Lang); } else { httpClient.DefaultRequestHeaders.Add("lang", "en"); } var multipart = new MultipartFormDataContent { { new StringContent(string.IsNullOrEmpty(data.FirstName) ? "" : data.FirstName), "FirstName" }, { new StringContent(string.IsNullOrEmpty(data.LastName) ? "" : data.LastName), "LastName" }, { new StringContent(string.IsNullOrEmpty(data.Title) ? "" : data.Title), "Title" }, { new StringContent(string.IsNullOrEmpty(data.DoctorId) ? "" : data.DoctorId), "DoctorId" }, { new StringContent(string.IsNullOrEmpty(data.ClinicUserId) ? "" : data.ClinicUserId), "ClinicUserId" }, { new StringContent(string.IsNullOrEmpty(data.UserType.ToString()) ? "" : data.UserType.ToString()), "UserType" }, { new StringContent(string.IsNullOrEmpty(data.AccessType.ToString()) ? "" : data.AccessType.ToString()), "AccessType" }, }; if (!string.IsNullOrEmpty(data.FileName)) { multipart.Add(new ByteArrayContent(data.Imagefile), "Image", data.FileName); } //if (!string.IsNullOrEmpty(data.Hash)) //{ // multipart.Add(new StringContent(data.Hash), "hash"); //} var result = httpClient.PostAsync(new Uri(url), multipart).Result; var response = JsonConvert.DeserializeObject <ApiResponse>(result.Content.ReadAsStringAsync().Result); if (!(response.ErrorMessage == "SUCCESS")) { throw new ApiException(response.ErrorMessage, response.ErrorCode.ToString(), cultureCode.Name); } return(response.Result); }
public void UpdateOtherUser(UpdateClinicUserModel model) { var url = ApiUrl.Default.RootApi + ApiUrl.Default.EditClinicUser; Restful.PostMultipartForm(url, null, model).Get <UserModel>(ApiKeyData.User); }
public static JObject PostMultipartForm(string url, ApiHeader apiHeader, UpdateClinicUserModel data) { return(CallMultipartFormApi(url, apiHeader, data)); }