public ActionResult PaymentConfirm(string billID, string voucherID, string paymentMethod) { DATHANG dathang = db.DATHANGs.Find(billID); THANHTOAN found; DATHANG billInfo = (from bill in db.DATHANGs where bill.ID_DONHANG == billID select bill).SingleOrDefault(); var voucherInfo = (from system_voucher in db.VOUCHERs where system_voucher.MACODE == voucherID join loai_voucher in db.LOAIVOUCHERs on system_voucher.LOAIVOUCHER equals loai_voucher.MALOAIVOUCHER select new { mavoucher = system_voucher.MACODE, mucgia = loai_voucher.MUCGIA, giamtoida = loai_voucher.GIAMTOIDA, uudai = loai_voucher.UUDAI }).SingleOrDefault(); if (billInfo != null) { try { const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); THANHTOAN toAdd = new THANHTOAN(); DONMUA toAddDonMua = new DONMUA(); THONGTINDONHANG toAddThongTinDonHang = new THONGTINDONHANG(); THONGTINVANCHUYEN toAddThongTinVanChuyen = new THONGTINVANCHUYEN(); toAdd.ID_DONHANG = billID; toAddDonMua.MADVVC = dathang.MADVVC; toAddDonMua.ID_DONHANG = dathang.ID_DONHANG; toAddThongTinDonHang.ID_DONHANG = dathang.ID_DONHANG; toAddThongTinDonHang.THOIGIAN = DateTime.Now; toAddThongTinDonHang.TINHTRANG_DH = "Chờ xác nhận"; toAddThongTinVanChuyen.TINHTRANG_VC = "Người bán đang chuẩn bị đơn hàng"; toAddThongTinVanChuyen.THOIGIAN = DateTime.Now; var total = billInfo.TONGTIEN; toAdd.SOTIENTT = (voucherInfo != null && total - voucherInfo.mucgia > 0) ? total - Math.Min(total * voucherInfo.uudai, voucherInfo.giamtoida) : total; toAdd.NGAYTHANHTOAN = DateTime.Now; do { toAdd.SO_THANHTOAN = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray()); toAddThongTinVanChuyen.MADONVAN = new string(Enumerable.Repeat(chars, 10).Select(s => s[random.Next(s.Length)]).ToArray()); found = db.THANHTOANs.Where(x => x.SO_THANHTOAN == toAdd.SO_THANHTOAN).SingleOrDefault(); } while (toAdd.SO_THANHTOAN == "" || toAddThongTinVanChuyen.MADONVAN == "" || found != null); toAdd.UUDAI = voucherInfo.mavoucher; toAdd.HOANTIEN = billInfo.TONGTIEN - toAdd.SOTIENTT; toAdd.LOAITHANHTOAN = paymentMethod != "Thanh toán khi nhận hàng" ? "ONL" : "COD"; toAdd.LOAITTONLINE = toAdd.LOAITHANHTOAN == "COD" ? null : paymentMethod == "Ví Airpay" ? "VDT" : paymentMethod == "Thẻ tín dụng" ? "ATM" : "DEBIT"; db.THANHTOANs.Add(toAdd); db.SaveChanges(); } catch (Exception ex) { throw ex; } } return(RedirectToAction("Success", "Checkout")); }
public void InsertThongTinDonHang(THONGTINDONHANG TTDH) { try { var db = new QLTHONGTINMAYTINHEntities1(); db.THONGTINDONHANGs.Add(TTDH); db.SaveChanges(); } catch (Exception) { MessageBox.Show("Lỗi Khi Thêm Dư Liệu", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }