public void RemoveProductFromOrder() { if (MessageBox.Show("Do you want to delete?", "Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes) { DataGridView dgvItemOfOrder = form.getDgvItemOfOrder(); //Get number of selected grow Int32 selectedRowCount = dgvItemOfOrder.Rows.GetRowCount(DataGridViewElementStates.Selected); if (selectedRowCount > 0) { for (int i = 0; i < selectedRowCount; i++) { //get selected row String row = dgvItemOfOrder.SelectedRows[i].Index.ToString(); int rowInt = int.Parse(row); //get product from list product CartItemDTO item = listProductOrder[rowInt]; listProductOrder.Remove(item); //remove list if (listProductOrder.Count == 0) { listProductOrder = null; } } } else { MessageBox.Show("Select product you want to remove", "Notification"); } } }
public ActionResult AddToCart(int id) { if (Session["kullanici"] != null) { //MyCart myCart = new MyCart(); bu kullanım bana sürekli yeni sepetler oluşturur. MyCart cart = Session["cart"] as MyCart; CartItemDTO cartItem = new CartItemDTO(); var eklenenAlbum = albumService.Get(id); cartItem.ID = eklenenAlbum.ID; cartItem.Name = eklenenAlbum.Title; cartItem.Price = eklenenAlbum.Discontinued ? eklenenAlbum.Price * 0.90m : eklenenAlbum.Price; cartItem.Amount = 1; cart.Add(cartItem); Session["cart"] = cart; } else { throw new Exception(); } return(PartialView("_CartButton")); }
public CartDTO UpdateCart(CartItemDTO cart) { using (var dbContext = new OMHRDModel()) { var cartItem = dbContext.Cart_T.FirstOrDefault(x => x.ProductId == cart.ProductId && x.UserId == cart.UserId && x.SizeId == cart.SizeId && (!x.ColorId.HasValue || x.ColorId.Value == cart.ColorId.Value)); if (cartItem != null) { cartItem.Quantity = cart.IsQuantityForAddition ? cartItem.Quantity + cart.Quantity : cart.Quantity; dbContext.SaveChanges(); } else { cartItem = new Cart_T() { ProductId = cart.ProductId, ColorId = cart.ColorId, SizeId = cart.SizeId, Quantity = cart.Quantity, UserId = cart.UserId }; dbContext.Cart_T.Add(cartItem); dbContext.SaveChanges(); } return(GetCartTotal(cart.UserId)); } }
public IHttpActionResult PostCartItem(CartItemDTO cartItem) { var cartcheck = (from Cart in db.Carts where Cart.Id > 0 select Cart).FirstOrDefault(); if (cartcheck != null) //If cart Id exist { cartItem.CartId = cartcheck.Id; } else //if no cart.Id exist { var newCart = new Cart(); db.Carts.Add(newCart); cartItem.CartId = newCart.Id; } CartItem p = ToEntity(cartItem); db.CartItems.Add(p); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = cartItem.Id }, cartItem)); }
/// <summary> /// /// </summary> /// <param name="CartItemDTO"></param> /// <returns></returns> public CartItemDTO Create(CartItemDTO CartItemDTO) { const string sqlStatement = "INSERT INTO dbo.CartItemDTO ([FirstName], [LastName], [CategoryId], [CountryId], [Description], [TotalProducts], [Rowid], [CreatedOn], [CreatedBy], [ChangedOn], [ChangedBy]) " + "VALUES(@FirstName, @LastName, @CategoryId, @CountryId, @Descritpion, @TotalProducts, @Rowid, @CreatedOn, @CreatedBy, @ChangedOn, @ChangedBy); SELECT SCOPE_IDENTITY();"; var db = DatabaseFactory.CreateDatabase(ConnectionName); using (var cmd = db.GetSqlStringCommand(sqlStatement)) { //db.AddInParameter(cmd, "@FirstName", DbType.String, CartItemDTO.FirstName); //db.AddInParameter(cmd, "@LastName", DbType.String, CartItemDTO.LastName); //db.AddInParameter(cmd, "@CategoryId", DbType.Int32, CartItemDTO.CategoryId); //db.AddInParameter(cmd, "@CountryId", DbType.Int32, CartItemDTO.CountryId); //db.AddInParameter(cmd, "@Descritpion", DbType.String, CartItemDTO.Description); //db.AddInParameter(cmd, "@TotalProducts", DbType.Int32, CartItemDTO.TotalProducts); //db.AddInParameter(cmd, "@Rowid", DbType.Guid, CartItemDTO.Rowid); //db.AddInParameter(cmd, "@CreatedOn", DbType.DateTime2, CartItemDTO.CreatedOn); //db.AddInParameter(cmd, "@CreatedBy", DbType.Int32, CartItemDTO.CreatedBy); //db.AddInParameter(cmd, "@ChangedOn", DbType.DateTime2, CartItemDTO.ChangedOn); //db.AddInParameter(cmd, "@ChangedBy", DbType.Int32, CartItemDTO.ChangedBy); //// Obtener el valor de la primary key. //CartItemDTO.Id = Convert.ToInt32(db.ExecuteScalar(cmd)); } return(CartItemDTO); }
public IHttpActionResult PutCartItem(int id, CartItemDTO modified) { if (!CartItemExists(id)) { return NotFound(); } CartItem CartI = (from x in db.CartItems where x.Id == id select x).First(); CartI.Id = modified.Id; CartI.CartId = modified.CartId; CartI.ProductId = modified.ProductId; CartI.Total = modified.Total; CartI.Quantity = modified.Quantity; // db.Entry(cartItem).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { } return StatusCode(HttpStatusCode.NoContent); }
public async Task CreateCartItem_AddsNewProductToCartItemsTable() { //Arrange var myDbContextMoq = new DbContextMock <ShoppingCartContext>(myDummyOptions); //Create list of CartItems that contains only two Products myDbContextMoq.CreateDbSetMock(x => x.CartItems, new[] { new CartItem { ProductId = 1, Price = 3, Quantity = 2 }, new CartItem { ProductId = 2, Price = 2, Quantity = 5 } }); //We want to add third product to our list of CartItems //Since CreateCartItem() method accepts type CartItemDTO we use that type here for our new CartItem CartItemDTO testDataDTO = new CartItemDTO() { ProductId = 3, Price = 21, Quantity = 1 }; CartItemService service = new CartItemService(myDbContextMoq.Object); //Act await service.CreateCartItem(testDataDTO);//call CreateCartItem() function and pass the testDataDTO //Assert //The size of the CartItems list increases to 3 because CreateCartItem() method added testDataDTO Assert.Equal(3, myDbContextMoq.Object.CartItems.Count()); }
public static CartItemDTO NewCartItem(Product product, AddToCartDTO model) { decimal additionalPrices = 0; if (model.DemandTypes.Count != 0) { var productDemands = product.ProductDemands; foreach (var demandType in model.DemandTypes) { additionalPrices += demandType.ChoosedDemandPrice; } } product.Price += additionalPrices; product.ProductDemands = null; CartItemDTO cartModel = new CartItemDTO { DemandTypes = model.DemandTypes, ProductId = product.Id, Product = product, Quantity = model.Quantity, UnitPrice = product.Price, Note = model.Note, ImageName = product.ProductImages.FirstOrDefault().ImageName }; cartModel.ApplyDiscount(product.DiscountRate); return(cartModel); }
public async Task UpdateCartItem_EditsTheCartItem_AndAddsTheUpdatedCartItemToCartItemsTable() { //Arrange var myDbContextMoq = new DbContextMock <ShoppingCartContext>(myDummyOptions); //Create list of CartItems that contains only two Products myDbContextMoq.CreateDbSetMock(x => x.CartItems, new[] { new CartItem { ProductId = 1, Price = 3, Quantity = 2 }, new CartItem { ProductId = 2, Price = 2, Quantity = 5 } }); CartItemDTO testDataDTO = new CartItemDTO() { ProductId = 1, Price = 3, Quantity = 4 //we updated the Quantity }; CartItemService service = new CartItemService(myDbContextMoq.Object); //Act //for example we want to update first CartItem await service.UpdateCartItem(testDataDTO); CartItem cartItmeToBeUpdated = myDbContextMoq.Object.CartItems.FirstOrDefault(x => x.ProductId == 1); //Assert //Quantity changed from 2 to 4 Assert.Equal(4, cartItmeToBeUpdated.Quantity); }
public async Task AddItemToCart(int itemId) { Item item = await _itemRepo.GetById(itemId); if (item == null) { throw new NullReferenceException(); } CartItemDTO cartItem = _mapper.Map <Item, CartItemDTO> (item); if (!_s.IsAvailable) { await _s.LoadAsync().ConfigureAwait(false); } var cartItems = GetCartItems(); if (!Exist(cartItem, cartItems)) { cartItems.Add(cartItem); _s.SetString(_key, JsonConvert.SerializeObject(cartItems)); await _s.CommitAsync().ConfigureAwait(false); } }
public IHttpActionResult PutCartItem(int id, CartItemDTO modded) { if (!CartItemExists(id)) { return(NotFound()); } CartItem old = (from p in db.CartItems where p.Id == id select p).FirstOrDefault(); old.CartId = modded.CartId; old.ProductId = modded.ProductId; old.Quantity = modded.Quantity; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CartItemExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult AddToCart(int id) { if (Session["UserName"] != null) { MyCart cart = Session["cart"] as MyCart; CartItemDTO cartItem = new CartItemDTO(); using (SinemaSitesiEntities db = new SinemaSitesiEntities()) { var data = db.Movie.Where(x => x.ID == id).FirstOrDefault(); cartItem.ID = data.ID; cartItem.Name = data.Name; cartItem.Price = data.Price; cartItem.Amount = 1; cart.Add(cartItem); Session["cart"] = cart; } } else { throw new Exception(); } return(PartialView("_CartButton")); }
public void AddProductToOrder() { DataGridView dgvProducts = form.getDgvProduct(); //Get number of selected grow Int32 selectedRowCount = dgvProducts.Rows.GetRowCount(DataGridViewElementStates.Selected); if (selectedRowCount > 0) { for (int i = 0; i < selectedRowCount; i++) { //get selected row String row = dgvProducts.SelectedRows[i].Index.ToString(); int rowInt = int.Parse(row); //get product from list product TblProductsDTO product = listProducts[rowInt]; //new list product order if (listProductOrder == null) { listProductOrder = new List <CartItemDTO>(); } CartItemDTO item = findProductInOrder(product.idProduct); if (item != null) { if (item.quantity < product.quantity) { //increase quantity item.quantity++; //update totalPrice item.totalPrice = item.quantity * item.price; } else { MessageBox.Show("Quantity of item can't more then quantity of product in stock", "Error"); } } else { item = new CartItemDTO() { idProduct = product.idProduct, name = product.name, price = product.price, quantity = 1, totalPrice = product.price * 1 }; //add product to list product order listProductOrder.Add(item); } } } else { MessageBox.Show("Select product you want to add", "Notification"); } }
static void Main(string[] args) { IList <Stocks> stockItems = InitiateStock(); ActivePromotionDTO activeDiscount = InitiateActivePromotion(); CartItemDTO cartItems = GetCartItems(); logMylogic(stockItems, activeDiscount, ApplyPromotion(stockItems, activeDiscount, cartItems)); }
public IHttpActionResult PostCartItem(CartItemDTO cartItemInfo) { CartItem newCartItem = ToEntity(cartItemInfo); db.CartItems.Add(newCartItem); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = newCartItem.Id }, newCartItem); }
public CartItem MapToCartItem(CartItemDTO parCartItemDTO) { return(new CartItem { CartID = parCartItemDTO.CartID, ProductID = parCartItemDTO.Product.ProductID, Quantity = parCartItemDTO.Quantity }); }
public static CartItem ToCart(this CartItemDTO dto) { return(new CartItem { Id = dto.Id.HasValue ? dto.Id.Value : 0, ProductId = dto.Product.Id.Value, Quantity = dto.Quantity.Value, UserId = dto.UserId }); }
/// <summary> /// Add method. /// </summary> /// <param name="CartItemDTO"></param> /// <returns></returns> public CartItemDTO Add(CartItemDTO CartItemDTO) { var CartDAC = new CartDAC(); CartItemDTO.CreatedBy = CreatedBy; CartItemDTO.CreatedOn = CreatedOn; CartItemDTO.ChangedBy = ChangedBy; CartItemDTO.ChangedOn = ChangedOn; return(CartDAC.Create(CartItemDTO)); }
public IActionResult DeleteCartItem(CartItemDTO cartItemDto) { //List<ProdcutDesignDTO> prdList = JsonConvert.DeserializeObject<List<ProdcutDesignDTO>>(productDesignList); var prr = cartService.DeleteFromCart(cartItemDto.cartItemId, cartItemDto.userId); return(Ok(new MessaageCommonResponse() { message = prr })); }
/// <summary> /// Adds a new product item to cart /// </summary> public async Task <IHttpActionResult> Post(string id, List <CartItemDTO> existingCartItems) { if (string.IsNullOrEmpty(id)) { throw new ArgumentException("Product code is mandatory"); } if (existingCartItems == null) { existingCartItems = new List <CartItemDTO>(); } if (existingCartItems.Where(x => x == null).Any()) { throw new ArgumentException("Cart Item cannot be null"); } CartDTO cart = await _productService.AddProductToCart(id, existingCartItems); List <ProductItemDTO> productDTOs = await _productService.FindAllProducts(); List <DiscountViewModel> listOfDiscounts = CalculateDiscounts(productDTOs, cart); ProductSelectionViewModel res = new ProductSelectionViewModel() { Products = productDTOs.Select(x => new ProductViewModel() { Code = x.Code, Description = x.Description, Price = x.Price, AmountInCart = (cart.CartItems.Where(c => c.Product.Code == x.Code).FirstOrDefault() != null ? cart.CartItems.Where(c => c.Product.Code == x.Code).FirstOrDefault().Quantity : 0) }).ToList(), Total = cart.Total, Discounts = listOfDiscounts, Cart = cart }; foreach (ProductViewModel product in res.Products) { CartItemDTO cartItem = cart.CartItems.Where(x => x.Product.Code == product.Code).FirstOrDefault(); if (cartItem != null) { product.Available = product.AmountInCart < cartItem.Product.AmountInStock; } else { product.Available = productDTOs.Where(x => x.Code == product.Code).FirstOrDefault().AmountInStock > 0; } } return(Json(res)); }
private CartItem ToEntity(CartItemDTO cartItem) { return(new CartItem() { Id = cartItem.Id, CartId = cartItem.CartId, ProductId = cartItem.ProductId, Quantity = cartItem.Quantity }); }
public async Task <IDataResult <CartDTO> > AddToCart(AddToCartDTO model) { var key = _httpContextAccessor.HttpContext.Request.Cookies["key"]?.ToString() ?? Guid.NewGuid().ToString(); string existCart = await _redisManager.GetDb().StringGetAsync(key); CartDTO cart; if (!string.IsNullOrEmpty(existCart)) { cart = JsonSerializer.Deserialize <CartDTO>(existCart); } else { cart = new CartDTO(); } //! Sepette indirim etkinliğini bu satırda kontrol et ve cart'ta ki indirime apply et var existCartItem = cart.CartItems.FirstOrDefault(x => x.ProductId == model.ProductId && x.DemandTypes.SequenceEqual(model.DemandTypes)); if (existCartItem != null) { cart.CartItems.Remove(existCartItem); existCartItem.Quantity += model.Quantity; cart.CartItems.Add(existCartItem); } else { var product = (await _productService.GetByIdAsync(model.ProductId)).Data; product.ProductDemands = null; CartItemDTO cartModel = CartHelper.NewCartItem(product, model); cart.CartItems.Add(cartModel); } TimeSpan expireCart = TimeSpan.FromMinutes(1); var status = await _redisManager.GetDb().StringSetAsync(key, JsonSerializer.Serialize(cart), expireCart); if (!status) { cart = null; } else { _httpContextAccessor.HttpContext.Response.Cookies.Append("key", key, new CookieOptions { Expires = DateTime.Now + expireCart, HttpOnly = true, SameSite = SameSiteMode.Lax, Secure = true }); } return(ResultHelper <CartDTO> .DataResultReturn(cart)); }
private CartItem ToEntity (CartItemDTO ci) { return new CartItem() { Id = ci.Id, ProductId = ci.ProductId, CartId = ci.CartId, Total = ci.Total, Quantity = ci.Quantity }; }
public bool Exist(CartItemDTO itemToAdded, List <CartItemDTO> cardItems) { int i, length = cardItems.Count; for (i = 0; i < length; i += 1) { if (cardItems[i].ItemId == itemToAdded.ItemId) { return(true); } } return(false); }
public async Task AddItemToCart(CartItemDTO item, Guid userId) { ShoppingCart CurrentCart = await _unit.Carts.GetCartByUserId(userId); if (CurrentCart is null) { CurrentCart = new ShoppingCart(userId); await _unit.Carts.CreateCart(CurrentCart); } CurrentCart.AddItem(_mapper.Map <CartItem>(item)); _unit.Carts.Update(CurrentCart); }
/// <summary> /// Get Cart of Customer /// </summary> /// <param name="id"></param> /// <returns></returns> public static CartDTO Cart(Guid id) { try { var cartjoin = (from customer in db.Customers where customer.Id == id join cl in db.CartLines on customer.Id equals cl.CustomerId join p in db.Products on cl.ProductId equals p.Id join pc in db.ProductCategories on p.CategoryId equals pc.Id select new { cl, p, pc }).ToList(); CartDTO cartDTO = new CartDTO(); foreach (var result in cartjoin) { List <String> variants = new List <String>(); foreach (var v in result.p.ProductVariants) { variants.Add(v.Name); } CartItemDTO cartLineDTO = new CartItemDTO() { Id = result.cl.Id, Quantity = result.cl.Quantity, Product = new ProductDTO() { Id = result.p.Id, Name = result.p.Name, Price = result.p.Price, Description = result.p.Description, ImageURL = result.p.ImageURL, TotalQuantitySale = result.p.TotalQuantitySale, Category = new CategoryDTO() { Id = result.pc.Id, Name = result.pc.Name, TotalSaleQuantity = result.pc.TotalSaleQuantity }, Variants = variants } }; cartDTO.items.Add(cartLineDTO); } return(cartDTO); } catch { return(null); } }
public async Task <IDictionary <string, object> > Create(CartItemDTO cartDTO) { // var user = User.; try{ var cart = cartDTO.ToCart(); await _cartRepo.Create(cart); return(Const.Response.ControlerResponse(Const.StatusCode.OK, "Action complete successfully")); } catch (Exception e) { Console.WriteLine(e.ToString()); return(Const.Response.ControlerResponse(Const.StatusCode.InternalServerError, e.ToString())); } }
public ActionResult addCart(CartItemDTO cartItem) { var carrt = cartItem; var cart = Session["cart"];//get key cart // cập nhật số lượng đã bán bảng LoaiSanPham var SP = UtilsDatabase.getDaTaBase().SanPhams.Where(o => o.MaSanPham == Convert.ToInt32(cartItem.MaSanPham)).FirstOrDefault(); if (SP != null) { var LSP = UtilsDatabase.getDaTaBase().LoaiSanPhams.Where(o => o.MaLoai == Convert.ToInt32(SP.MaLoai)).FirstOrDefault(); if (LSP != null) { LSP.SoLuongDaBan = SP.SoLuongDaBan + cartItem.SoLuong; UpdateModel(SP); UtilsDatabase.getDaTaBase().SubmitChanges(); } UpdateModel(SP); UtilsDatabase.getDaTaBase().SubmitChanges(); } if (cart == null) { List <CartItemDTO> listCart = new List <CartItemDTO>(); listCart.Add(cartItem); string jsonCart = JsonConvert.SerializeObject(listCart); Session["cart"] = jsonCart; } else { List <CartItemDTO> listCart = JsonConvert.DeserializeObject <List <CartItemDTO> >(cart.ToString()); bool check = true; for (int i = 0; i < listCart.Count; i++) { if (listCart[i].MaSanPham == cartItem.MaSanPham) { listCart[i].SoLuong += cartItem.SoLuong; check = false; } } if (check) { listCart.Add(cartItem); } string jsonCart = JsonConvert.SerializeObject(listCart); Session["cart"] = jsonCart; } return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> AddItemToCart(CartItemDTO item) { try { var userId = new Guid(_httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value); await _cartService.AddItemToCart(item, userId); return(Ok(200)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <CartItemDTO> UpdateCartItem(CartItemDTO cartItem) { //check if CartItem exists in database (CartItem is a Product Each Product has its related category) var existingCartItem = _context.CartItems.Include(i => i.Product).Include(i => i.Product.Category).Single(e => e.ProductId == cartItem.ProductId); existingCartItem.Quantity = cartItem.Quantity; cartItem.Product = existingCartItem.Product;//To show Product entity in postman await _context.SaveChangesAsync(); return(cartItem); }