public void TestCanAddNewOrder() { // prepare var ordersProduct = new OrdersProduct(14, 8.1818m) { Item_id = 3, Order_id = 29 }; IOrdersProductRepository repository = new OrdersProductRepository(); // run repository.Add(ordersProduct); // validate // use session to try to load the product using (ISession session = _sessionFactory.OpenSession()) { var fromDb = session.Get <OrdersProduct>(ordersProduct.Id); // Test that the product was successfully inserted Assert.IsNotNull(fromDb); Assert.AreNotSame(ordersProduct, fromDb); Assert.AreEqual(ordersProduct.Id, fromDb.Id); Assert.AreEqual(ordersProduct.Amount, fromDb.Amount); } }
public void TestCanUpdate() { //Prepare OrdersProduct originalOrdersProduct = new OrdersProduct(2, 10m) { Item_id = 3, Order_id = 29 }; OrdersProduct testOrdersProduct = new OrdersProduct(3, 8.1818m) { Item_id = 3, Order_id = 29 }; OrdersProductRepository repository = new OrdersProductRepository(); //Run using (ISession session = _sessionFactory.OpenSession()) { session.Save(originalOrdersProduct); testOrdersProduct.Id = originalOrdersProduct.Id; repository.Update(testOrdersProduct); } //Validate using (ISession session = _sessionFactory.OpenSession()) { //second session is used so fromDB get to take the changed table entry var fromDb = session.Get <OrdersProduct>(originalOrdersProduct.Id); Assert.IsNotNull(fromDb); Assert.AreEqual(testOrdersProduct.Amount, fromDb.Amount); } }
private void OpenFilter() { if (!(OrdersProduct is null)) { OrdersProduct.Clear(); } LoadOrdersAsync(); OpenFilterWindow?.Invoke(this, EventArgs.Empty); }
public ActionResult Index(ProductModel model) { using (AppStoreEntities entities = new AppStoreEntities()) { if (User.Identity.IsAuthenticated) { AspNetUser currentUser = entities.AspNetUsers.Single(x => x.UserName == User.Identity.Name); Order o = currentUser.Orders.FirstOrDefault(x => x.TimeCompleted == null); if (o == null) { o = new Order(); o.OrderNumber = Guid.NewGuid(); currentUser.Orders.Add(o); } var product = o.OrdersProducts.FirstOrDefault(x => x.ProductID == model.ID); if (product == null) { product = new OrdersProduct(); product.ProductID = model.ID ?? 0; product.Quantity = 0; o.OrdersProducts.Add(product); } product.Quantity += 1; } else { Order o = null; if (Request.Cookies.AllKeys.Contains("orderNumber")) { Guid orderNumber = Guid.Parse(Request.Cookies["orderNumber"].Value); o = entities.Orders.FirstOrDefault(x => x.TimeCompleted == null && x.OrderNumber == orderNumber); } if (o == null) { o = new Order(); o.OrderNumber = Guid.NewGuid(); entities.Orders.Add(o); Response.Cookies.Add(new HttpCookie("orderNumber", o.OrderNumber.ToString())); } var product = o.OrdersProducts.FirstOrDefault(x => x.ProductID == model.ID); if (product == null) { product = new OrdersProduct(); product.ProductID = model.ID ?? 0; product.Quantity = 0; o.OrdersProducts.Add(product); } product.Quantity += 1; } entities.SaveChanges(); TempData.Add("AddedToCart", true); } return(RedirectToAction("Index", "Cart")); }
////////// public ActionResult RemoveItem(int?id) { using (AppStoreEntities entities = new AppStoreEntities()) { if (User.Identity.IsAuthenticated) { AspNetUser currentUser = entities.AspNetUsers.Single(x => x.UserName == User.Identity.Name); Order o = currentUser.Orders.FirstOrDefault(x => x.TimeCompleted == null); OrdersProduct item = o.OrdersProducts.FirstOrDefault(x => x.ProductID == id); if (item.Quantity == 1) { item.Product.OrdersProducts = null; if (o.OrdersProducts.Count == 1) { o.OrdersProducts = null; } } else { item.Quantity -= 1; } } else { if (Request.Cookies.AllKeys.Contains("orderNumber")) { Guid orderNumber = Guid.Parse(Request.Cookies["orderNumber"].Value); Order o = entities.Orders.FirstOrDefault(x => x.TimeCompleted == null && x.OrderNumber == orderNumber); OrdersProduct item = o.OrdersProducts.FirstOrDefault(x => x.ProductID == id); if (item.Quantity == 1) { item.Product.OrdersProducts = null; if (o.OrdersProducts.Count == 1) { o.OrdersProducts = null; } } else { item.Quantity -= 1; } } } entities.SaveChanges(); } return(RedirectToAction("Index", "Cart")); }
public void Remove(OrdersProduct ordersProduct) { using (var session = NHibernateSession.OpenSession()) { using (var tx = session.BeginTransaction()) // met transactions { try { session.Delete(ordersProduct); tx.Commit(); } catch (Exception ex) { tx.Rollback(); throw ex; } } } }
public void Add(OrdersProduct ordersProduct) { using (var session = NHibernateSession.OpenSession()) { //session.Save(product); // zonder transactions using (var tx = session.BeginTransaction()) // met transactions { try { session.Save(ordersProduct); tx.Commit(); } catch (Exception ex) { tx.Rollback(); throw ex; } } } }
public void TestGetById() { // prepare OrdersProduct ordersProduct = new OrdersProduct(1, 8.1818m) { Item_id = 3, Order_id = 29 }; using (ISession session = _sessionFactory.OpenSession()) { session.Save(ordersProduct); } IPurchaseRepository repository = new PurchaseRepository(); // run var result = repository.GetById(ordersProduct.Id); // validate Assert.NotNull(result); Assert.AreEqual(ordersProduct, result); }
private async Task ChangeStateOfOrderAsync() { try { var order = (OrderDto)SelectedOrder; order.Items = OrdersProduct.ToList(); if (await _service.FullFillOrders(order)) { LoadOrdersAsync(); if (SelectedSubCat != null) { LoadProductAsync(SelectedSubCat); } } } catch (Exception ex) when(ex is NetworkException || ex is HttpRequestException) { OnMessageApplication($"Unexpected error occured! ({ex.Message})"); } }
public void TestCanDelete() { //prepare OrdersProduct testOrdersProduct = new OrdersProduct(4, 8.1818m) { Item_id = 3, Order_id = 29 }; OrdersProductRepository repository = new OrdersProductRepository(); //run using (ISession session = _sessionFactory.OpenSession()) { session.Save(testOrdersProduct); repository.Remove(testOrdersProduct); } //validate using (ISession session = _sessionFactory.OpenSession()) { var fromDb = session.Get <Purchase>(testOrdersProduct.Id); Assert.IsNull(fromDb); } }
public ActionResult Create(CartModelView collection) { try { var pro = ComicDB.GetStoreProduct(collection.Product.Id); var product = new OrdersProduct { Name = pro.Name, Price = pro.Price, InventorySize = 1, OrdersId = ComicDB.GetOrderss() }; ComicDB.ProuductAdded(collection.Product); ComicDB.AddOrderProduct(product); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }