public ActionResult OrderControl() { List <Product> outStock; List <BasketProduct> basketList; if (Session["user"] != null) { currentUser = Session["user"] as ETicaret.Model.Models.Entity.User; basketList = basketDAL.GetList(x => x.UserID == currentUser.UserID && x.IsActive == true).ToList(); outStock = StockControl(basketList); if (outStock.Count > 0) { TempData["OutStockError"] = outStock; return(RedirectToAction("Index")); } else { return(RedirectToAction("UserOrder", "Order")); } } else { basketList = Session["basket"] as List <BasketProduct>; outStock = StockControl(basketList); if (outStock.Count > 0) { TempData["OutStockError"] = outStock; return(RedirectToAction("Index")); } else { return(RedirectToAction("QuickOrder", "Order")); } } }
public ActionResult OrderSummary(Guid id) { //List<Product> isValidStock = StokControl(); //if (isValidStock.Count == 0) //{ Guid selectedAddressID = new Guid(Session["address"].ToString()); Guid selectedCardID = id; UserAddress address = userAddressDAL.Get(x => x.IsActive == true && x.UserAddressID == selectedAddressID); UserCard card = userCardDAL.Get(x => x.UserCardID == selectedCardID && x.IsActive == true && x.UserID == currentUser.UserID); UserDetail userDetail = userDetailDAL.Get(x => x.UserID == currentUser.UserID && x.IsActive == true); ICollection <BasketProduct> basketProducts = basketProductDAL.GetList(x => x.UserID == currentUser.UserID && x.IsActive == true); decimal totalAmount = 0; Order newOrder = new Order() { OrderID = Guid.NewGuid(), AddressID = selectedAddressID, CreatedTime = DateTime.Now, IsActive = true, OrderStatusID = new Guid("7a75cdfb-52a3-4455-a8c2-08d6de333e45"), UserDetailID = userDetail.UserDetailID, UserID = currentUser.UserID }; newOrder.UserCardID = selectedCardID; foreach (var item in basketProducts) { decimal unitPrice = item.Product.UnitPrice; if (item.Product.Campaigns.Count != 0) { foreach (var camp in item.Product.Campaigns.Where(x => x.EndingDate > DateTime.Now && x.StartedDate < DateTime.Now && x.IsActive == true)) { unitPrice = unitPrice * (1 - camp.Discount); } } totalAmount += (unitPrice * item.Count); OrderDetail newOD = new OrderDetail() { OrderID = newOrder.OrderID, Count = item.Count, ProductID = item.ProductID, IsActive = true }; newOrder.OrderDetails.Add(newOD); Product product = productDAL.Get(x => x.ProductID == item.ProductID); product.UnitsInStock -= item.Count; productDAL.Update(product); item.IsActive = false; basketProductDAL.Update(item); } newOrder.TotalAmount = totalAmount; newOrder.PaymentTypeID = new Guid("7e4289f3-ce9d-4c3b-847f-710664319e4b"); newOrder.UserCardID = selectedCardID; orderDAL.Add(newOrder); Session["address"] = null; Session["basket"] = null; TempData["Success"] = "Siparişiniz Alındı. İşlem Sürecini Bu Sayfadan Takip Edebilirsiniz."; return(RedirectToAction("Index", "UserDetail")); //} //else //{ // TempData["outOrder"] = isValidStock; // return RedirectToAction("Index", "Cart"); //} }