public int Create(int productId, List <int> pList, List <int> pValList) { int basketCount = 0; try { BasketClass.BasketItem basketItem = new BasketClass.BasketItem(); Product product = db.Products.FirstOrDefault(x => x.Id == productId); basketItem.Product = product; basketItem.Quantity = 1; basketItem.Tax = 0; List <PropertyPropertyValues> propertyPropertyValues = new List <PropertyPropertyValues>(); if (pList != null) { for (int i = 0; i < pList.Count; i++) { int pId = pList[i]; int pVal = pValList[i]; PropertyPropertyValues dbpropertyPropertyValues = db.PropertyPropertyValueses.Include(x => x.CategoryProperty).Include(x => x.CategoryPropertyValue).FirstOrDefault(x => x.CategoryPropertyId == pId && x.CategoryPropertyValueId == pVal); propertyPropertyValues.Add(dbpropertyPropertyValues); } } basketItem.PropertyPropertyValueses = propertyPropertyValues; //basketItem.CategoryPropertyList = pList; //basketItem.CategoryPropertyValues = pValList; BasketClass s = new BasketClass(); s.SepeteEkle(basketItem); s = (BasketClass)Session["AktifSepet"]; basketCount = s.Products.Count; if (_loginState.IsLogin()) { int id = _loginState.IsLoginUser().Id; Basket userBasket = db.Baskets.FirstOrDefault(x => x.UserId == id && x.StatusId == 1); OrderProduct orderProduct = db.OrderProducts.FirstOrDefault(x => x.Product.Id == product.Id && x.UserId == id && x.InTheBasket); if (userBasket == null) { //Basket newBasket=new Basket(); //newBasket.UserId = id; //newBasket.StatusId = 1; //newBasket.CreateUserId = id; _functions.GirisSepetControl(); orderProduct = new OrderProduct(); orderProduct.CreateDateTime = DateTime.Now; orderProduct.CreateUserId = _loginState.IsLoginUser().Id; orderProduct.BasketId = s.BasketId; orderProduct.InTheBasket = true; orderProduct.ProductId = product.Id; orderProduct.UserId = _loginState.IsLoginUser().Id; orderProduct.Quantity = s.Products.FirstOrDefault(x => x.Product.Id == productId).Quantity; orderProduct.Amount = (double)s.Products.FirstOrDefault(x => x.Product.Id == product.Id).Total; orderProduct.BasketId = s.BasketId; db.OrderProducts.Add(orderProduct); db.SaveChanges(); } else { if (orderProduct != null) { orderProduct.Amount = (double)s.Products.FirstOrDefault(x => x.Product.Id == product.Id).Total; orderProduct.Quantity = orderProduct.Quantity + 1; db.Entry(orderProduct).State = EntityState.Modified; } else { orderProduct = new OrderProduct(); orderProduct.CreateDateTime = DateTime.Now; orderProduct.CreateUserId = _loginState.IsLoginUser().Id; orderProduct.BasketId = userBasket.Id; orderProduct.InTheBasket = true; orderProduct.ProductId = product.Id; orderProduct.UserId = _loginState.IsLoginUser().Id; orderProduct.Quantity = s.Products.FirstOrDefault(x => x.Product.Id == productId).Quantity; orderProduct.Amount = (double)s.Products.FirstOrDefault(x => x.Product.Id == product.Id).Total; db.OrderProducts.Add(orderProduct); } db.SaveChanges(); } Basket basket = db.Baskets.FirstOrDefault(x => x.BasketKey == s.BasketKey); s = (BasketClass)Session["AktifSepet"]; basket.Amount = s.TotalAmount; db.Entry(basket).State = EntityState.Modified; db.SaveChanges(); } } catch (Exception e) { } return(basketCount); }