public ActionResult CheckOut(string fReceiver, string fAddress, string fEmail, int[] fId) { List <tOrderDetail> list = new List <tOrderDetail>(); string fUserId = (Session["Member"] as tMember).fUserId; string guid = Guid.NewGuid().ToString(); tOrder order = new tOrder() { fAddress = fAddress, fEmail = fEmail, fDate = DateTime.Now, fOrderGuid = guid, fReceiver = fReceiver, fUserId = fUserId, }; foreach (var item in fId) { var orderdetail = db.tOrderDetail.Where(m => m.fIsApproved == "未下定" && m.fUserId == fUserId && m.fId == item).FirstOrDefault(); orderdetail.fIsApproved = "已下定"; orderdetail.fOrderGuid = guid; orderdetail.fdate = DateTime.Now; var product = db.tProduct.Where(m => m.fName == (orderdetail.fName)).FirstOrDefault(); product.fselled = Convert.ToInt32(orderdetail.fQty); list.Add(orderdetail); } var orderlist = db.tOrder.Where(m => m.fOrderGuid == guid).FirstOrDefault(); ViewBag.Order = orderlist; db.tOrder.Add(order); db.SaveChanges(); return(View("BuyerDetail", "_LayOutMember", list)); }
public OrderPayStatus GetPayStatus(int orderId) { tOrder order = dbContext.tOrders.Where(o => o.OrderId == orderId).FirstOrDefault(); List <tOrderDetail> detaillist = dbContext.tOrderDetails.Where(od => od.oOrderId == orderId).ToList(); List <tOrderPay> paylist = dbContext.tOrderPays.Where(op => op.oOrderId == orderId).ToList(); OrderPayStatus payStatus = new OrderPayStatus(); foreach (var detail in detaillist) { int price = Convert.ToInt32(dbContext.tProducts.Where(p => p.ProductId == detail.oProductId).FirstOrDefault().pPrice); payStatus.TotalAmount += detail.oProductQty * price; } tPromotion promotion = dbContext.tPromotions.Where(pm => pm.PromotionId == order.oPromotionId).FirstOrDefault(); if (promotion != null) { payStatus.TotalAmount -= Convert.ToInt32(promotion.pDiscount); } if (paylist.Count() == 0) { payStatus.AlreadyPay = 0; } else { foreach (var payitem in paylist) { payStatus.AlreadyPay += Convert.ToInt32(payitem.oPayment); } } payStatus.Unpaid = payStatus.TotalAmount - payStatus.AlreadyPay; return(payStatus); }
public ActionResult ShoppingCar(string fReceiver, string fEmail, string fAddress) { string fUserId = (Session["Member"] as tMember).fUserId; //建立識別值當作訂單編號 string guid = Guid.NewGuid().ToString(); //建立訂單主檔資料 tOrder order = new tOrder(); order.fOrderGuid = guid; order.fUserId = fUserId; order.fReceiver = fReceiver; order.fEmail = fEmail; order.fAddress = fAddress; order.fDate = DateTime.Now; //找出目前會員在訂單明細中是購物車狀態的產品 var carList = db.tOrderDetail .Where(m => m.fIsApproved == "否" && m.fUserId == fUserId) .ToList(); //將購物車狀態產品的fIsApproved設為"是",表示確認訂購產品 foreach (var item in carList) { item.fOrderGuid = guid; item.fIsApproved = "是"; } //完成訂單主檔和訂單明細的更新 db.SaveChanges(); return(RedirectToAction("OrderList")); }
public ActionResult ShoppingCar(string fReceiver, string fEmail, string fAddress) { //找出會員帳號並指定給fUserId string fUserId = (Session["Member"] as tMember).fUserId; //建立唯一的識別值並指定給guid變數,用來當做訂單編號 //tOrder的fOrderGuid欄位會關聯到tOrderDetail的fOrderGuid欄位 //形成一對多的關係,即一筆訂單資料會對應到多筆訂單明細 string guid = Guid.NewGuid().ToString(); //建立訂單主檔資料 tOrder order = new tOrder(); order.fOrderGuid = guid; order.fUserId = fUserId; order.fReceiver = fReceiver; order.fEmail = fEmail; order.fAddress = fAddress; order.fDate = DateTime.Now; db.tOrder.Add(order); //找出目前會員在訂單明細中是購物車狀態的產品 var carList = db.tOrderDetail .Where(m => m.fIsApproved == "否" && m.fUserId == fUserId) .ToList(); //將購物車狀態產品的fIsApproved設為"是",表示確認訂購產品 foreach (var item in carList) { item.fOrderGuid = guid; item.fIsApproved = "是"; } //更新資料庫,異動tOrder和tOrderDetail //完成訂單主檔和訂單明細的更新 db.SaveChanges(); //執行Home控制器的OrderList動作方法 return RedirectToAction("OrderList"); }
public ActionResult Edit(int id) { ViewBag.RefundStatuses = GetRefundModel(); tOrder currentOrder = _orderRepository.Find(id); return(View(currentOrder)); }
public void InsertOrUpdate(tOrder order) { if (order.IDOrder == default(int)) { // New entity context.tOrders.InsertOnSubmit(order); } else { // Existing entity tOrder orderToUpdate = Find(order.IDOrder); if (orderToUpdate != null && orderToUpdate.IDOrder > 0) { orderToUpdate.AmountPaid = order.AmountPaid; orderToUpdate.BuyerNotes = order.BuyerNotes; orderToUpdate.IDCoupon = order.IDCoupon; orderToUpdate.IDDeal = order.IDDeal; orderToUpdate.IDUserBought = order.IDUserBought; orderToUpdate.MobilePhoneNo = order.MobilePhoneNo; orderToUpdate.OrderNotes = order.OrderNotes; orderToUpdate.OrderStatus = order.OrderStatus; orderToUpdate.PaymentType = order.PaymentType; orderToUpdate.Quantity = order.Quantity; orderToUpdate.RefundStatus = order.RefundStatus; orderToUpdate.Options = order.OrderNotes; orderToUpdate.ReferrerAddress = order.ReferrerAddress; } } }
public ActionResult ShoppingCar(string fReceiver, string fEmail, string fAddress) { //string fUserId = (Session["Member"] as tMember).fUserId; string fUserId = "tom"; string guid = Guid.NewGuid().ToString(); tOrder order = new tOrder(); order.fOrderGuid = guid; order.fUserId = fUserId; order.fReceiver = fReceiver; order.fEmail = fEmail; order.fAddress = fAddress; order.fDate = DateTime.Now; db.tOrder.Add(order); var carList = db.tOrderDetail.Where(m => m.fIsApproved == "否" && m.fUserId == fUserId).ToList(); foreach (var item in carList) { item.fOrderGuid = guid; item.fIsApproved = "是"; } db.SaveChanges(); return(RedirectToAction("OrderList")); }
public ActionResult ShoppingCart(CShoppingCartViewModel buy) { string user = (Session[CDictionary.SK_LOGINED_USER] as tMember).fUserId; string guid = Guid.NewGuid().ToString(); tOrder o = new tOrder(); o.fUserId = user; o.fOrderId = guid; o.fReceiver = buy.fReceiver; o.fAddress = buy.fAddress; o.fDate = DateTime.Now; db.tOrder.Add(o); var cart = db.tOrderDetail .Where(od => od.fUserId == user && od.fIsApproved == "N").ToList(); foreach (var item in cart) { item.fOrderId = guid; item.fIsApproved = "Y"; } db.SaveChanges(); return RedirectToAction("OrderDetail"); }
public ActionResult ShoppingCar(string fReceiver, string fEmail, string fAddress) { string fUserId = (Session["Member"] as tMember).fUserId; string guid = Guid.NewGuid().ToString(); tOrder order = new tOrder(); order.fOrderGuid = guid; order.fUserId = fUserId; order.fReceiver = fReceiver; order.fEmail = fEmail; order.fAddress = fAddress; order.fDate = DateTime.Now; db.tOrder.Add(order); //同時將購物車商品轉換成訂單明細並存入資料庫中 var carList = db.tOrderDetail .Where(m => m.fIsApproved == "否" && m.fUserId == fUserId) .ToList(); foreach (var item in carList) { item.fOrderGuid = guid; //給予現在產生的guid item.fIsApproved = "是"; //將訂單明細,fisApproved改成是 } db.SaveChanges(); return(RedirectToAction("OrderList")); //返回訂單查詢功能列表 }
public JsonResult 實體店新增訂單(EmployeeOrderViewModel empOrder) { if (Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] != null) { tEmployee emp = Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] as tEmployee; if (Session[CSession關鍵字.SK_ORDERDETAIL] == null) { return(Json(new { result = false, msg = "訂單尚未完成!", url = Url.Action("實體店新增訂單", "Order") })); } else { List <EmployeeOrderDetailViewModel> orders = Session[CSession關鍵字.SK_ORDERDETAIL] as List <EmployeeOrderDetailViewModel>; MotaiDataEntities dbContext = new MotaiDataEntities(); tCustomer customer = dbContext.tCustomers.Where(c => c.cCellPhone == empOrder.cCellphone).FirstOrDefault(); tOrder list = new tOrder(); list.oEmployeeId = emp.EmployeeId; list.oCustomerId = customer.CustomerId; if (empOrder.oAddress == null) { list.oAddress = customer.cAddress; } else { list.oAddress = empOrder.oAddress; } list.oDate = empOrder.oDate; list.cNote = empOrder.cNote; list.oWarehouseName = empOrder.oWarehouseName; dbContext.tOrders.Add(list); dbContext.SaveChanges(); int orderId = dbContext.tOrders.OrderByDescending(i => i.OrderId).First().OrderId; int originalPrice = 0; foreach (var items in orders) { tOrderDetail detail = new tOrderDetail(); detail.oOrderId = orderId; detail.oProductId = items.oProductId; detail.oProductQty = items.oProductQty; detail.oNote = items.oNote; dbContext.tOrderDetails.Add(detail); tProduct product = dbContext.tProducts.Where(p => p.ProductId.Equals(items.oProductId)).FirstOrDefault(); originalPrice += items.oProductQty * Convert.ToInt32(product.pPrice); } tOrder order = dbContext.tOrders.Where(o => o.OrderId == orderId).FirstOrDefault(); int promotionId = orderRespoitory.SelectPromotionId(originalPrice, empOrder.oDate); if (promotionId != 0) { order.oPromotionId = promotionId; } dbContext.SaveChanges(); Session[CSession關鍵字.SK_ORDERDETAIL] = null; return(Json(new { result = true, msg = "新增成功", url = Url.Action("realCheckView", "Order"), OrderId = orderId })); } } else { return(Json(new { result = false, msg = "尚未登入!", url = Url.Action("員工登入", "Employee") })); } }
//刪除資料庫 public void DeleteOrder(string id) { int _id = Convert.ToInt32(id); tOrder t = (from p in db.tOrder where p.fLessonId == _id select p).FirstOrDefault(); db.tOrder.Remove(t); db.SaveChanges(); }
public void Delete(int id) { tOrder user = Find(id); if (user != null && user.IDOrder > 0) { context.tOrders.DeleteOnSubmit(user); } context.SubmitChanges(); }
public ActionResult OrderDetails(int?IDOrder) { IDOrder = IDOrder ?? 0; int UserID = (int)MembershipHelper.GetCurrenUser().ProviderUserKey; tOrder order = _orderRepository.Find((int)IDOrder, UserID); if (order == null) { return(RedirectToAction("OrderDataNotFound")); } return(View(order)); }
public ActionResult Delete(int?id) //將不需要的訂單設為2(錯誤訂單) { // dbMSIT126Team02Entities3 db = new dbMSIT126Team02Entities3(); tOrder order = db.tOrders.First(p => p.fOrderID == id); if (order != null) { order.fOrderConfirm = "2"; db.SaveChanges(); } return(RedirectToAction("sales")); }
public ActionResult Complete(tOrderViewModel tOrderViewModel) { var Member = this.Member; if (Member == null) { Session.Clear(); //清除Session變數資料 return(RedirectToAction("Index")); } //找出會員帳號並指定給fUserId string fUserId = Member.fUserId; //建立唯一的識別值並指定給guid變數,用來當做訂單編號 //tOrder的fOrderGuid欄位會關聯到tOrderDetail的fOrderGuid欄位 //形成一對多的關係,即一筆訂單資料會對應到多筆訂單明細 string guid = Guid.NewGuid().ToString(); //建立訂單主檔資料 tOrder order = new tOrder(); order.fOrderGuid = guid; order.fUserId = fUserId; order.fReceiver = tOrderViewModel.tOrderData.fReceiver; order.fEmail = tOrderViewModel.tOrderData.fEmail; order.fPhone = tOrderViewModel.tOrderData.fPhone; order.fAddress = tOrderViewModel.tOrderData.fAddress; order.fDate = DateTime.Now; //找出目前會員在訂單明細中是購物車狀態的產品 var carList = db.tOrderDetail .Where(m => m.fIsApproved == "否" && m.fUserId == fUserId) .ToList(); int totalPrice = 0; //將購物車狀態產品的fIsApproved設為"是",表示確認訂購產品 foreach (var item in carList) { item.fOrderGuid = guid; item.fIsApproved = "是"; totalPrice += item.fAmount; } //總價 order.fTotalPrice = totalPrice; db.tOrder.Add(order); //更新資料庫,異動tOrder和tOrderDetail //完成訂單主檔和訂單明細的更新 db.SaveChanges(); //執行Home控制器的OrderList動作方法 return(RedirectToAction("OrderList")); }
public ActionResult Add(QorderModel model, string idMenu, string idMeja) { tOrder order = new tOrder() { MejaId = idMeja, MenuId = idMenu, JumlahMenu = model.Jumlah }; context.tOrders.InsertOnSubmit(order); context.SubmitChanges(); return(RedirectToAction("PesanMenu")); }
public string CompleteTbookData(List <tOrder> applyObj) { if (applyObj != null) { foreach (tOrder t in applyObj) { tOrder data = (from p in db.tOrder where p.forderid == t.forderid select p).FirstOrDefault(); data.fSuccessed = t.fSuccessed; db.Entry(data).Property(x => x.fSuccessed).IsModified = true; db.Entry(data).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } return(""); }
public ActionResult 會計審核(OrderViewModel checkOrder) { if (Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] == null) { return(RedirectToAction("員工登入")); } MotaiDataEntities dbContext = new MotaiDataEntities(); tOrder tcheckOrder = dbContext.tOrders.FirstOrDefault(p => p.OrderId == checkOrder.OrderId); tcheckOrder.oCheck = checkOrder.oCheck; var date = DateTime.Now.Date; checkOrder.oCheckDate = date; dbContext.SaveChanges(); return(RedirectToAction("會計查詢")); }
public JsonResult orderCheck(int Id) { if (Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] == null) { return(Json(new { result = false, msg = "請先登入" })); } else { MotaiDataEntities dbContext = new MotaiDataEntities(); tOrder order = dbContext.tOrders.Where(o => o.OrderId.Equals(Id)).FirstOrDefault(); order.oCheck = "checked"; order.oCheckDate = DateTime.Now; dbContext.SaveChanges(); return(Json(new { msg = "審核成功", url = Url.Action("會計查詢", "Accountant") })); } }
public ActionResult Delete(OrderModel model) { try { // TODO: Add delete logic here tOrder order = context.tOrders.Where(some => some.IdOrder == model.IdOrder).SingleOrDefault(); context.tOrders.DeleteOnSubmit(order); context.SubmitChanges(); return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Edit(int id) //修改訂單 { //撈回empID SelectList getempList = new SelectList(this.getempList(), "fEmployeeID", "fName"); ViewBag.theempList = getempList; //撈回customerID SelectList getcustList = new SelectList(this.getcustList(), "fCustomerID", "fCompanyName"); ViewBag.thecustList = getcustList; tOrder order = db.tOrders.First(p => p.fOrderID == id); //customerlist(order.fCustomerID.Value); if (order == null) { return(RedirectToAction("sales")); } return(View(order)); }
public ActionResult Create(OrderModel model) { try { // TODO: Add insert logic here tOrder order = new tOrder() { MejaId = model.MejaId, MenuId = model.MenuId, JumlahMenu = model.JumlahMenu }; context.tOrders.InsertOnSubmit(order); context.SubmitChanges(); return(RedirectToAction("Create")); } catch { return(View(model)); } }
public ActionResult 出貨單建立(ShipCreateModel ShipList) { MotaiDataEntities dbContext = new MotaiDataEntities(); if (Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] != null) { tEmployee employee = Session[CSession關鍵字.SK_LOGINED_EMPLOYEE] as tEmployee; tShipList Shiplist = new tShipList(); Shiplist.sEmployeeId = employee.EmployeeId; Shiplist.sShipSerialValue = ShipList.sShipSerialValue; Shiplist.sOrderId = ShipList.SelectOrder; Shiplist.sShipDate = ShipList.sShipDate; Shiplist.sShipNote = ShipList.sShipNote; dbContext.tShipLists.Add(Shiplist); dbContext.SaveChanges(); for (int i = 0; i < ShipList.WareHouseId.Count; i++) { if (ShipList.ShipProductQty[i] != 0) { tShipDetail tShipdetail = new tShipDetail(); tShipdetail.ShipId = dbContext.tShipLists.OrderByDescending(s => s.ShipId).First().ShipId; tShipdetail.sOrderDetailId = ShipList.OrderDetailId[i]; tShipdetail.sProductId = ShipList.ProductId[i]; tShipdetail.sQuantity = ShipList.ShipProductQty[i]; tShipdetail.sWarehouseNameId = ShipList.WareHouseId[i]; dbContext.tShipDetails.Add(tShipdetail); //倉儲變動 tWarehouse Warehouse = dbContext.tWarehouses.Where(w => w.WarehouseNameId == tShipdetail.sWarehouseNameId && w.wProductId == tShipdetail.sProductId).FirstOrDefault(); if (Warehouse != null) { Warehouse.wPQty -= ShipList.ShipProductQty[i]; } } } tOrder order = dbContext.tOrders.Where(o => o.OrderId == Shiplist.sOrderId).FirstOrDefault(); order.oDeliverDate = ShipList.sShipDate; dbContext.SaveChanges(); } return(RedirectToAction("出貨單查詢")); }
// POST: api/ApiOrder public int Post(tOrder o) { int n = 0; try { dbmyDBEntities db = new dbmyDBEntities(); if (string.IsNullOrEmpty(o.fAddress)) { return(n); } db.tOrder.Add(o); n = db.SaveChanges(); } catch (Exception ex) { n = 0; } return(n); }
public ActionResult Edit(OrderModel model) { try { // TODO: Add update logic here tOrder order = context.tOrders.Where(some => some.IdOrder == model.IdOrder).SingleOrDefault(); order.MejaId = model.MejaId; order.MenuId = model.MenuId; order.JumlahMenu = model.JumlahMenu; context.SubmitChanges(); return(RedirectToAction("Index")); } catch { OrderModel modela = new OrderModel(); PreparePublisher(model); return(View(model)); } }
public ActionResult Edit(tOrder p, string ODConfirm)//修改訂單儲存 { //dbMSIT126Team02Entities3 db = new dbMSIT126Team02Entities3(); tOrder order = db.tOrders.First(m => m.fOrderID == p.fOrderID); if (order == null) { return(RedirectToAction("sales")); } order.fCrackFee = p.fCrackFee; order.fCustomerID = p.fCustomerID; order.fDeliverDate1 = p.fDeliverDate1; order.fDeliverDate2 = p.fDeliverDate2; order.fDeliverDate3 = p.fDeliverDate3; order.fDeliverDate4 = p.fDeliverDate4; order.fDoorFee = p.fDoorFee; order.fEmployeeID = p.fEmployeeID; order.fGetMoneyBack1 = p.fGetMoneyBack1; order.fGetMoneyBack2 = p.fGetMoneyBack2; order.fGetMoneyBack3 = p.fGetMoneyBack3; order.fGetMoneyBack4 = p.fGetMoneyBack4; order.fGlassFee = p.fGlassFee; order.fMaterialPrice = p.fMaterialPrice; order.fOrderDate = p.fOrderDate; order.fScreenFee = p.fScreenFee; order.fWaterwayFee = p.fWaterwayFee; //order.fOrderConfirm = p.fOrderConfirm; if (ODConfirm == "0") { order.fOrderConfirm = "0"; } else { order.fOrderConfirm = "1"; } db.SaveChanges(); return(RedirectToAction("sales")); }
public JsonResult EditOrderRefundStatusAjax(int IDOrder, int RefundStatus) { if (ModelState.IsValid) { tOrder oldOrder = _orderRepository.Find(IDOrder); oldOrder.RefundStatus = RefundStatus; _orderRepository.InsertOrUpdate(oldOrder); _orderRepository.Save(); return(Json(new { objectAddedName = oldOrder.tDeal.DealTitle, valid = true, Message = "Order Data was updated Succesfully" })); } else { return(Json(new { objectAddedName = "", valid = false, Message = "Fill All Fields please" })); } }
public ActionResult Order(tOrder vOrder) { string uid = User.Identity.Name; var order = new tOrder { fReceiverAddress = vOrder.fReceiverAddress, fOrderDate = DateTime.Now, fOrderState = "未出貨", fReceiver = vOrder.fReceiver, fReceiverPhone = vOrder.fReceiverPhone, fUId = uid }; db.tOrder.Add(order); db.SaveChanges(); var shoppings = db.tShoppingCar.Where(e => e.fUId == uid).ToList(); var details = shoppings.Select(e => new tOrderDetails { fOrderId = order.fOrderId, fPId = e.fPId, fPName = e.fPName, fPrice = e.fPrice, fQty = e.fQty }).ToList(); db.tOrderDetails.AddRange(details); db.tShoppingCar.RemoveRange(shoppings); db.SaveChanges(); return(RedirectToAction("OrderList")); }
//網購寫入訂單 public string webOrder(WebPay payData) { if (Session[CSession關鍵字.SK_LOGINED_CUSTOMER] != null) { tCustomer cust = Session[CSession關鍵字.SK_LOGINED_CUSTOMER] as tCustomer; MotaiDataEntities dbContext = new MotaiDataEntities(); List <tStatu> StatuList = dbContext.tStatus.Where(s => s.sCustomerId.Equals(cust.CustomerId)).ToList(); string szHtml = String.Empty; string szErrorMessage = String.Empty; List <string> enErrors = new List <string>(); try { using (AllInOne oPayment = new AllInOne()) { /* 服務參數 */ oPayment.ServiceMethod = AllPay.Payment.Integration.HttpMethod.HttpPOST; oPayment.ServiceURL = "https://payment-stage.opay.tw/Cashier/AioCheckOut/V5"; oPayment.HashKey = "5294y06JbISpM5x9"; oPayment.HashIV = "v77hoKGq4kWxNNIS"; oPayment.MerchantID = "2000132"; /* 基本參數 */ string baseURI = Request.Url.Scheme + "://" + Request.Url.Authority; if (payData.payType == 2) { oPayment.Send.ReturnURL = baseURI + Url.Action("orderCredit", "Order"); } else { oPayment.Send.ReturnURL = baseURI + Url.Action("ATMpayOff", "Order"); } oPayment.Send.ClientBackURL = baseURI; //oPayment.Send.OrderResultURL = baseURI; int number = (DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second) * 3; oPayment.Send.MerchantTradeNo = "MD" + DateTime.Now.Date.ToString("yyyyMMdd") + number.ToString("000000"); oPayment.Send.MerchantTradeDate = DateTime.Now; oPayment.Send.TotalAmount = Decimal.Parse(payData.totalPay); oPayment.Send.TradeDesc = "感謝購買墨台商品"; if (payData.payType == 1) { oPayment.Send.ChoosePayment = PaymentMethod.ATM; oPayment.SendExtend.ExpireDate = Int32.Parse("3"); } else { oPayment.Send.ChoosePayment = PaymentMethod.Credit; } //oPayment.Send.ChoosePayment = PaymentMethod.ALL; oPayment.Send.Remark = "饒了我吧"; oPayment.Send.ChooseSubPayment = PaymentMethodItem.None; oPayment.Send.NeedExtraPaidInfo = ExtraPaymentInfo.No; oPayment.Send.HoldTrade = HoldTradeType.No; oPayment.Send.DeviceSource = DeviceType.PC; oPayment.Send.UseRedeem = UseRedeemFlag.No; //購物金/紅包折抵 oPayment.Send.IgnorePayment = ""; // 例如財付通:Tenpay // 加入選購商品資料。 foreach (var item in StatuList) { tProduct product = dbContext.tProducts.Where(p => p.ProductId.Equals(item.sProductId)).FirstOrDefault(); //var chg = JObject.Parse(item.Value.ToString()); oPayment.Send.Items.Add(new Item() { Name = product.pName, Price = product.pPrice, Currency = "NTD", Quantity = item.sProductQty, URL = "<< 產品說明位址 >>" }); } // 當付款方式為 ALL 時,建議增加的參數。 if (payData.payType == 1) { oPayment.SendExtend.PaymentInfoURL = baseURI + Url.Action("orderATM", "Order"); } ////攜帶參數 //WebOrderModel order = new WebOrderModel(); //order.boughtList = StatuList; //order.webpay = payData; //order.customer = cust; //order.payDate = oPayment.Send.MerchantTradeDate; //http.Session[oPayment.Send.MerchantTradeNo] = order; //database產生訂單 tOrder newOrder = new tOrder(); newOrder.oCustomerId = cust.CustomerId; newOrder.oEmployeeId = 19; newOrder.oDate = DateTime.Now; newOrder.oAddress = payData.shipAddress; newOrder.oWarehouseName = 1; newOrder.cNote = oPayment.Send.MerchantTradeNo; dbContext.tOrders.Add(newOrder); dbContext.SaveChanges(); tOrder CreateOrder = dbContext.tOrders.OrderByDescending(o => o.OrderId).FirstOrDefault(); tOrderPay pay = new tOrderPay(); pay.oOrderId = CreateOrder.OrderId; pay.oOrderInstallment = 1; pay.oPayType = payData.payType; pay.oPayment = Convert.ToInt32(payData.totalPay); pay.oPayDate = DateTime.Now; dbContext.tOrderPays.Add(pay); foreach (var item in StatuList) { tOrderDetail orderDetail = new tOrderDetail(); orderDetail.oOrderId = CreateOrder.OrderId; orderDetail.oProductId = item.sProductId; orderDetail.oProductQty = item.sProductQty; dbContext.tOrderDetails.Add(orderDetail); dbContext.tStatus.Remove(item); dbContext.SaveChanges(); } dbContext.SaveChanges(); /* 產生訂單 */ enErrors.AddRange(oPayment.CheckOut()); /* 產生產生訂單 Html Code 的方法 */ //string szHtml = String.Empty; enErrors.AddRange(oPayment.CheckOutString(ref szHtml)); } } catch (Exception ex) { // 例外錯誤處理。 enErrors.Add(ex.Message); } finally { // 顯示錯誤訊息。 if (enErrors.Count() > 0) { szErrorMessage = String.Join("\\r\\n", enErrors); } } if (enErrors.Count() == 0) { return(szHtml); } else { return(szErrorMessage); } } return(String.Empty); }
//網購傳回ATM訂單 public void orderATM(string callback) { MotaiDataEntities dbContext = new MotaiDataEntities(); List <string> enErrors = new List <string>(); Hashtable htFeedback = null; try { using (AllInOne oPayment = new AllInOne()) { oPayment.HashKey = "5294y06JbISpM5x9"; oPayment.HashIV = "v77hoKGq4kWxNNIS"; /* 取回付款結果 */ enErrors.AddRange(oPayment.CheckOutFeedback(ref htFeedback)); } // 取回所有資料 if (enErrors.Count() == 0) { /* 支付後的回傳的基本參數 */ string szMerchantID = String.Empty; string szMerchantTradeNo = String.Empty; string szPaymentType = String.Empty; string szRtnCode = String.Empty; string szRtnMsg = String.Empty; string szTradeAmt = String.Empty; string szTradeDate = String.Empty; string szTradeNo = String.Empty; string szBankCode = String.Empty; string szVirtualAccount = String.Empty; string szExpireDate = String.Empty; // 取得資料 foreach (string szKey in htFeedback.Keys) { switch (szKey) { /* 支付後的回傳的基本參數 */ case "MerchantID": szMerchantID = htFeedback[szKey].ToString(); break; case "MerchantTradeNo": szMerchantTradeNo = htFeedback[szKey].ToString(); break; case "RtnCode": szRtnCode = htFeedback[szKey].ToString(); break; case "RtnMsg": szRtnMsg = htFeedback[szKey].ToString(); break; case "TradeNo": szTradeNo = htFeedback[szKey].ToString(); break; case "TradeAmt": szTradeAmt = htFeedback[szKey].ToString(); break; case "PaymentType": szPaymentType = htFeedback[szKey].ToString(); break; case "TradeDate": szTradeDate = htFeedback[szKey].ToString(); break; case "BankCode": szBankCode = htFeedback[szKey].ToString(); break; case "vAccount": szVirtualAccount = htFeedback[szKey].ToString(); break; case "ExpireDate": szExpireDate = htFeedback[szKey].ToString(); break; default: break; } } WebOrderModel Trade = Session[szMerchantTradeNo] as WebOrderModel; //先建訂單 tOrder newOrder = new tOrder(); newOrder.oCustomerId = Trade.customer.CustomerId; newOrder.oDate = Trade.payDate; newOrder.oAddress = Trade.webpay.shipAddress; newOrder.oWarehouseName = 1; dbContext.tOrders.Add(newOrder); dbContext.SaveChanges(); tOrder CreateOrder = dbContext.tOrders.OrderByDescending(o => o.OrderId).FirstOrDefault(); foreach (var item in Trade.boughtList) { tOrderDetail orderDetail = new tOrderDetail(); orderDetail.oOrderId = CreateOrder.OrderId; orderDetail.oProductId = item.sProductId; orderDetail.oProductQty = item.sProductQty; dbContext.tOrderDetails.Add(orderDetail); dbContext.tStatus.Remove(item); } dbContext.SaveChanges(); } else { // 其他資料處理。 } } catch (Exception ex) { // 例外錯誤處理。 enErrors.Add(ex.Message); } finally { this.Response.Clear(); // 回覆成功訊息。 if (enErrors.Count() == 0) { this.Response.Write("1|OK"); } // 回覆錯誤訊息。 else { this.Response.Write(String.Format("0|{0}", String.Join("\\r\\n", enErrors))); } this.Response.Flush(); this.Response.End(); } }
public void SaveOrder(tOrder order) { mmEntities.tOrders.Add(order); mmEntities.SaveChanges(); }