/// <summary> /// Apiへのリクエストを実行する /// </summary> /// <param name="onSuccess">APIへのリクエストに成功した時のコールバック</param> /// <param name="onError">エラー発生時のコールバック</param> /// <typeparam name="T">成功した時の戻り値の型</typeparam> public void SendRequest(Action <T, ApiLinksFormat> onSuccess, Action <ApiErrorFormat> onError) { var url = new ApiUrl(EnvironmentConfig.HttpHostUrl, RequestPath); var requestHeader = new ApiHeader(Headers); var conn = ConnectionFactory.CreateHttpConnection(url, Methods, Params, requestHeader); if (onSuccess != null) { conn.OnSuccess = (response) => ResponseConverter.Convert( response, (responseTemplate) => onSuccess(responseTemplate.data, responseTemplate._links), onError ); } if (OnDownloadProgress != null) { conn.OnDownloadProgress = (value) => OnDownloadProgress.Invoke(value); } if (OnUploadProgress != null) { conn.OnUploadProgress = (value) => OnUploadProgress.Invoke(value); } if (onError != null) { conn.OnError = (error) => onError(ResponseConverter.ConvertError(error.Response)); } conn.RequestAsync(Timeout); }
public void AddPrice(ApiHeader apiHeader, EditPriceModel models) { var url = ApiUrl.Default.RootApi + ApiUrl.Default.AddPrice; //var ob = JsonConvert.SerializeObject(models); Restful.Post(url, apiHeader, models); }
public string PushNotifiCall(ApiHeader apiHeader, string id) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.PushNotifiCall, id); var result = Restful.Get(url, apiHeader); return(result["callId"].ToString()); }
public IList <AppointmentResult> Search(ApiHeader apiHeader, string hospitalId, int start = GlobalConstant.StartIndex, int length = GlobalConstant.Length, string searchKeyword = null, SortField sortField = SortField.None, SortType sortType = SortType.Desc, object status = null) { throw new NotImplementedException(); }
public HospitalModel AddOrUpdate(ApiHeader apiHeader, HospitalModel entity) { //Update Clinic var url = ApiUrl.Default.RootApi + ApiUrl.Default.EditClinic; return(Restful.PostMultipartFormClinic(url, apiHeader, entity).Get <HospitalModel>(ApiKeyData.Hospital)); }
public void ConfirmInviteNewUser(ApiHeader apiHeader, InviteNewUserModel model) { //var url = ApiUrl.Default.RootApi + ApiUrl.Default.ConfirmInvitationNewUser; //Restful.PostMultipartForm(url, apiHeader, model.User); ////neeus ok //CheckExpired(model.User.Email, model.User.Hash, true, model.Password.Password); }
public ApiHeader ActiveUser(ApiHeader apiHeader, CreateNewPasswordModel model) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.ActiveClinic, model.Hash, model.Email); var data = Restful.Get(url, apiHeader); ApiHeader header = data.Get <ApiHeader>(); CreatePassword(header, model); return(header); }
public HospitalModel GetClinicInforForPartner(string lang, string hospitalId) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.GetClinicInforForPartner, hospitalId); ApiHeader apiHeader = new ApiHeader(); apiHeader.Lang = lang; apiHeader.Token = GlobalConstant.TokenForParner; return(Restful.Get(url, apiHeader).Get <HospitalModel>(ApiKeyData.Hospital)); }
public UserModel GetProfile(ApiHeader apiHeader, string id) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.GetUserProfile, id); var data = Restful.Get(url, apiHeader); UserModel result = data.Get <UserModel>(ApiKeyData.User); result.AppointmentCount = (string)data["appointmentCount"]; return(result); }
public KeyValueResult[] Add(ApiHeader apiHeader, UserModel entity) { //var url = ApiUrl.Default.RootApi + ApiUrl.Default.AddOrUpdateUser; //var data = Restful.PostMultipartForm(url, apiHeader, entity); //KeyValueResult[] result = new KeyValueResult[2]; //result[0] = new KeyValueResult("userId", data["userId"]); //result[1] = new KeyValueResult("isExist", data["isExist"]); //return result; return(null); }
public IList <HospitalModel> ListHospitals(ApiHeader apiHeader, string status = "all", string signUpStatus = null, int start = GlobalConstant.StartIndex, int length = GlobalConstant.Length, bool showAdmin = false, string search = null, bool searchExactly = true) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.ListHospital, status, signUpStatus, start, length, showAdmin, searchExactly, search); var data = Restful.Get(url, apiHeader); _total = data["total"].ToObject <int>(); return(data.GetList <HospitalModel>(ApiKeyData.ListHospital)); }
public IList <AppointmentResult> Get(ApiHeader apiHeader, string hospitalId, string doctorId, string status, long?startDate, long?endDate, int start, int lenght, string keyword, bool searchExactly, SortField orderBy, SortType sortType) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.ListAppointment, hospitalId, doctorId, status, startDate, endDate, start, lenght, keyword, searchExactly, orderBy.DescriptionAttr(), sortType.DescriptionAttr()); var data = Restful.Get(url, apiHeader); _total = data["total"].ToObject <int>(); return(data.GetList <AppointmentResult>(ApiKeyData.ListAppointment)); }
private static JObject CallMultipartFormApi(string url, ApiHeader apiHeader, CreateClinicUserModel 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.Email) ? "" : data.Email), "Email" }, { new StringContent(string.IsNullOrEmpty(data.ClinicId) ? "" : data.ClinicId), "ClinicId" }, { new StringContent(string.IsNullOrEmpty(data.ClinicName) ? "" : data.ClinicName), "ClinicName" }, { new StringContent(string.IsNullOrEmpty(data.Title) ? "" : data.Title), "Title" }, { 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.Images), "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); }
private static JObject[] CallApiArray(string url, HttpMethod httpMethod, ApiHeader apiHeader, object data) { var cultureCode = Thread.CurrentThread.CurrentCulture; var clientHandler = new WebRequestHandler(); clientHandler.ClientCertificates.Add(new X509Certificate2()); var client = new HttpClient(); var msg = new HttpRequestMessage(httpMethod, url); if (apiHeader != null && string.IsNullOrEmpty(apiHeader.Lang)) { msg.Headers.Add("userId", apiHeader.UserId); msg.Headers.Add("sessionId", apiHeader.SessionId); } if (!string.IsNullOrEmpty(apiHeader?.Lang)) { msg.Headers.Add("lang", apiHeader.Lang); } else { msg.Headers.Add("lang", "en"); } if (!string.IsNullOrEmpty(apiHeader?.Token)) { msg.Headers.Add("token", apiHeader.Token); } if (httpMethod == HttpMethod.Post || httpMethod == HttpMethod.Put || httpMethod == HttpMethod.Delete) { var json = JsonConvert.SerializeObject(data); msg.Content = new StringContent(json); msg.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); } var responseString = client.SendAsync(msg).Result.Content.ReadAsStringAsync().Result; if (!IsJsonString(responseString)) { throw new ApiException(Resource.UnexpectedError); } var response = JsonConvert.DeserializeObject <ApiResponseArray>(responseString); if (!(response.ErrorMessage == "SUCCESS")) { throw new ApiException(response.ErrorMessage, response.ErrorCode.ToString(), cultureCode.Name); } return(response.Result); }
private static JObject CallMultipartFormClinicApi(string url, ApiHeader apiHeader, HospitalModel 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.Id) ? "" : data.Id), "id" }, { new StringContent(string.IsNullOrEmpty(data.ClinicName) ? "" : data.ClinicName), "name" }, { new StringContent(string.IsNullOrEmpty(data.AddressLine1) ? "" : data.AddressLine1), "address" }, { new StringContent(string.IsNullOrEmpty(data.AddressLine2) ? "" : data.AddressLine2), "address2" }, { new StringContent(string.IsNullOrEmpty(data.PhoneNumber[0]) ? "" : data.PhoneNumber[0]), "phones" }, { new StringContent(string.IsNullOrEmpty(data.Suburb) ? "" : data.Suburb), "suburb" }, { new StringContent(string.IsNullOrEmpty(data.PostCode) ? "" : data.PostCode), "postCode" }, { new StringContent(string.IsNullOrEmpty(data.SignUpStatus.ToString()) ? "" : data.SignUpStatus.ToString()), "signUpStatus" }, }; //if (!string.IsNullOrEmpty(data.FileName)) //{ // multipart.Add(new ByteArrayContent(data.imagefile), "file", data.FileName); //} var result = httpClient.PostAsync(new Uri(url), multipart).Result; var response = JsonConvert.DeserializeObject <ApiResponse>(result.Content.ReadAsStringAsync().Result); if (!response.Successed) { throw new ApiException(response.ErrorMessage, response.ErrorCode.ToString(), cultureCode.Name); } return(response.Result); }
public IList <AppointmentResult> Get(ApiHeader apiHeader, int start = GlobalConstant.StartIndex, int length = GlobalConstant.Length, string searchKeyword = null, SortType sortType = GlobalConstant.DefaultSortType) { throw new NotImplementedException(); }
public IList <AppointmentResult> GetAll(ApiHeader apiHeader) { throw new NotImplementedException(); }
public AppointmentResult GetById(ApiHeader apiHeader, string id) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.GetAppointmentById, id); return(Restful.Get(url, apiHeader).Get <AppointmentResult>(ApiKeyData.Appointment)); }
public void Delete(ApiHeader apiHeader, string id) { throw new NotImplementedException(); }
public AppointmentResult AddOrUpdate(ApiHeader apiHeader, AppointmentResult entity) { throw new NotImplementedException(); }
private static void ApiHeaderSaveMapper(ApiHeader apiHeader, DbApiHeader dbApiHeader) { dbApiHeader.Name = apiHeader.Name; dbApiHeader.Value = apiHeader.Value; }
private void CreatePassword(ApiHeader apiHeader, CreateNewPasswordModel model) { var url = ApiUrl.Default.RootApi + ApiUrl.Default.ChangePassword; Restful.Post(url, apiHeader, model); }
public UserModel GetById(ApiHeader apiHeader, string id) { throw new NotImplementedException(); }
public void ReOpenAccount(ApiHeader apiHeader, string userId, string hospitalId) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.ReOpenAccount, userId, hospitalId); Restful.Get(url, apiHeader); }
public void ConfirmInviteUser(ApiHeader apiHeader, string hash, string email) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.ConfirmInvitationUser, hash, email); Restful.Get(url, apiHeader); }
public static JObject PostMultipartFormPatient(string url, ApiHeader apiHeader, UpdatePatientModel model) { return(CallMultipartPatientFormApi(url, apiHeader, model)); }
public IList <UserModel> GetAll(ApiHeader apiHeader) { throw new NotImplementedException(); }
public UserModel AddOrUpdate(ApiHeader apiHeader, UserModel entity) { throw new NotImplementedException(); }
public void FinishCall(ApiHeader apiHeader, string id, int status) { var url = ApiUrl.Default.RootApi + string.Format(ApiUrl.Default.CallStatus, id, status); Restful.Get(url, apiHeader); }
public void SetPassword(ApiHeader apiHeader, string password) { var url = ApiUrl.Default.RootApi + ApiUrl.Default.SetPasswordForSignUp; Restful.Post(url, apiHeader, new { newPassword = password }); }