public PurchasesItem FindById(int id) { query = "SELECT id, product_id, purchase_id, quantity FROM purchases_item WHERE id=@id"; @params = new Dictionary <string, object> { { "@id", id } }; try { object[] result = (object[])base.SelectQuery()[0]; PurchasesItem purchasesItem = new PurchasesItem { Id = (int)result[0], ProductId = (int)result[1], PurchaseId = (int)result[2], Quantity = (int)result[3] }; return(purchasesItem); } catch (ArgumentOutOfRangeException e) { Console.WriteLine("No se encontro el detalle de compra con id {0}", id); } return(null); }
public void ReserveProduct(string sessionId, int productId) { using (var transaction = _transactionFactory.StartTransaction()) { if (_productRepository.GetProduct(productId).Amount <= 0) { transaction.Rollback(); return; } var basket = _basketRepository.GetActiveBasketBySessionId(sessionId); if (basket == null) { var purchasesItems = new List <PurchasesItem>(); var newItem = new PurchasesItem(); newItem.Amount = 1; newItem.ProductId = productId; purchasesItems.Add(newItem); basket = new Basket(); basket.BasketCreation = DateTime.Now; basket.PurchasesItems = purchasesItems; basket.SessionId = sessionId; var product = _productRepository.GetProduct(productId); product.Amount--; _productRepository.UpdateProduct(product); _basketRepository.CreateBasket(basket); } else { var purchasesItem = basket.PurchasesItems.Find(p => { return(p.ProductId == productId); }); if (purchasesItem == null) { var newItem = new PurchasesItem(); newItem.Amount = 1; newItem.ProductId = productId; basket.PurchasesItems.Add(newItem); _basketRepository.UpdateBasket(basket); } else { purchasesItem.Amount++; _basketRepository.UpdateBasket(basket); } var product = _productRepository.GetProduct(productId); product.Amount--; _productRepository.UpdateProduct(product); } transaction.Commit(); } }
public void DeletePurchasesItem(PurchasesItem item) { using (var ctx = new FreeSmokyMarketContext()) { ctx.PurchasesItems.Remove(item); ctx.SaveChanges(); } }
public void CreatePurchasesItem(PurchasesItem item) { using (var ctx = new FreeSmokyMarketContext()) { ctx.PurchasesItems.Add(item); ctx.SaveChanges(); } }
public bool Save(PurchasesItem purchasesItem) { query = "INSERT INTO purchases_item (product_id,purchase_id, quantity)VALUES (@productId,@purchaseId,@quantity)"; @params = new Dictionary <string, object> { { "@productId", purchasesItem.ProductId }, { "@purchaseId", purchasesItem.PurchaseId }, { "@quantity", purchasesItem.Quantity } }; return(base.Execute()); }
/// <summary> /// HACER COMPRA /// </summary> /// <returns></returns> public bool DoPurchases(PurchasesCreateDto purchasesCreateDto) { purchasesDao = new PurchasesDao(); purchasesItemDao = new PurchasesItemDao(); Purchases purchases = new Purchases(purchasesCreateDto.UserId, purchasesCreateDto.ProviderId, purchasesCreateDto.PurchaseTotal); int purchasesId = purchasesDao.Save(purchases); if (purchasesId > 0) { foreach (PurchasesItemCreateDto i in purchasesCreateDto.ProductList) { PurchasesItem pi = new PurchasesItem(i.ProductId, i.PurchaseId, i.Quantity); purchasesItemDao.Save(pi); } } return(false); }
public IList <PurchasesItem> FindAll() { query = "SELECT id,product_id,purchase_id, quantity FROM purchases_item"; @params.Clear(); IList <PurchasesItem> purchasesItem = new List <PurchasesItem>(); ArrayList result = base.SelectQuery(); PurchasesItem purchaseItem; foreach (object[] r in result) { purchaseItem = new PurchasesItem { Id = (int)r[0], ProductId = (int)r[1], PurchaseId = (int)r[2], Quantity = (int)r[3] }; purchasesItem.Add(purchaseItem); } return(purchasesItem); }
public IList <PurchasesItem> FindByPurchaseId(int purchaseId) { query = "SELECT id, product_id, purchase_id, quantity FROM purchases_item WHERE purchase_id=@purchaseId"; @params = new Dictionary <string, object> { { "@purchaseId", purchaseId } }; IList <PurchasesItem> purchasesItem = new List <PurchasesItem>(); ArrayList result = base.SelectQuery(); PurchasesItem purchaseItem; foreach (object[] r in result) { purchaseItem = new PurchasesItem { Id = (int)r[0], ProductId = (int)r[1], PurchaseId = (int)r[2], Quantity = (int)r[3] }; purchasesItem.Add(purchaseItem); } return(purchasesItem); }