public async void CreateOrder() { try { Acr.UserDialogs.UserDialogs.Instance.ShowLoading(AppResource.alertLoading); CreateOrderCommandV2 createOrder = new CreateOrderCommandV2() { CheckinId = _checkin.Id, CheckinSubId = _checkinSub?.Id, Observation = txtObs.Text, ProductId = Product.Id, ProductQuantity = Convert.ToInt32(txtQtd.Text), UserId = Helpers.Settings.DisplayUserId }; if (Device.RuntimePlatform == "iOS") { createOrder.Version = CrossDeviceInfo.Current.AppBuild; createOrder.Device = "iOS"; } else { createOrder.Version = CrossDeviceInfo.Current.AppVersion; createOrder.Device = "Android"; } OrderService orderService = new OrderService(); var result = await orderService.CreateOrderV2(createOrder); var order = JsonConvert.DeserializeObject <Order>(result); if (_checkin.Orders == null) { _checkin.Orders = new List <Order>(); } _checkin.Orders.Add(order); Acr.UserDialogs.UserDialogs.Instance.Toast(AppResource.alertOrderSucess); await App.AppCurrent.NavigationService.GoBack(); } catch (Exception ex) { this.DisplayAlert(MocoApp.Resources.AppResource.alertAlert, ex.Message, AppResource.textOk); } finally { Acr.UserDialogs.UserDialogs.Instance.HideLoading(); } }
public async Task <string> CreateOrderV2(CreateOrderCommandV2 co) { var json = JsonConvert.SerializeObject(co); client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json"); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = await client.PostAsync(Constantes.ApiUrl + "v2/order/create", content); var respostaString = response.Content.ReadAsStringAsync().Result; if (response.StatusCode == HttpStatusCode.BadRequest) { throw new Exception(JsonConvert.DeserializeObject <ExceptionMessage>(respostaString).Message); } if (response.StatusCode == HttpStatusCode.Unauthorized) { App.AppCurrent.Logout(); throw new Exception(AppResource.alertSessionExpired); } return(respostaString); }