private ActionResult <IResponseObject> UserCreationConflict(string errorDetail) { ErrorResponseObject errorResponse = _responseObjectFactory .CreateErrorResponseObject(HttpStatusCode.Conflict, UserCreationErrorTitle, errorDetail); return(Conflict(errorResponse)); }
/// <summary> /// Выход. /// </summary> /// <returns></returns> public static async Task LogOut() { try { HttpResponseMessage response = await _httpClient.GetAsync($"logout"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); } } catch (Exception ex) { ErrorResponseObject error = new ErrorResponseObject(); error.Errors[0] = ex.Message; } }
private ActionResult <IResponseObject> LoginError(string errorTitle, string errorDetail) { ErrorResponseObject errorResponse = _responseObjectFactory .CreateErrorResponseObject(HttpStatusCode.BadRequest, errorTitle, errorDetail); return(BadRequest(errorResponse)); }
/// <summary> /// Получение соглашения. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <AgreementResponse> > Privacy() { try { HttpResponseMessage response = await _httpClient.GetAsync($"agreement/privacy"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <AgreementResponse> o_data = new ServiceResponseObject <AgreementResponse>(); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } var message = JsonConvert.DeserializeObject <AgreementResponse>(s_result); o_data.ResponseData = message; o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; return(o_data); } catch (Exception ex) { ServiceResponseObject <AgreementResponse> o_data = new ServiceResponseObject <AgreementResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение предварительной стоимости заказа /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <AmountResponse> > GetOrderPrice(MakeOrderModel model) { try { #region Пример HttpWebRequest //HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://smartboxcity.ru:8003/order/rate?inception_lat=" + model.inception_lat + "&inception_lng=" + model.inception_lng + "&destination_lat=" + model.destination_lat + "&destination_lng=" + model.destination_lng + "&weight=" + model.weight + "&qty=" + model.qty + "&cargo_type=" + model.cargo_type + "&cargo_class=" + model.cargo_class + "&insurance=" + model.insurance); //request.Method = "GET"; //var myHttpWebResponse = (HttpWebResponse)request.GetResponse(); //Stream responseStream = myHttpWebResponse.GetResponseStream(); //StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); //string s_result = myStreamReader.ReadToEnd(); //myStreamReader.Close(); //responseStream.Close(); //myHttpWebResponse.Close(); #endregion HttpResponseMessage response = await _httpClient.GetAsync($"order/rate?inception_lat={model.inception_lat}" + $"&inception_lng={model.inception_lng}" + $"&destination_lat={model.destination_lat}&" + $"destination_lng={model.destination_lng}&" + $"weight={model.weight}&qty={model.qty}&" + $"cargo_type={model.cargo_type}&" + $"cargo_class={model.cargo_class}&" + $"insurance={model.insurance}"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <AmountResponse> o_data = new ServiceResponseObject <AmountResponse>(); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } o_data.ResponseData = JsonConvert.DeserializeObject <AmountResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; return(o_data); } catch (Exception ex) { ServiceResponseObject <AmountResponse> o_data = new ServiceResponseObject <AmountResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Отправить заказ на следующий этап исполнения заказ. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > TransmitOrder(string order_id, string for_date, string for_time) { try { HttpResponseMessage response = await _httpClient.GetAsync($"order/{order_id}/transmit?for_date={for_date}&for_time={for_time}"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var message = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = message.Message; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
private async void MakeRequestAlarm() { var myHttpClient = new HttpClient(); var uri = new Uri("http://smartboxcity.ru:8003/imitator/" + StaticBox.DeviceId + "/alarm/" + CrossSettings.Current.GetValueOrDefault("AlermId", "") + "/raise"); HttpResponseMessage response = await myHttpClient.GetAsync(uri.ToString()); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } if (response.IsSuccessStatusCode) { AlarmResponse o_data = new AlarmResponse(); o_data = JsonConvert.DeserializeObject <AlarmResponse>(s_result); if (o_data.Message == "Угроза имитатора изменена") { btn_cause_alarm.Text = "Отменить тревогу"; } Android.App.AlertDialog.Builder alert = new Android.App.AlertDialog.Builder(this); alert.SetTitle("Тревоги"); alert.SetMessage(o_data.Message); alert.SetPositiveButton("Закрыть", (senderAlert1, args1) => { }); Dialog dialog1 = alert.Create(); dialog1.Show(); } else { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); Toast.MakeText(this, error.Errors[0], ToastLength.Long).Show(); } }
/// <summary> /// Вход с использованием токена. /// </summary> /// <param name="token"></param> /// <returns></returns> public static async Task Login(string token) { try { HttpResponseMessage response = await _httpClient.GetAsync($"login?login={token}&password="); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); } } catch (Exception) { throw; } }
/// <summary> /// Регистрация юридического лица. /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <RegisterResponse> > RegisterLegal(RegisterLegalModel model) { try { //status & message var formContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "login", model.Login }, { "password", model.Password }, { "email", model.Email }, { "org_phone", model.OrgPhone }, { "client_type", model.ClientType }, { "client_last_name", model.ClientLastName }, { "client_name", model.ClientName }, { "client_patronymic", model.ClientPatronymic }, { "org_postal_address", model.OrgPostalAddress }, { "org_name", model.OrgName }, { "org_kpp", model.OrgKpp }, { "org_inn", model.OrgInn }, { "org_ogrn", model.OrgOgrn }, { "org_bank", model.OrgBank }, { "org_bank_payment", model.OrgBankpayment }, { "org_bank_correspondent", model.OrgBankCorrespondent }, { "org_bank_bik", model.OrgBankBik }, { "org_legal_address", model.OrgLegalAddress } }); HttpResponseMessage response = await _httpClient.PostAsync($"client", formContent); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Внутренняя ошибка сервера 500"; return(o_data); } case HttpStatusCode.NotFound: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Ресурс не найден 404"; return(o_data); } case HttpStatusCode.OK: { var register = JsonConvert.DeserializeObject <RegisterResponse>(s_result); o_data.Message = register.message; o_data.Status = response.StatusCode; o_data.ResponseData = new RegisterResponse { message = register.message, user = register.user }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение данных заказа. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> > > GetSensorParameters(string ORDER_ID) { try { var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{CrossSettings.Current.GetValueOrDefault("token", "")}:"))); HttpClient client = new HttpClient { BaseAddress = new Uri(URL), DefaultRequestHeaders = { Authorization = authValue } }; HttpResponseMessage response = await client.GetAsync($"unit/?UNIT_VIEW=index&ORDER_ID={ORDER_ID}"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> > o_data = new ServiceResponseObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> >(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var order = JsonConvert.DeserializeObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> >(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; o_data.ResponseData = JsonConvert.DeserializeObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> >(s_result); return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> > o_data = new ServiceResponseObject <OrderObjectResponse <OrderParameters, SensorResponse, StageResponse> >(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение геоданных заказа. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <GeoResponseData> > GeoOrder(string ORDER_ID) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://smartboxcity.ru:8003/order/" + ORDER_ID + "/geo"); request.Method = "GET"; request.Credentials = new NetworkCredential(CrossSettings.Current.GetValueOrDefault("token", ""), ""); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); string s_result = myStreamReader.ReadToEnd(); myStreamReader.Close(); responseStream.Close(); response.Close(); //HttpResponseMessage response = await _httpClient.GetAsync($"order/{ORDER_ID}/geo"); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} ServiceResponseObject <GeoResponseData> o_data = new ServiceResponseObject <GeoResponseData>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var order = JsonConvert.DeserializeObject <GeoResponseData>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new GeoResponseData { ORDER = order.ORDER, MAP_WAYPOINTS = order.MAP_WAYPOINTS }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <GeoResponseData> o_data = new ServiceResponseObject <GeoResponseData>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Выполнение входа. /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <AuthResponse> > Login(AuthModel model) { try { var password = WebUtility.UrlEncode(model.Password); HttpResponseMessage response = await _httpClient.GetAsync($"login?login={model.Login}&password={password}"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <AuthResponse> o_data = new ServiceResponseObject <AuthResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Внутренняя ошибка сервера 500"; return(o_data); } case HttpStatusCode.NotFound: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Ресурс не найден 404"; return(o_data); } case HttpStatusCode.OK: { o_data.ResponseData = JsonConvert.DeserializeObject <AuthResponse>(s_result); o_data.Message = "Успешно авторизован!"; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <AuthResponse> o_data = new ServiceResponseObject <AuthResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение заказов /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <ListResponse <OrderResponseData, ArchiveResponse> > > GetOrders( ) { try { var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{CrossSettings.Current.GetValueOrDefault("token", "")}:"))); HttpClient client = new HttpClient { BaseAddress = new Uri(URL), DefaultRequestHeaders = { Authorization = authValue } }; HttpResponseMessage response = await client.GetAsync($"orders/?API"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <ListResponse <OrderResponseData, ArchiveResponse> > o_data = new ServiceResponseObject <ListResponse <OrderResponseData, ArchiveResponse> >(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var order = JsonConvert.DeserializeObject <ListResponse <OrderResponseData, ArchiveResponse> >(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new ListResponse <OrderResponseData, ArchiveResponse> { ORDERS = order.ORDERS, ARCHIVE = order.ARCHIVE }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <ListResponse <OrderResponseData, ArchiveResponse> > o_data = new ServiceResponseObject <ListResponse <OrderResponseData, ArchiveResponse> >(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Остановить исполнение команды. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > StopCommands(string CONTAINER_ID) { try { HttpResponseMessage response = await _httpClient.GetAsync($"container/{CONTAINER_ID}/stop"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var box = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new SuccessResponse { Message = box.Message }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Список всех тревог. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <ListAlarmResponse> > GetAlarms() { try { HttpResponseMessage response = await _httpClient.GetAsync($"driver/alarms"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <ListAlarmResponse> o_data = new ServiceResponseObject <ListAlarmResponse>(); //var result = new ListAlarmResponse(); //result.ALARMS.Add(new AlarmResponseData //{ // acknowledged = "1", // container_id = "00000000003", // id = "2", // name = "Протечка жидкости", // raised_at = DateTime.Now //}); //result.ALARMS.Add(new AlarmResponseData //{ // acknowledged = "1", // container_id = "00000000122", // id = "1", // name = "Превышение веса", // raised_at = DateTime.Now //}); //result.ALARMS.Add(new AlarmResponseData //{ // acknowledged = "0", // container_id = "00000000122", // id = "3", // name = "Несанкционированное срабатывание датчиков дверей ", // raised_at = DateTime.Now //}); //o_data.Message = "Успешно!"; //o_data.Status = System.Net.HttpStatusCode.OK;// а почему переменная container_id пустая //o_data.ResponseData = new ListAlarmResponse //{ // ALARMS = result.ALARMS //}; //return o_data; switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { o_data.Status = response.StatusCode; o_data.Message = "Тревоги не найдены."; return(o_data); } case HttpStatusCode.OK: { var alarms = JsonConvert.DeserializeObject <ListAlarmResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = System.Net.HttpStatusCode.OK; o_data.ResponseData = new ListAlarmResponse { ALARMS_STATUS = alarms.ALARMS_STATUS }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <ListAlarmResponse> o_data = new ServiceResponseObject <ListAlarmResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение данных контейнера. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <InfoBoxResponse> > GetInfoBox(string CONTAINER_ID) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://smartboxcity.ru:8003/container/" + CONTAINER_ID); request.Method = "GET"; request.Credentials = new NetworkCredential(CrossSettings.Current.GetValueOrDefault("token", ""), ""); var response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); string s_result = myStreamReader.ReadToEnd(); myStreamReader.Close(); responseStream.Close(); response.Close(); //HttpResponseMessage response = await _httpClient.GetAsync($"container/{CONTAINER_ID}"); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} ServiceResponseObject <InfoBoxResponse> o_data = new ServiceResponseObject <InfoBoxResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = "Ошибка 400"; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var box = JsonConvert.DeserializeObject <InfoBoxResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new InfoBoxResponse { CONTAINER = box.CONTAINER, SENSORS_STATUS = box.SENSORS_STATUS, ALARMS_STATUS = box.ALARMS_STATUS, EVENT_COUNT = box.EVENT_COUNT }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <InfoBoxResponse> o_data = new ServiceResponseObject <InfoBoxResponse>(); o_data.Message = ex.Message; return(o_data); } }
private async void GetInfoAboutBox() { try { CreateBoxModel model = new CreateBoxModel { id = StaticBox.DeviceId }; var myHttpClient = new HttpClient(); var id1 = CrossSettings.Current.GetValueOrDefault("id", ""); var uri = new Uri("http://iot.tmc-centert.ru/api/container/getbox?id=" + id1); var uri2 = new Uri("http://smartboxcity.ru:8003/imitator/status?id=" + StaticBox.DeviceId); HttpResponseMessage response = await myHttpClient.GetAsync(uri2.ToString()); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } if (response.IsSuccessStatusCode) { Status o_data = new Status(); o_data = JsonConvert.DeserializeObject <Status>(s_result); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} //StaticBox.AddInfoObjects(o_boxes_data); //В статик бокс закомментируй 9 свойств StaticBox.Sensors["Температура"] = o_data.status.Sensors["Температура"]; StaticBox.Sensors["Влажность"] = o_data.status.Sensors["Влажность"]; StaticBox.Sensors["Освещенность"] = o_data.status.Sensors["Освещенность"]; StaticBox.Sensors["Уровень заряда аккумулятора"] = o_data.status.Sensors["Уровень заряда аккумулятора"]; StaticBox.Sensors["Уровень сигнала"] = o_data.status.Sensors["Уровень сигнала"]; StaticBox.Sensors["Состояние дверей"] = o_data.status.Sensors["Состояние дверей"]; StaticBox.Sensors["Состояние контейнера"] = o_data.status.Sensors["Состояние контейнера"]; StaticBox.Sensors["Местоположение контейнера"] = o_data.status.Sensors["Местоположение контейнера"]; //StaticBox.CreatedAtSensors = o_data.ResponseData.Objects[0].CreatedAt; if (StaticBox.Sensors["Состояние контейнера"] == "0") { StaticBox.Sensors["Вес груза"] = "0"; } else { StaticBox.Sensors["Вес груза"] = o_data.status.Sensors["Вес груза"]; } //Заполняй остальные параметры как в этом примере s_open_close_container.Text = (StaticBox.Sensors["Состояние контейнера"] == "0") ? "сложен" : "разложен"; if (s_open_close_container.Text == "сложен") { s_lock_unlock_door.Text = "открыта"; box_lay_fold.SetImageResource(Resource.Drawable.close_box); } else { s_lock_unlock_door.Text = (StaticBox.Sensors["Состояние дверей"] == "0") ? "закрыта" : "открыта"; if (s_lock_unlock_door.Text == "закрыта" && s_open_close_container.Text == "разложен") { box_lay_fold.SetImageResource(Resource.Drawable.close_door); } else if (s_lock_unlock_door.Text == "открыта" && s_open_close_container.Text == "разложен") { box_lay_fold.SetImageResource(Resource.Drawable.open_door); } } a_situation = StaticBox.Sensors["Местоположение контейнера"]; s_situation_container.SetSelection(Resources.GetStringArray(Resource.Array.a_situation_loaded_container).IndexOf(x => x == a_situation)); Toast.MakeText(this, "Успешно!", ToastLength.Long).Show(); } else { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); Toast.MakeText(this, error.Errors[0], ToastLength.Long).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } }
/// <summary> /// Отправка координат водителя. /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > PostGeoData(GeoModel model) { try { //status & message var formContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "lat", model.lat }, { "lng", model.lng }, { "gps_time", model.gps_time.ToString() } }); HttpResponseMessage response = await _httpClient.PostAsync($"driver/geo", formContent); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var message = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = message.Message; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// сбор информации о контейнере /// </summary> /// <param name="dir_path"></param> private async void GetInfoAboutBox() { try { CreateBoxModel model = new CreateBoxModel { id = StaticBox.DeviceId }; var myHttpClient = new HttpClient(); var id1 = CrossSettings.Current.GetValueOrDefault("id", ""); var uri = new Uri("http://iot.tmc-centert.ru/api/container/getbox?id=" + id1); var uri2 = new Uri("http://smartboxcity.ru:8003/imitator/status?id=" + StaticBox.DeviceId); HttpResponseMessage response = await myHttpClient.GetAsync(uri2.ToString()); //var myHttpClient = new HttpClient(); //var id1 = CrossSettings.Current.GetValueOrDefault("id", ""); //var uri = new Uri("http://iot.tmc-centert.ru/api/container/getbox?id=" + id1); // HttpResponseMessage response = await myHttpClient.GetAsync(uri.ToString()); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } if (response.IsSuccessStatusCode) { Status o_data = new Status(); o_data = JsonConvert.DeserializeObject <Status>(s_result); //В статик бокс закомментируй 9 свойств StaticBox.Sensors["Температура"] = o_data.status.Sensors["Температура"].Replace(".", ","); StaticBox.Sensors["Влажность"] = o_data.status.Sensors["Влажность"].Replace(".", ","); StaticBox.Sensors["Освещенность"] = o_data.status.Sensors["Освещенность"].Replace(".", ","); StaticBox.Sensors["Уровень заряда аккумулятора"] = o_data.status.Sensors["Уровень заряда аккумулятора"].Replace(".", ","); StaticBox.Sensors["Уровень сигнала"] = o_data.status.Sensors["Уровень сигнала"].Replace(".", ","); StaticBox.Sensors["Состояние дверей"] = o_data.status.Sensors["Состояние дверей"].Replace(".", ","); StaticBox.Sensors["Состояние контейнера"] = o_data.status.Sensors["Состояние контейнера"].Replace(".", ","); StaticBox.Sensors["Местоположение контейнера"] = o_data.status.Sensors["Местоположение контейнера"].Replace(".", ","); if (StaticBox.Sensors["Состояние контейнера"] == "0") { StaticBox.Sensors["Вес груза"] = "0"; } else { StaticBox.Sensors["Вес груза"] = o_data.status.Sensors["Вес груза"].Replace(".", ","); } //StaticBox.CreatedAtSensors = (DateTime)o_data.ResponseData.Objects[0].CreatedAt; //Заполняй остальные параметры как в этом примере int a = 0, b = 0; decimal weight, temp, signal, light, humi, akk; weight = Convert.ToDecimal(StaticBox.Sensors["Вес груза"]); temp = Convert.ToDecimal(StaticBox.Sensors["Температура"]); signal = Convert.ToDecimal(StaticBox.Sensors["Уровень сигнала"]); light = Convert.ToDecimal(StaticBox.Sensors["Освещенность"]); humi = Convert.ToDecimal(StaticBox.Sensors["Влажность"]); akk = Convert.ToDecimal(StaticBox.Sensors["Уровень заряда аккумулятора"]); s_weight.Progress = Convert.ToInt32(weight); a = Convert.ToInt32(temp); b = Convert.ToInt32(signal); s_light.Progress = Convert.ToInt32(light); s_humidity.Progress = Convert.ToInt32(humi); s_battery.Progress = Convert.ToInt32(akk); s_temperature.Progress = a + 40; s_signal_strength_1.Progress = b + 110; SmullWeight.Text = StaticBox.Sensors["Вес груза"]; SmullTemperature.Text = StaticBox.Sensors["Температура"]; SmullLight.Text = StaticBox.Sensors["Освещенность"]; SmullHumidity.Text = StaticBox.Sensors["Влажность"]; SmullBattery.Text = StaticBox.Sensors["Уровень заряда аккумулятора"]; SmullNetworkSignal.Text = StaticBox.Sensors["Уровень сигнала"]; TextNameBox.Text = "(" + StaticBox.DeviceId + ")"; Toast.MakeText(this, "Успешно!", ToastLength.Long).Show(); if (StaticBox.Sensors["Состояние контейнера"] == "0") { StaticBox.Sensors["Вес груза"] = "0"; Android.App.AlertDialog.Builder alert = new Android.App.AlertDialog.Builder(this); alert.SetTitle("Внимание !"); alert.SetMessage("Невозможно изменить вес контейнера.(Состояние контейнера: сложен) "); alert.SetPositiveButton("Закрыть", (senderAlert, args) => { Toast.MakeText(this, "Предупреждение было закрыто!", ToastLength.Short).Show(); }); Dialog dialog = alert.Create(); dialog.Show(); } btn_cause_alarm.Enabled = true; } else { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); Toast.MakeText(this, error.Errors[0], ToastLength.Long).Show(); btn_cause_alarm.Enabled = false; var data = await EditSensors(); if (data.Status == "1") { Toast.MakeText(this, data.Message, ToastLength.Long).Show(); GetInfoAboutBox(); } else { Toast.MakeText(this, data.Message, ToastLength.Long).Show(); btn_cause_alarm.Enabled = false; //StaticBox.CameraOpenOrNo = 1; //Intent authActivity = new Intent(this, typeof(Auth.SensorsDataActivity)); //StartActivity(authActivity); } } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } }
public static async Task <AuthApiData <BaseResponseObject> > EditBox() { try { var myHttpClient = new HttpClient(); EditBoxViewModel ForAnotherServer = new EditBoxViewModel { id = StaticBox.DeviceId, Sensors = new Dictionary <string, string> { ["Вес груза"] = StaticBox.Sensors["Вес груза"], ["Температура"] = StaticBox.Sensors["Температура"], ["Влажность"] = StaticBox.Sensors["Влажность"], ["Освещенность"] = StaticBox.Sensors["Освещенность"], ["Уровень заряда аккумулятора"] = StaticBox.Sensors["Уровень заряда аккумулятора"], ["Уровень сигнала"] = StaticBox.Sensors["Уровень сигнала"], ["Состояние дверей"] = StaticBox.Sensors["Состояние дверей"], ["Состояние контейнера"] = StaticBox.Sensors["Состояние контейнера"], ["Местоположение контейнера"] = StaticBox.Sensors["Местоположение контейнера"] }, }; var date = DateTime.Now; var uri = new Uri("http://iot.tmc-centert.ru/api/container/editsensors?date=" + date + "&id=" + CrossSettings.Current.GetValueOrDefault("id", "") + "&sensors[Вес груза]=" + StaticBox.Sensors["Вес груза"] + "&sensors[Температура]=" + StaticBox.Sensors["Температура"] + "&sensors[Влажность]=" + StaticBox.Sensors["Влажность"] + "&sensors[Освещенность]=" + StaticBox.Sensors["Освещенность"] + "&sensors[Уровень заряда аккумулятора]=" + StaticBox.Sensors["Уровень заряда аккумулятора"] + "&sensors[Уровень сигнала]=" + StaticBox.Sensors["Уровень сигнала"] + "&sensors[Состояние дверей]=" + StaticBox.Sensors["Состояние дверей"] + "&sensors[Состояние контейнера]=" + StaticBox.Sensors["Состояние контейнера"] + "&sensors[Местоположение контейнера]=" + StaticBox.Sensors["Местоположение контейнера"]); var uri2 = new Uri("http://smartboxcity.ru:8003/imitator/sensors?" + "id=" + StaticBox.DeviceId + "&sensors[Вес груза]=" + StaticBox.Sensors["Вес груза"] + "&sensors[Температура]=" + StaticBox.Sensors["Температура"] + "&sensors[Влажность]=" + StaticBox.Sensors["Влажность"] + "&sensors[Освещенность]=" + StaticBox.Sensors["Освещенность"] + "&sensors[Уровень заряда аккумулятора]=" + StaticBox.Sensors["Уровень заряда аккумулятора"] + "&sensors[Уровень сигнала]=" + StaticBox.Sensors["Уровень сигнала"] + "&sensors[Состояние дверей]=" + StaticBox.Sensors["Состояние дверей"] + "&sensors[Состояние контейнера]=" + StaticBox.Sensors["Состояние контейнера"] + "&sensors[Местоположение контейнера]=" + StaticBox.Sensors["Местоположение контейнера"]); var formContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "id", CrossSettings.Current.GetValueOrDefault("id", "") }, { "date", date.ToString() }, { "sensors[Вес груза]", StaticBox.Sensors["Вес груза"] }, { "sensors[Температура]", StaticBox.Sensors["Температура"] }, { "sensors[Влажность]", StaticBox.Sensors["Влажность"] }, { "sensors[Освещенность]", StaticBox.Sensors["Освещенность"] }, { "sensors[Уровень заряда аккумулятора]", StaticBox.Sensors["Уровень заряда аккумулятора"] }, { "sensors[Уровень сигнала]", StaticBox.Sensors["Уровень сигнала"] }, { "sensors[Состояние дверей]", StaticBox.Sensors["Состояние дверей"] }, { "sensors[Состояние контейнера]", StaticBox.Sensors["Состояние контейнера"] }, { "sensors[Местоположение контейнера]", StaticBox.Sensors["Местоположение контейнера"] } }); //EditBoxViewModel box = new EditBoxViewModel //{ // id = CrossSettings.Current.GetValueOrDefault("id", ""), // date = date, // Sensors = new Dictionary<string, string> // { // {"Температура",StaticBox.Sensors["Температура"] }, // {"Влажность",StaticBox.Sensors["Влажность"] }, // {"Освещенность",StaticBox.Sensors["Освещенность"] }, // {"Вес груза",StaticBox.Sensors["Вес груза"] }, // {"Уровень заряда аккумулятора",StaticBox.Sensors["Уровень заряда аккумулятора"]}, // {"Уровень сигнала",StaticBox.Sensors["Уровень сигнала"]}, // {"Состояние дверей",StaticBox.Sensors["Состояние дверей"]}, // {"Состояние контейнера",StaticBox.Sensors["Состояние контейнера"]}, // {"Местоположение контейнера",StaticBox.Sensors["Местоположение контейнера"]} // } //}; //var data = new StringContent(JsonConvert.SerializeObject(box)); //HttpResponseMessage response = await myHttpClient.PostAsync(uri.ToString(), formContent); HttpResponseMessage responseFromAnotherServer = await myHttpClient.PostAsync(uri2.ToString(), new StringContent(JsonConvert.SerializeObject(ForAnotherServer), Encoding.UTF8, "application/json")); AuthApiData <BaseResponseObject> o_data = new AuthApiData <BaseResponseObject>(); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} string s_result_from_server; using (HttpContent responseContent = responseFromAnotherServer.Content) { s_result_from_server = await responseContent.ReadAsStringAsync(); } if (responseFromAnotherServer.IsSuccessStatusCode) { StaticBox.CreatedAtSensors = date; o_data = JsonConvert.DeserializeObject <AuthApiData <BaseResponseObject> >(s_result_from_server); } else { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result_from_server); o_data.Message = error.Errors[0]; o_data.Status = responseFromAnotherServer.StatusCode.ToString(); } return(o_data); } catch (Exception ex) { AuthApiData <BaseResponseObject> result = new AuthApiData <BaseResponseObject>(); result.Status = "1"; result.Message = ex.Message; return(result); } }
/// <summary> /// Регистрация физического лица. /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <RegisterResponse> > RegisterIndividual(RegisterIndividualModel model) { try { //status & message var formContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "login", model.Login }, { "password", model.Password }, { "email", model.Email }, { "phone", model.Phone }, { "client_type", model.ClientType }, { "client_last_name", model.ClientLastName }, { "client_name", model.ClientName }, { "client_patronymic", model.ClientPatronymic }, { "client_birthday", model.ClientBirthday }, { "client_passport_serie", model.ClientPassportSerie }, { "client_passport_id", model.ClientPassportId }, { "client_passport_code", model.ClientPassportCode } }); HttpResponseMessage response = await _httpClient.PostAsync($"client", formContent); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Внутренняя ошибка сервера 500"; return(o_data); } case HttpStatusCode.NotFound: { ErrorResponseObject error = new ErrorResponseObject(); o_data.Status = response.StatusCode; o_data.Message = "Ресурс не найден 404"; return(o_data); } case HttpStatusCode.OK: { var reg = JsonConvert.DeserializeObject <RegisterResponse>(s_result); o_data.Message = reg.message; o_data.Status = response.StatusCode; o_data.ResponseData = new RegisterResponse { message = reg.message, user = reg.user }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <RegisterResponse> o_data = new ServiceResponseObject <RegisterResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получить фотофиксацию с контейнера. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > GetPhoto(string CONTAINER_ID) { try { HttpResponseMessage response = await _httpClient.GetAsync($"container/{CONTAINER_ID}/image"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } //HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"container/{CONTAINER_ID}/image"); //request.Method = "GET"; //var myHttpWebResponse = (HttpWebResponse)request.GetResponse(); //Stream responseStream = myHttpWebResponse.GetResponseStream(); //StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); //string s_result = myStreamReader.ReadToEnd(); //myStreamReader.Close(); //responseStream.Close(); //myHttpWebResponse.Close(); ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var box = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new SuccessResponse { Message = box.Message }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Готов к выполнению задач. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > Free() { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://smartboxcity.ru:8003/task/free"); request.Method = "GET"; request.Credentials = new NetworkCredential(CrossSettings.Current.GetValueOrDefault("token", ""), ""); var response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); string s_result = myStreamReader.ReadToEnd(); myStreamReader.Close(); responseStream.Close(); response.Close(); //HttpResponseMessage response = await _httpClient.GetAsync($"task/free"); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var task = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; o_data.ResponseData = new SuccessResponse { Message = task.Message }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); //o_data.ResponseData.Message = ex.Message; o_data.Message = ex.Message; o_data.Status = System.Net.HttpStatusCode.InternalServerError; return(o_data); } }
public override async void OnLocationResult(LocationResult result) { base.OnLocationResult(result); try { if (result == null) { return; } StaticBox.Latitude = result.LastLocation.Latitude; StaticBox.Longitude = result.LastLocation.Longitude; s_longitude.Text = result.LastLocation.Latitude.ToString(); s_latitude.Text = result.LastLocation.Longitude.ToString(); s_date_time.Text = DateTime.Now.ToString(); // Получаю информацию о клиенте. BoxLocation gpsLocation = new BoxLocation { id = StaticBox.DeviceId, lat1 = result.LastLocation.Latitude.ToString().Replace(",", "."), lon1 = result.LastLocation.Longitude.ToString().Replace(",", "."), date = DateTime.Now, }; int signal = 0; var myHttpClient = new HttpClient(); // var uri = new Uri("http://iot-tmc-cen.1gb.ru/api/container/setcontainerlocation?id=" + gpsLocation.id + "&lat1=" + gpsLocation.lat1 + "&lon1=" + gpsLocation.lon1 + "&date=" + gpsLocation.date); var uri2 = new Uri("http://smartboxcity.ru:8003/imitator/geo"); //json структура. FormUrlEncodedContent formUrlEncodedContent = new FormUrlEncodedContent(new Dictionary <string, string> { { "Id", gpsLocation.id }, { "Lon1", gpsLocation.lon1.ToString().Replace(",", ".") }, { "Lat1", gpsLocation.lat1.ToString().Replace(",", ".") }, { "Date", DateTime.Now.ToString() } }); var formContent = formUrlEncodedContent; // HttpResponseMessage response = await myHttpClient.PostAsync(uri.ToString(), formContent);// !!!! HttpResponseMessage responseFromAnotherServer = await myHttpClient.PostAsync(uri2.ToString(), formContent); AuthApiData <BaseResponseObject> o_data = new AuthApiData <BaseResponseObject>(); //string s_result; //using (HttpContent responseContent = response.Content) //{ // s_result = await responseContent.ReadAsStringAsync(); //} string s_result_from_another_server; using (HttpContent responseContent = responseFromAnotherServer.Content) { s_result_from_another_server = await responseContent.ReadAsStringAsync(); } if (responseFromAnotherServer.IsSuccessStatusCode) { o_data = JsonConvert.DeserializeObject <AuthApiData <BaseResponseObject> >(s_result_from_another_server); Toast.MakeText(Application.Context, o_data.Message, ToastLength.Short).Show(); } else { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result_from_another_server); Toast.MakeText(Application.Context, error.Errors[0], ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(Application.Context, ex.Message, ToastLength.Short).Show(); } }