public bool InsertOrder(OuikumOrder order, List <OuikumOrderDetail> orderDetail) { var Count = CountData <OuikumOrder>(" * ", " IsDelete = 0 AND CompID = " + order.CompID); order.OrderCode = AutoGenCode("Order-", Count); using (var trans = new TransactionScope()) { qDB.OuikumOrders.InsertOnSubmit(order); // insert order qDB.SubmitChanges(); var TempOrderID = order.OrderID; foreach (var it in orderDetail) { it.OrderID = order.OrderID; qDB.OuikumOrderDetails.InsertOnSubmit(it); qDB.SubmitChanges(); } trans.Complete(); IsResult = true; } return(IsResult); }
public ActionResult AddOrderProduct(FormCollection form) { OuikumOrder tOrder = new OuikumOrder(); OuikumOrderDetail tOrderDetail = new OuikumOrderDetail(); var svCart = new CartService(); var svShipment = new ShipmentService(); #region set Order tOrder.SendName = form["SendName"]; tOrder.SendSername = form["SendSername"]; tOrder.SendTel = form["SendTel"]; tOrder.Email = form["Email"]; if (form["AddrLine1"] != null) { tOrder.AddrLine1 = form["AddrLine1"]; } if (form["AddrLine2"] != null) { tOrder.AddrLine2 = form["AddrLine2"]; } tOrder.SubDirtrict = form["SubDirtrict"]; tOrder.DirtrictID = Convert.ToInt32(form["DirtrictID"]); tOrder.ProviceID = Convert.ToInt32(form["ProviceID"]); tOrder.Postal = form["Postal"]; tOrder.CompID = LogonCompID; tOrder.OrderStatus = "A"; tOrder.Total = Convert.ToDecimal(form["Total"]); tOrder.RowFlag = 1; tOrder.RowVersion = 1; tOrder.IsDelete = false; tOrder.IsShow = true; tOrder.OrderDate = DateTime.Now; tOrder.CreatedDate = DateTime.Now; tOrder.ModifiedDate = DateTime.Now; tOrder.CreatedBy = Convert.ToString(LogonCompID); tOrder.ModifiedBy = Convert.ToString(LogonCompID); #endregion var getTempCart = svCart.SelectData <View_TempCart>("*", "IsDelete = 0 and TempIDLogon = " + LogonCompID); var OrderNumber = 1; var TempOrderDetail = new List <OuikumOrderDetail>(); var ShipmentProduct = svShipment.SelectData <View_ShipmentProduct>("*", "IsDelete = 0 and TempIDLogon = " + LogonCompID); ViewBag.ShipmentProduct = ShipmentProduct; if (getTempCart.Count > 0) { for (int i = 0; i <= getTempCart.Count - 1; i++) { decimal?TotalPriceProduct = 0; #region set OrderDetail var detail = new OuikumOrderDetail(); detail.ProductID = getTempCart[i].TempProdcutID; detail.CompSCID = getTempCart[i].CompID; detail.Qty = getTempCart[i].TempCountProduct; detail.Qty_Price = getTempCart[i].TempPrice; foreach (var getShipmentPrice in (List <View_ShipmentProduct>)ViewBag.ShipmentProduct) { if (getShipmentPrice.CompID == getTempCart[i].CompID && getShipmentPrice.ProductID == getTempCart[i].TempProdcutID) { if (getTempCart[i].TempCountProduct <= getShipmentPrice.BuyMaximum && getTempCart[i].TempCountProduct >= getShipmentPrice.BuyMinimum) { detail.PriceShipment = getShipmentPrice.PriceShipment; TotalPriceProduct = getShipmentPrice.PriceShipment; } } } var SumPriceUnit1 = getTempCart[i].TempCountProduct * getTempCart[i].TempPrice; detail.TotalPriceproduct = SumPriceUnit1; detail.TotalSum = SumPriceUnit1 + TotalPriceProduct; detail.StatusProduct = "A"; detail.OrDetailCode = AutoGenCode("Or-D", OrderNumber); detail.IsShow = true; detail.IsDelete = false; detail.RowFlag = 1; detail.RowVersion = 1; detail.CreatedDate = DateTime.Now; detail.ModifiedDate = DateTime.Now; detail.CreatedBy = Convert.ToString(LogonCompID); detail.ModifiedBy = Convert.ToString(LogonCompID); OrderNumber++; TempOrderDetail.Add(detail); TotalPriceProduct = 0; #endregion } #region Insert b2bOrder svCart.InsertOrder(tOrder, TempOrderDetail); #endregion } UpdateTempCart(); if (svCart.IsResult) { var compBuyer = svCompany.SelectData <View_getSendmailOrder>("Email, namebuyer , CompID ,OrderID", " OrderID = " + tOrder.OrderID, null).First(); if (!SendEmailOrdertoBuyer(compBuyer.namebuyer, compBuyer.Email, compBuyer.OrderID)) { return(Json(new { IsSuccess = false, Result = res.EmaiOrderToBuyer.lblresulttobuyerfalse })); } else { //return Json(new { IsSuccess = true, Result = res.EmaiOrderToBuyer.lblresulttobuyer }); var compSeller = svCompany.SelectDataEmailtoSeller <view_getMailOrdertoSeller>(" emailseller, OrderID, compidseller ", " OrderID = " + tOrder.OrderID); var Mailseller = new List <view_getMailOrdertoSeller>(); if (compSeller.Count > 0) { for (int a = 0; a <= compSeller.Count - 1; a++) { var email = new view_getMailOrdertoSeller(); email.emailseller = compSeller[a].emailseller; email.OrderID = compSeller[a].OrderID; email.compidseller = compSeller[a].compidseller; Mailseller.Add(email); } if (!SendEmailOrdertoSeller(Mailseller, tOrder.OrderID)) { return(Json(new { IsSuccess = false, Result = res.EmaiOrderToBuyer.lblresulttobuyerfalse })); } else { return(Json(new { IsSuccess = true, Result = res.EmaiOrderToBuyer.lblresulttobuyer })); } } } } return(Json(new { IsSuccess = true, Result = "บันทึกรายการสั่งซื้อของคุณเรียบร้อยแล้ว" })); // return svCart.IsResult; }