public ResultModel OrderCreate(OrderModel model, string account) { List <ShoppingCarModel> shoppingcarlist = ShoppingCarRepository.GetCarList(account); if (shoppingcarlist != null) { var order = new OrderModel { Account = account, ReceiverName = model.ReceiverName, ReceiverPhone = model.ReceiverPhone, ReceiverAddress = model.ReceiverAddress, OrderDate = DateTimeHelper.GetNowTime(), OrderState = "未出貨", }; var orderid = OrderRepository.CreateAndResultIdentity <int>(order); /* * var orderdetails = new List<OrderDetailsModel>(); * foreach (var e in shoppingcarlist) * { * orderdetails.Add(new OrderDetailsModel * { * OrderId = orderid, * ProductID = e.ProductID, * ProductName = e.ProductName, * Price = e.Price, * Qry = e.Qry, * ); * } */ var orderdetails = shoppingcarlist.Select(e => new OrderDetailsModel { OrderId = orderid, ProductID = e.ProductID, ProductName = e.ProductName, Price = e.Price, Qry = e.Qry, }).ToList(); OrderDetailsRepository.Create(orderdetails); var car2orderdeletelist = shoppingcarlist.Select(e => e.CarId).ToList(); ShoppingCarRepository.Delete <int>(car2orderdeletelist); return(new ResultModel { IsSuccess = true, Message = "成功下單" }); } return(new ResultModel { IsSuccess = false, Message = "購物車空無一物" }); }
public void TestCreate() { OrderDetails model = new OrderDetails() { OrderID = 3, ProductID = 2, Quantity = 3 }; OrderDetailsRepository ordersDetail = new OrderDetailsRepository(); ordersDetail.Create(model); Assert.IsTrue(model.OrderID == 3); }
//新增訂單明細 public void CreateOrderDetail(string OrderId, string CustomerId) { var Data = cartRepository.FindById(CustomerId); foreach (var item in Data) { var newData = new OrderDetails() { OrderID = OrderId, ProductID = item.ProductID, Quantity = item.Quantity, Discount = 0 }; orderDetailsRepository.Create(newData); } }
public IActionResult Create([FromBody] OrderDetails orderdetails) { if (ModelState.IsValid) { if (orderdetails.OrderId > 0) { Order order = new Order() { Id = orderdetails.OrderId, Adress = orderdetails.Address }; orderRepository.Update(order); } orderDetailsRepository.Create(orderdetails); return(Ok(orderdetails)); } else { ModelState.AddModelError("", "Error. Check the form data."); } return(BadRequest(new { message = "error", ModelState })); }
public ActionResult Shopping5() { List <Shopping> shopping; User user; ShipData ship; JavaScriptSerializer JSONSerializer = new JavaScriptSerializer(); if (Request.Cookies["shoppingcar"] != null && Request.Cookies["user"] != null && Request.Cookies["ShipData"] != null) { string json = HttpUtility.UrlDecode(Request.Cookies["shoppingcar"].Value); shopping = JSONSerializer.Deserialize <List <Shopping> >(json); string json1 = HttpUtility.UrlDecode(Request.Cookies["user"].Value); user = JSONSerializer.Deserialize <User>(json1); string json2 = HttpUtility.UrlDecode(Request.Cookies["ShipData"].Value); ship = JSONSerializer.Deserialize <ShipData>(json2); SqlConnection connection = new SqlConnection("data source=.; database=Commerce; integrated security=true"); connection.Open(); using (var transaction = connection.BeginTransaction()) { try { var order = new Orders() { MemberID = user.UserID, EmployeeID = 1, OrderDate = DateTime.Now, Discount = 1, ReceiptedDate = null, ShipName = ship.ShipName, ShipPhone = ship.ShipPhone, ShipAddress = ship.ShipAddress, ShippedDate = null, Status = "未出貨" }; var orderrepository = new OrdersRepository(); orderrepository.Create(order, connection, transaction); var memberrepository = new MemberRepository(); var memberorder = memberrepository.GetBuyerOrder(user.UserID, connection, transaction); var lastordeer = memberorder.First(); var orderdetailrepository = new OrderDetailsRepository(); foreach (var item in shopping) { OrderDetails od = new OrderDetails() { OrderID = lastordeer.OrderID, ProductFormatID = item.ProductFormatID, Quantity = item.Quantity, UnitPrice = item.UnitPrice }; orderdetailrepository.Create(od, connection, transaction); } transaction.Commit(); return(RedirectToAction("Shopping6", "Shopping")); } catch (Exception) { transaction.Rollback(); return(RedirectToAction("", "Shopping")); } } } else { return(RedirectToAction("", "Shopping")); } //做order跟orderdetail }
public void Create(OrderDetails model) { repository.Create(model); }
public JsonResult Order(string name, string phone, string address, string memberID, decimal totalPrice) { if (string.IsNullOrWhiteSpace(name) || string.IsNullOrWhiteSpace(phone) || string.IsNullOrWhiteSpace(address)) { return(Json("填空區不可有空白")); } else { if (Regex.Match(name, @"[\u3000-\u9FA5\x20]{2,4}").Success) { if (Regex.Match(phone, @"(\(?\d{3,4}\)?)?[\s-]?\d{7,8}[\s-]?\d{0,4}").Success) { ShoppingCartRepository shoppingCartRepository = new ShoppingCartRepository(); OrdersRepository ordersRepository = new OrdersRepository(); EmployeesRepository employeesRepository = new EmployeesRepository(); ProductFormatRepository productFormatRepository = new ProductFormatRepository(); OrderDetailsRepository orderDetailsRepository = new OrderDetailsRepository(); ProductRepository productRepository = new ProductRepository(); var employees = employeesRepository.GetAll(); var randomNumber = new Random().Next(0, employees.Count()); Orders orders = new Orders() { EmployeeID = employees.ElementAt(randomNumber).EmployeeID, MemberID = memberID, ShipName = name, ShipAddress = address, ShipPhone = phone, OrderDate = DateTime.Now, Status = "未送貨", TotalPrice = totalPrice }; ordersRepository.Create(orders); Procedure.Procedure procedure = new Procedure.Procedure(); var orderTempID = procedure.FindOrderID(memberID); var shoppingCart = shoppingCartRepository.FindByMemberID(memberID); Stack <OrderDetails> orderData = new Stack <OrderDetails>(); orderData.Clear(); foreach (var item in shoppingCart) { if (productFormatRepository.FindById(item.ProductFormatID).StockQuantity - item.Quantity >= 0) { OrderDetails orderDetails = new OrderDetails() { OrderID = orderTempID.OrderID, ProductFormatID = item.ProductFormatID, Quantity = item.Quantity, UnitPrice = productRepository.FindById(item.ProductID).UnitPrice }; orderData.Push(orderDetails); } else { var productFormatTemp = productFormatRepository.FindById(item.ProductFormatID); var productTemp = productRepository.FindById(productFormatTemp.ProductID); return(Json("產品:" + productTemp.ProductName + Environment.NewLine + "顏色:" + productFormatTemp.Color + Environment.NewLine + "尺寸:" + productFormatTemp.Size + Environment.NewLine + "剩餘數量:" + productFormatTemp.StockQuantity + Environment.NewLine + "請重新下訂!")); } } foreach (var orderItem in orderData) { orderDetailsRepository.Create(orderItem); } shoppingCartRepository.DeleteByMemberId(memberID); return(Json("下訂成功")); } else { return(Json("電話格式有誤")); } } else { return(Json("姓名不符合格式")); } } }
public string ConfirmOrders(List <ShoppingcartDetails> shoppingcar, Order order)//新增訂單 { var shoppingcarRepository = new ShoppingcartDetailsRepository(); var productsRepository = new ProductsRepository(); var orderRepository = new OrderRepository(); var orderDetailsRepository = new OrderDetailsRepository(); SqlConnection connection = new SqlConnection(sqlstr); connection.Open(); var transactition = connection.BeginTransaction(); try { foreach (var item in shoppingcar)//每一件是否都有庫存 { var stock = productsRepository.CheckStock(item.ProductID, item.Quantity); if (!stock) { return($"{item.ProductID}"); } } orderRepository.Create(order);//新增訂單 var orderid = orderRepository.FindLastOrderByCustomerID(order.CustomerID); foreach (var item in shoppingcar)//新增訂單明細 { var orderDetails = new OrderDetails() { OrderID = orderid, ProductID = item.ProductID, Quantity = item.Quantity }; orderDetailsRepository.Create(orderDetails); } //扣庫存 foreach (var item in shoppingcar) { var product = new Products() { ProductID = item.ProductID }; productsRepository.UpdateStockPminus(product, item.Quantity); } //刪購物車內容 //先判斷購物車商品數量與訂單商品數量 shoppingcarRepository.DeleteAllForUser(order.CustomerID); transactition.Commit(); } catch (SqlException e) { transactition.Rollback(); return(e.Message); } connection.Close(); return("OrderSuccess"); }