private async Task TapColorChangeAsync(ContentView cv) { await Global.LoadingStartAsync(); if (cv == plg) // 상품권이 선택되었을 경우 { ShopSelectImage.Source = "main_shop_non.png"; TapShopingGridLabel.TextColor = Color.Black; GiftSelectImage.Source = "main_gift_h.png"; TapGiftGridLabel.TextColor = Color.CornflowerBlue; TabListColorChange(0); if (Global.b_user_login) { plg.PostSearchPurchaseListToIDAsync(Global.ID, -99, 0, 0); await plg.Init(); } else { if (Global.b_guest_login == true) { G_PurchaseList g1 = new G_PurchaseList { AC_NUM = "1", //G_TempProduct = "", ID = "Guest", ISUSER = "******", PL_USED_POINT = "0", PL_ACCUSER_NAME = "홍길동", PL_DELIVERYPAY_TYPE = "1", PL_DELIVERY_ADDRESS = "대전광역시", PL_DELIVERY_JIBUNADDR = "대전광역시", PL_DELIVERY_ZIPNO = "10052", PL_DV_NAME = "홍길동", PL_DV_PHONE = "01011112222", PL_ISSUCCESS = "1", PL_NUM = 1000, PL_PAPERSTATE = "30", PL_PAPER_COUNT = "1", PL_PAPER_DVNUM = "", PL_PAYMENT_PRICE = "13000", PL_PURCHASE_DATE = "2019/05/19", }; plg.purchaselist.Add(g1); await plg.Init(); } else { plg.PostSearchPurchaseListToIDAsync(Global.non_user_id, -99, 0, 0); await plg.Init(); } } } else // 쇼핑몰이 선택 되었을 경우 { ShopSelectImage.Source = "main_shop_h.png"; TapShopingGridLabel.TextColor = Color.CornflowerBlue; GiftSelectImage.Source = "main_gift_non.png"; TapGiftGridLabel.TextColor = Color.Black; TabListColorChange(0); if (Global.b_user_login) // 로그인 상태인 경우 { pls.purchaseList = SH_DB.PostSearchPurchaseListToID(Global.ID, -99, 0, 0); // 사용자 아이디로 구매 목록 가져옴 pls.Init(); } else { pls.purchaseList = SH_DB.PostSearchPurchaseListToID(Global.non_user_id, -99, 0, 0); // 사용자 아이디로 구매 목록 가져옴 pls.Init(); } } ((CustomLabel)ListAllGrid.Children[0]).TextColor = Color.CornflowerBlue; ((BoxView)ListAllGrid.Children[1]).BackgroundColor = Color.CornflowerBlue; ((CustomLabel)ListYearGrid.Children[0]).TextColor = Color.Black; ((BoxView)ListYearGrid.Children[1]).BackgroundColor = Color.White; ((CustomLabel)ListMonthGrid.Children[0]).TextColor = Color.Black; ((BoxView)ListMonthGrid.Children[1]).BackgroundColor = Color.White; ((CustomLabel)ListDayGrid.Children[0]).TextColor = Color.Black; ((BoxView)ListDayGrid.Children[1]).BackgroundColor = Color.White; // 로딩완료 await Global.LoadingEndAsync(); }
public async void DoPurchase(string address) { string userid = ""; string isuser = ""; string delivery_type = ""; if (Global.b_user_login) { userid = Global.ID; isuser = "******"; } else { userid = Global.non_user_id; isuser = "******"; } // 선불 착불 선택 if (prepaymentradio.Source.ToString().Contains("radio_checked_icon.png")) { delivery_type = "1"; } else { delivery_type = "2"; } G_PurchaseList classPurchase = new G_PurchaseList { ID = userid, // 구매자 ID PL_DELIVERY_ADDRESS = address, // 배송지 도로명 주소 PL_USED_POINT = UsedPoint.ToString(), // 사용 포인트 PL_ISSUCCESS = "", // 성공여부 PL_DELIVERYPAY_TYPE = delivery_type, // 배송타입(1: 선불 2: 착불) PL_PAYMENT_PRICE = order_price_to_db.ToString(), // 총 결제금액 AC_NUM = (Combo.SelectedIndex + 1).ToString(), // 계좌번호 PL_ACCUSER_NAME = Name_box.Text, // 입금예정자이름 PL_DV_NAME = MyNameLabel.Text, // 배송받는사람이름 PL_DV_PHONE = MyPhoneLabel.Text, // 배송시 연락처 PL_DELIVERY_JIBUNADDR = jibunAddr, // 배송지 지번 주소 PL_DELIVERY_ZIPNO = zipNo, // 배송지 우편번호 G_TempProduct = tempBasketList, // 상품가격, 상품번호 등 상품권 정보 클래스 ISUSER = isuser, }; // 리스트를 WCF 로 보낼 방법.......................................................................................... //// JSON 문자열을 파싱하여 JObject를 리턴 //JObject jo = JObject.Parse(str); #region 네트워크 상태 확인 var current_network = Connectivity.NetworkAccess; // 현재 네트워크 상태 if (current_network == NetworkAccess.Internet) // 네트워크 연결 가능 { var dataString = JsonConvert.SerializeObject(classPurchase); JObject jo = JObject.Parse(dataString); UTF8Encoding encoder = new UTF8Encoding(); string str = @"{"; str += "g_PurchaseList:" + jo.ToString(); //아이디찾기에선 Name으로 str += "}"; JObject jo2 = JObject.Parse(str); byte[] data = encoder.GetBytes(jo2.ToString()); // a json object, or xml, whatever... //request.Method = "POST"; HttpWebRequest request = WebRequest.Create(Global.WCFURL + "UserAddPurchase") as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; //request.Expect = "application/json"; request.GetRequestStream().Write(data, 0, data.Length); using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { if (response.StatusCode != HttpStatusCode.OK) { Console.Out.WriteLine("Error fetching data. Server returned status code: {0}", response.StatusCode); } using (StreamReader reader = new StreamReader(response.GetResponseStream())) { var readdata = reader.ReadToEnd(); string test = JsonConvert.DeserializeObject <string>(readdata); if (test == "1") // 구매 성공했을 경우 { for (int j = 0; j < tempBasketList.Count; j++) { giftDBFunc.PostDeleteGiftBasketListToIndex(tempBasketList[j].BASKET_INDEX); } await DisplayAlert("알림", "결제 완료! 구매내역에서 확인해주세요.", "확인"); Global.isPurchaseDeatailBtn_clicked = true; Global.InitOnAppearingBool("deal"); await Navigation.PopToRootAsync(); MainPage mp = (MainPage)Application.Current.MainPage.Navigation.NavigationStack[0]; } else if (test == "5") // 수량 부족으로 실패했을 경우 { await DisplayAlert("알림", "수량 부족으로 결제에 실패했습니다.", "확인"); Global.isPurchaseDeatailBtn_clicked = true; } /* * // 3개의 아웃풋이 있는데 사실상 1개만 쓸 예정. * else if (int.Parse(test2[0].ToString()) == 2) * { * if (test2[1] != null && test2[1] != "") * { * string[] proinfos = test2[1].Split('@'); * string[] procnts = test2[2].Split('@'); * string errormessage = ""; * for (int i = 0; i < proinfos.Length - 1; i++) * { * errormessage += proinfos[i] + "가 " + procnts[i] + "개 있습니다"; * } * DisplayAlert("알림", errormessage, "OK"); * Global.isPurchaseDeatailBtn_clicked = true; * } * } */ else { await DisplayAlert("알림", "서버점검중입니다", "확인"); Global.isPurchaseDeatailBtn_clicked = true; } } } } else { await DisplayAlert("알림", "네트워크에 연결할 수 없습니다. 다시 한번 시도해주세요.", "확인"); Global.isPurchaseDeatailBtn_clicked = true; return; } #endregion }