Exemple #1
0
        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));
        }
Exemple #2
0
 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,
     });
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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;
 }
Exemple #8
0
        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);
        }