public async Task <IActionResult> PutToOrderDetails([FromODataUri] int orderID, [FromODataUri] int productID, [FromBody] OrderDetail orderDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (orderID != orderDetail.OrderID || productID != orderDetail.ProductID) { return(BadRequest()); } var repository = new OrderDetailsRepository(_context); await repository.Update(orderDetail); try { repository.Save(); } catch (DbUpdateConcurrencyException) { if (!OrderDetailExists(orderID, productID)) { return(NotFound()); } else { throw; } } return(Updated(orderDetail)); }
public async Task <IActionResult> PostToOrderDetails([FromODataUri] int keyOrderID, [FromBody] OrderDetail orderdetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (orderdetail == null) { return(BadRequest()); } var repository = new OrderDetailsRepository(_context); try { await repository.Insert(orderdetail); repository.Save(); return(Created(orderdetail)); } catch (Exception e) { return(BadRequest(new { message = e.Message.Replace('{', '(').Replace('}', ')') })); } }
public async Task <IActionResult> PatchToOrderDetails([FromODataUri] int orderID, [FromODataUri] int productID, [FromBody] Delta <OrderDetail> orderDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var repository = new OrderDetailsRepository(_context); OrderDetail entity = await repository.GetById(new { OrderID = orderID, ProductID = productID }); if (entity == null) { return(NotFound()); } orderDetail.Patch(entity); try { repository.Save(); } catch (DbUpdateConcurrencyException) { if (!OrderDetailExists(orderID, productID)) { return(NotFound()); } else { throw; } } return(Updated(entity)); }
public async Task <ActionResult> Create([FromBody] OrderDetail orderDetail) { if (ModelState.IsValid) { if (orderDetail == null) { return(BadRequest()); } var repository = new OrderDetailsRepository(_context); try { await repository.Insert(orderDetail); repository.Save(); return(NoContent()); } catch (Exception e) { return(BadRequest(new { message = e.Message.Replace('{', '(').Replace('}', ')') })); } } return(BadRequest(new { message = "ModelState is not valid" })); }
public async Task <ActionResult> UpdateOrderDetail(int orderId, int productId, [FromBody] OrderDetail orderDetail) { if (ModelState.IsValid) { if (orderDetail == null || orderDetail.OrderID != orderId || orderDetail.ProductID != productId) { return(BadRequest()); } var repository = new OrderDetailsRepository(_context); try { await repository.Update(orderDetail); repository.Save(); return(NoContent()); } catch (Exception e) { return(BadRequest(new { message = e.Message.Replace('{', '(').Replace('}', ')') })); } } return(BadRequest(new { message = "ModelState is not valid" })); }
public async Task <ActionResult> Delete(int orderId, int productId) { var repository = new OrderDetailsRepository(_context); OrderDetail orderDetail = await repository.GetById(new { OrderID = orderId, ProductID = productId }); if (orderDetail == null) { return(NotFound()); } try { repository.Delete(orderDetail); repository.Save(); return(NoContent()); } catch (Exception e) { return(BadRequest(new { message = e.Message.Replace('{', '(').Replace('}', ')') })); } }
public ActionResult CreateOrderDetail(int id, CreateOrderDetail orderDetail) { if (ModelState.IsValid) { using (MySqlConnection conn = DBUtils.GetConnection()) { OrderDetails orderdet = new OrderDetails(); orderdet.OrderID = orderDetail.OrderID; orderdet.ProductID = orderDetail.ProductID; orderdet.Quantity = orderDetail.Quantity; orderdet.UnitPrice = orderDetail.UnitPrice; orderdet.Discount = 0; OrderDetailsRepository orderRepo = new OrderDetailsRepository(conn); orderRepo.Save(orderdet); } return(RedirectToAction("OrderDetails", new { id = orderDetail.OrderID })); } using (MySqlConnection conn = DBUtils.GetConnection()) { DisplayProductRepository product = new DisplayProductRepository(conn); orderDetail.ProductList = product.GetAll().ToList <DisplayProduct>(); } return(View(orderDetail)); }
public async Task Update(OrderDetail item) { using (var context = new NorthwindDbContext(_options)) { var repository = new OrderDetailsRepository(context); await repository.Update(item); repository.Save(); } }
public async Task Delete(params object[] keys) { using (var context = new NorthwindDbContext(_options)) { var order = await Get(keys); var repository = new OrderDetailsRepository(context); repository.Delete(order); repository.Save(); } }
public async Task <ActionResult> DeleteToOrderDetails([FromODataUri] int orderID, [FromODataUri] int productID) { var repository = new OrderDetailsRepository(_context); OrderDetail orderDetail = await repository.GetById(new { OrderID = orderID, ProductID = productID }); if (orderDetail == null) { return(NotFound()); } repository.Delete(orderDetail); repository.Save(); return(StatusCode((int)HttpStatusCode.NoContent)); }
public async Task Update(OrderDetail item) { using (var context = new NorthwindDbContext(_options)) { try { var repository = new OrderDetailsRepository(context); await repository.Update(item); repository.Save(); } catch (Exception e) { throw new GridException(e); } } }
public async Task Delete(params object[] keys) { using (var context = new NorthwindDbContext(_options)) { try { var order = await Get(keys); var repository = new OrderDetailsRepository(context); repository.Delete(order); repository.Save(); } catch (Exception) { throw new GridException("Error deleting the order detail"); } } }
public void GetById() { try { var options = CreateNewContextOptions(); Order order; var obj = new { Id = 1, Name = "Hat", Price = 200 }; using (var db = new OrderContext(options)) { var contact = ProcessingTestHelper.GenerateContact(); ProcessingTestHelper.PopulateDefaultOrderCtx(db); var orderState = db.OrderStates.First(); var payment = db.PaymentMethods.First(); var delivery = db.DeliveryMethods.First(); var zone = db.DeliveryZones.First(); order = ProcessingTestHelper.GenerateOrder(contact, orderState, payment, delivery, zone); db.Orders.Add(order); db.SaveChanges(); } using (var db = new OrderContext(options)) { var repository = new OrderDetailsRepository(db); var item = ProcessingTestHelper.GenerateOrderDetail(order, obj); Assert.DoesNotThrow(() => repository.Save(item)); Assert.DoesNotThrow(() => item = repository.GetById(item.Id)); Assert.DoesNotThrow(() => repository.Delete(item)); Assert.NotNull(item); Assert.Greater(item.Id, 0); } } catch (Exception ex) { LogEventManager.Logger.Error(ex); throw; } }