public ActionResult SepetItemSil(int id) { BasketClass s = (BasketClass)Session["AktifSepet"]; try { if (_loginState.IsLogin()) { Basket basket = db.Baskets.FirstOrDefault(x => x.BasketKey == s.BasketKey); OrderProduct detays = db.OrderProducts.FirstOrDefault(x => x.ProductId == id && x.BasketId == s.BasketId && x.InTheBasket); if (detays != null) { db.OrderProducts.Remove(detays); OrderProductProperty productProperty = db.OrderProductProperties.FirstOrDefault(x => x.OrderProductId == detays.Id); if (productProperty != null) { db.OrderProductProperties.Remove(productProperty); } } db.SaveChanges(); s = (BasketClass)Session["AktifSepet"]; basket.Amount = s.TotalAmount; db.Entry(basket).State = EntityState.Modified; db.SaveChanges(); } s.BasketItemRemove(id); } catch (Exception e) { s.AllClear(); } return(Redirect("/Sepetim")); }
public void OrderProductControl(Basket basket, BasketClass basketClass) { int id = _loginState.IsLoginUser().Id; foreach (var item in basketClass.Products) { OrderProduct orderProduct = new OrderProduct(); orderProduct.CreateDateTime = DateTime.Now; orderProduct.CreateUserId = _loginState.IsLoginUser().Id; orderProduct.BasketId = basket.Id; orderProduct.InTheBasket = true; orderProduct.ProductId = item.Product.Id; orderProduct.UserId = _loginState.IsLoginUser().Id; orderProduct.Quantity = item.Quantity; orderProduct.Amount = (double)item.Total; db.OrderProducts.Add(orderProduct); db.SaveChanges(); if (item.PropertyPropertyValueses != null) { foreach (var propertyValuese in item.PropertyPropertyValueses) { OrderProductProperty productProperty = new OrderProductProperty(); productProperty.OrderProductId = orderProduct.Id; productProperty.PropertyPropertyValuesId = propertyValuese.Id; productProperty.CreateDateTime = DateTime.Now; productProperty.CreateUserId = _loginState.IsLoginUser().Id; db.OrderProductProperties.Add(productProperty); db.SaveChanges(); } } } //var basketItem = basketClass.BasketItems.Select(x => x.PropertyPropertyValueses); //foreach (var item in basketItem) //{ // if (item.Count > 0) // { // OrderProductProperty productProperty = new OrderProductProperty(); // foreach (var propertyValuese in item) // { // //productProperty.OrderProductId = orderProduct.Id; // //productProperty.ProductPropertyId = propertyValuese.Id; // } // db.SaveChanges(); // //productProperty.OrderProductId=item. // } //} }
public void GirisSepetControl() { Basket basket = new Basket(); BasketClass basketClass = (BasketClass)HttpContext.Current.Session["AktifSepet"]; if (_loginState.IsLogin()) { int id = _loginState.IsLoginUser().Id; basket = db.Baskets.FirstOrDefault(x => x.UserId == id && x.StatusId == 1); } else { basket = db.Baskets.FirstOrDefault(x => x.BasketKey == basketClass.BasketKey); } if (basketClass != null) { if (basket == null) { basket = new Basket(); basket.StatusId = 1; if (_loginState.IsLogin()) { basket.UserId = _loginState.IsLoginUser().Id; basket.CreateUserId = _loginState.IsLoginUser().Id; } else { basket.UserId = -1; basket.CreateUserId = -1; } basket.CreateDateTime = DateTime.Now; basket.Amount = basketClass.TotalAmount; basket.BasketKey = basketClass.BasketKey; db.Baskets.Add(basket); db.SaveChanges(); } else { List <OrderProduct> dbOrderProduct = db.OrderProducts .Where(x => x.BasketId == basket.Id).ToList(); if (dbOrderProduct.Count != 0) { foreach (var item in dbOrderProduct) { Product product = db.Products.Find(item.ProductId); BasketClass.BasketItem basketItem = new BasketClass.BasketItem(); basketItem.Product = product; basketItem.Quantity = item.Quantity; basketItem.Tax = 0; basketClass.SepeteEkle(basketItem); db.OrderProducts.Remove(item); OrderProductProperty orderProductProperty = new OrderProductProperty(); orderProductProperty = db.OrderProductProperties.FirstOrDefault(x => x.OrderProductId == item.Id); if (orderProductProperty != null) { db.OrderProductProperties.Remove(orderProductProperty); } db.SaveChanges(); } } if (_loginState.IsLogin()) { basket.UserId = _loginState.IsLoginUser().Id; basket.CreateUserId = _loginState.IsLoginUser().Id; } basketClass = (BasketClass)HttpContext.Current.Session["AktifSepet"]; basket.Amount = basketClass.TotalAmount; db.Entry(basket).State = EntityState.Modified; db.SaveChanges(); } OrderProductControl(basket, basketClass); } else { if (basket != null) { List <OrderProduct> dbOrderProduct = db.OrderProducts .Where(x => x.BasketId == basket.Id).ToList(); if (dbOrderProduct.Count != 0) { basketClass = new BasketClass(); foreach (var item in dbOrderProduct) { BasketClass.BasketItem basketItem = new BasketClass.BasketItem(); Product product = db.Products.FirstOrDefault(x => x.Id == item.ProductId); basketItem.Product = product; basketItem.Quantity = item.Quantity; basketItem.Tax = 0; //var productPropertyList = db.prod.Include(x=>x.PropertyPropertyValues).Where(x => x.OrderProductId == item.Id).ToList(); //basketItem.PropertyPropertyValueses = productPropertyList; //foreach (var productProperty in productPropertyList) //{ // basketItem.PropertyPropertyValueses.Add(productProperty.PropertyPropertyValues); //} //todo:Ürün özellikleri veri tabanından sepete aktarılacak basketClass.SepeteEkle(basketItem); } } basketClass = (BasketClass)HttpContext.Current.Session["AktifSepet"]; //basketClass = (BasketClass)HttpContext.Current.Session["AktifSepet"]; //basketClass = new BasketClass(); if (basketClass == null) { basketClass = new BasketClass(); } basketClass.BasketId = basket.Id; basketClass.BasketKey = basket.BasketKey; basketClass.UserId = basket.UserId; HttpContext.Current.Session["AktifSepet"] = basketClass; } } }