//public static async Task<BarcodeInfo> PostProduct(ProductViewModel viewModel)
        //{
        //    var httpClient = new HttpClient();
        //    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", UserCredentials.Token);

        //    var requestContent = new StringContent(JsonConvert.SerializeObject(viewModel), Encoding.UTF8, "application/json");

        //    var response = await httpClient.PostAsync(APIEndpoint.PackingInventoryEndpoint + "product-packing-skus/retreive-qrcode-info", requestContent);

        //    var barcodeResult = new BaseResponseBarcodeInfo<BarcodeInfo>();
        //    if (response.IsSuccessStatusCode)
        //    {
        //        var responseContentString = await response.Content.ReadAsStringAsync();

        //        var jsonSerializerSetting = new JsonSerializerSettings()
        //        {
        //            MissingMemberHandling = MissingMemberHandling.Ignore,
        //        };

        //        barcodeResult = JsonConvert.DeserializeObject<BaseResponseBarcodeInfo<BarcodeInfo>>(responseContentString, jsonSerializerSetting);
        //    }

        //    httpClient.Dispose();
        //    return barcodeResult.BarcodeInfo;
        //}

        public static async Task <List <NewBarcodeInfo> > GetBarcodeInfoByOrderNo(string orderNo, bool isReprint)
        {
            var httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", UserCredentials.Token);

            var response = await httpClient.GetAsync(APIEndpoint.PackingInventoryEndpoint + $"dyeing-printing-product/packing?page=1&size=2000&keyword={orderNo}&isReprint={isReprint}");

            // test purpose
            //var response = await httpClient.GetAsync(APIEndpoint.PackingInventoryEndpoint + $"dyeing-printing-product/packing?page=1&size=2000&keyword={orderNo}");

            var barcodeResult = new BaseResponseBarcodeInfo <List <NewBarcodeInfo> >();

            if (response.IsSuccessStatusCode)
            {
                var responseContentString = await response.Content.ReadAsStringAsync();

                var jsonSerializerSetting = new JsonSerializerSettings()
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                };

                barcodeResult = JsonConvert.DeserializeObject <BaseResponseBarcodeInfo <List <NewBarcodeInfo> > >(responseContentString, jsonSerializerSetting);
            }
            else
            {
                if (response.StatusCode == HttpStatusCode.InternalServerError)
                {
                    MessageBox.Show("Status Code: 500", "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            httpClient.Dispose();
            return(barcodeResult.data);
        }
示例#2
0
        public static async Task <BarcodeInfo> PostProduct(ProductViewModel viewModel)
        {
            var httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", UserCredentials.Token);

            var requestContent = new StringContent(JsonConvert.SerializeObject(viewModel), Encoding.UTF8, "application/json");

            var response = await httpClient.PostAsync(APIEndpoint.PackingInventoryEndpoint + "product-packing-skus/retreive-qrcode-info", requestContent);

            var barcodeResult = new BaseResponseBarcodeInfo <BarcodeInfo>();

            if (response.IsSuccessStatusCode)
            {
                var responseContentString = await response.Content.ReadAsStringAsync();

                var jsonSerializerSetting = new JsonSerializerSettings()
                {
                    MissingMemberHandling = MissingMemberHandling.Ignore,
                };

                barcodeResult = JsonConvert.DeserializeObject <BaseResponseBarcodeInfo <BarcodeInfo> >(responseContentString, jsonSerializerSetting);
            }

            httpClient.Dispose();
            return(barcodeResult.BarcodeInfo);
        }