예제 #1
0
        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);
        }
예제 #2
0
        public void UpdateOtherUser(UpdateClinicUserModel model)
        {
            var url = ApiUrl.Default.RootApi + ApiUrl.Default.EditClinicUser;

            Restful.PostMultipartForm(url, null, model).Get <UserModel>(ApiKeyData.User);
        }
예제 #3
0
 public static JObject PostMultipartForm(string url, ApiHeader apiHeader, UpdateClinicUserModel data)
 {
     return(CallMultipartFormApi(url, apiHeader, data));
 }