public IActionResult Edit(Khachhang _KhachHang) { IKhachHang.UpdateKhachHang(_KhachHang); return(RedirectToAction("Index")); }
public async Task <IActionResult> VerifyAndCheckout(CheckoutSum sum, String code, String bankcode) { //convert currency var currencyConvertAPI = _configuration["currencycovertApi:API"]; var cli = new HttpClient(); var fullApi = "https://free.currconv.com/api/v7/convert?q=USD_VND&compact=ultra&apiKey=" + currencyConvertAPI; HttpResponseMessage getConttent = await cli.GetAsync(fullApi); HttpContent respon = getConttent.Content; Debug.WriteLine(currencyConvertAPI + "cec"); using (var read = new StreamReader(await respon.ReadAsStreamAsync())) { var resss = await read.ReadToEndAsync(); Debug.WriteLine(resss + "cecc"); resss = @"[" + resss + "]"; dynamic ketqua = JArray.Parse(resss); dynamic kq = ketqua[0]; string convert = kq.USD_VND; ViewBag.tyso = convert; USDtoVND = float.Parse(convert); Debug.WriteLine(USDtoVND); } //end convert //---------------------- Mở ra khi Hoàn Tất Hết var clientt = new HttpClient(); // Add authentication header clientt.DefaultRequestHeaders.Add("X-Authy-API-Key", AuthyAPIKey); // https://api.authy.com/protected/json/phones/verification/check?phone_number=$USER_PHONE&country_code=$USER_COUNTRY&verification_code=$VERIFY_CODE var api = "https://api.authy.com/protected/json/phones/verification/check?phone_number=" + sum.khachhang.Sdt + "&country_code=84&verification_code=" + code; HttpResponseMessage response = await clientt.GetAsync(api); // Get the response content. HttpContent responseContent = response.Content; // Get the stream of the content. using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync())) { // Write the output. var result = await reader.ReadToEndAsync(); // parse json string to array result = @"[" + result + "]"; dynamic blogPosts = JArray.Parse(result); dynamic blogPost = blogPosts[0]; string isTrue = blogPost.success; //string isTrue = "True"; // dong lai khi hoan tat // -- End Mở ra if (isTrue == "True") // Code = Code : Success : True { if (_KhachHang.GetKhachHang(sum.khachhang.Email) != null) { _KhachHang.UpdateKhachHang(sum.khachhang); } _KhachHang.AddKhachHang(sum.khachhang, HttpContext.Session.GetInt32("Id")); _Donhang.UpdatePhuongThuc(HttpContext.Session.GetInt32("Id"), sum.PhuongThucThanhToan); _Donhang.UpdateDescription(HttpContext.Session.GetInt32("Id"), "Chưa Thanh Toán"); if (sum.PhuongThucThanhToan == "Thanh Toán Khi Nhận Hàng") { return(View("../Checkout/Success")); } // end thanh toan khi nhan hang else if (sum.PhuongThucThanhToan == "PayPal") { Double summ = 0; var PayPalAPI = new PayPalAPI(_configuration); var itemList = new ItemList() { Items = new List <Item>() }; IEnumerable <Chitietdonhang> a = _DonhangAdmin.GetChitietdonhang((int)HttpContext.Session.GetInt32("Id")); foreach (var item in a) { Decimal soluong = 0; string des = ""; Sanpham sp = _Sanpham.GetSanPham(item.IdSanPham); if (sp.IdLoaiSanPham == 4) { soluong = (Decimal)item.SoLuong; des = "unit: 1 cup"; } else { soluong = (Decimal)item.SoLuong / 100; des = "Unit: 100 gam"; } itemList.Items.Add(new Item() { Name = sp.Ten, Currency = "USD", Price = Math.Round(((Decimal)item.Gia / (Decimal)USDtoVND / soluong), 2).ToString(), Quantity = soluong.ToString(), Description = des }); } foreach (var item in itemList.Items) { Debug.WriteLine(item.Name + " " + item.Quantity + " " + item.Price); // debug log summ = summ + Math.Round((double.Parse(item.Price) * double.Parse(item.Quantity)), 2); } string URL = await PayPalAPI.getRedirectURLtoPayPal(summ, "USD", itemList); return(Redirect(URL)); } else if (sum.PhuongThucThanhToan == "Ví Ngân Lượng" || sum.PhuongThucThanhToan == "Thẻ VISA" || sum.PhuongThucThanhToan == "Thẻ ATM") { Double summ = 0; string payment_method = ""; string str_bankcode = bankcode; IEnumerable <Chitietdonhang> a = _DonhangAdmin.GetChitietdonhang((int)HttpContext.Session.GetInt32("Id")); if (sum.PhuongThucThanhToan == "Ví Ngân Lượng") { payment_method = "nl"; } else if (sum.PhuongThucThanhToan == "Thẻ VISA") { payment_method = "VISA"; } else if (sum.PhuongThucThanhToan == "Thẻ ATM") { payment_method = "ATM_ONLINE"; } else { payment_method = "ATM_ONLINE"; } RequestInfo info = new RequestInfo(); foreach (var item in a) { //Decimal soluong = 0; //string des = ""; //Sanpham sp = _Sanpham.GetSanPham(item.IdSanPham); //if (sp.IdLoaiSanPham == 4) //{ // soluong = (Decimal)item.SoLuong; // des = "unit: 1 cup"; //} //else //{ // soluong = (Decimal)item.SoLuong / 100; // des = "Unit: 100 gam"; //} summ = summ + ((double)item.Gia); } info.Merchant_id = _configuration["NganLuong:mechant_id"]; info.Merchant_password = _configuration["NganLuong:mechant_pass"]; info.Receiver_email = _configuration["NganLuong:seller_email"]; info.cur_code = "vnd"; info.bank_code = str_bankcode; info.Order_code = HttpContext.Session.GetInt32("Id").ToString(); info.Total_amount = summ.ToString(); info.order_description = "Đây Là Đơn Hàng Từ " + sum.khachhang.Ten + " có email là " + sum.khachhang.Email; info.return_url = _configuration["NganLuong:returnURL"]; info.cancel_url = _configuration["NganLuong:cancelURL"]; info.Buyer_fullname = sum.khachhang.Ten; info.Buyer_email = sum.khachhang.Email; info.Buyer_mobile = sum.khachhang.Sdt; info.Total_item = a.Count().ToString(); APICheckoutV3 objNLChecout = new APICheckoutV3(_configuration); ResponseInfo resultt = objNLChecout.GetUrlCheckout(info, payment_method); if (resultt.Error_code == "00") { return(Redirect(resultt.Checkout_url)); } else { Debug.WriteLine(resultt.Description); return(RedirectToAction("Fail", "Checkout", new { message = resultt.Description })); } } else { return(RedirectToAction("Fail")); } } else // Code != Code : Success : False { return(RedirectToAction("Fail", "Checkout", new { message = "Sai Mã Xác Nhận!!" })); } } //mở ra khi xong het }