public async Task <IActionResult> GetRow(long orderId, long rowId) { OrderRowModel row = await _orders.GetRowInOrder(orderId, rowId); if (row == null) { return(NotFound()); } return(Ok(row)); }
public async Task <IActionResult> AddRow(long id, [FromBody] OrderRowModel row) { try { OrderRowModel createdRow = await _orders.AddRowToOrder(id, row); return(CreatedAtAction( nameof(GetRow), new { orderId = id, rowId = createdRow.Id }, createdRow)); } catch (EntityNotFoundException <OrderModel> ) { return(NotFound()); } }
public ActionResult Checkout(OrderModel model) { if (Session["order"] != null) { OrderModel.AddOrder(OrderModel.ConvertToOrder(model)); var order = OrderModel.GetLastOrder(); foreach (var item in Session["order"] as List <OrderRowModel> ) { item.OrderId = order.Id; OrderRowModel.AddOrderRow(OrderRowModel.ConvertToOrderRow(item)); } Session["order"] = null; return(RedirectToAction("Receipt")); } return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> UpdateRow(long orderId, long rowId, [FromBody] OrderRowModel row) { try { await _orders.UpdateRowInOrder(orderId, rowId, row); return(NoContent()); } catch (EntityNotFoundException <OrderRowModel> ) { return(NotFound()); } catch (EntityNotFoundException <OrderModel> ) { return(NotFound()); } }
public async Task UpdateRowInOrder(long orderId, long rowId, OrderRowModel updatedRow) { if (await OrderExists(orderId) == false) { throw new EntityNotFoundException <OrderModel>(orderId); } OrderRow row = await _db.OrderRows.FirstOrDefaultAsync(r => r.OrderId == orderId && r.Id == rowId); if (row == null) { throw new EntityNotFoundException <OrderRowModel>(rowId); } updatedRow.MapTo(row); await _db.SaveChangesAsync(); }
public async Task <OrderRowModel> AddRowToOrder(long id, OrderRowModel model) { if (await OrderExists(id) == false) { throw new EntityNotFoundException <OrderModel>(id); } var row = new OrderRow(); model.MapTo(row); row.OrderId = id; await _db.OrderRows.AddAsync(row); await _db.SaveChangesAsync(); return(row.MapToDto()); }
public bool AddOrderRow(OrderRowModel order) { using (var connection = new SqliteConnection(_connectionString)) { try { connection.Execute( "INSERT INTO orderRows " + "(guid, productName, productCount, productPrice) " + "VALUES (@guid, @name, @count, @price)", new { guid = order.Guid, name = order.ProductName, count = order.ProductCount, price = order.ProductPrice }); } catch (Exception) { return(false); } } return(true); }
public bool AddOrderRow(OrderRowModel orderRow) { return(_orderRepository.AddOrderRow(orderRow)); }