public async Task <Models.Products.Product> Create(Models.Products.Product model, CancellationToken cancellationToken = default) { var product = await DbContext.Products.AddAsync(Map(model), cancellationToken); await DbContext.SaveChangesAsync(cancellationToken); return(Map(product.Entity)); }
private static Persistence.EntityFramework.Entities.Product Map(Models.Products.Product modelProduct) { return(new Persistence.EntityFramework.Entities.Product() { ProductId = modelProduct.ProductId, ProductName = modelProduct.ProductName, UnitPrice = modelProduct.UnitPrice, }); }
public async Task Delete(Models.Products.Product model, CancellationToken cancellationToken = default) { var productDb = await DbContext.Products .Where(x => x.ProductId == model.ProductId) .FirstOrDefaultAsync(cancellationToken); DbContext.Products.Remove(productDb); await DbContext.SaveChangesAsync(cancellationToken); }
public async Task <Models.Products.Product> Edit(Models.Products.Product model, CancellationToken cancellationToken = default) { var productDb = await DbContext.Products .FirstOrDefaultAsync(x => x.ProductId == model.ProductId, cancellationToken); productDb = DbContext.Products.Update(Map(productDb, model)).Entity; await DbContext.SaveChangesAsync(cancellationToken); return(Map(productDb)); }
public CostumerCart EditProductQuantity(Models.Users.User user, Models.Products.Product product, int quantity, CancellationToken cancellationToken = default) { var toEdit = Cache.Get <CostumerCart>(user.UserId); var foundProduct = toEdit.CartProducts.FirstOrDefault(x => x.Product.ProductId == product.ProductId); if (foundProduct != null) { if (quantity > 0) { foundProduct.Quantity = quantity; } else { toEdit.CartProducts.Remove(foundProduct); } } Cache.Set(user.UserId, toEdit); return(toEdit); }
public CostumerCart AddProduct(Models.Users.User user, Models.Products.Product product, CancellationToken cancellationToken = default) { var toEdit = Cache.Get <CostumerCart>(user.UserId); var foundProduct = toEdit.CartProducts.FirstOrDefault(x => x.Product.ProductId == product.ProductId); if (foundProduct != null) { ++foundProduct.Quantity; } else { toEdit.CartProducts.Add(new OrderProduct() { Product = product, Quantity = 1 }); } Cache.Set(user.UserId, toEdit); return(toEdit); }
public ProductInCartSpec(Models.Products.Product product) { this._product = product; }
private static Persistence.EntityFramework.Entities.Product Map(Persistence.EntityFramework.Entities.Product productDb, Models.Products.Product modelProduct) { productDb.ProductName = modelProduct.ProductName; productDb.UnitPrice = modelProduct.UnitPrice; return(productDb); }