Beispiel #1
0
        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);
        }