Added a few controllers and views
This commit is contained in:
124
Views/Order/Details.cshtml
Normal file
124
Views/Order/Details.cshtml
Normal file
@@ -0,0 +1,124 @@
|
||||
@model OneForMe.Models.Order
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Order Details";
|
||||
}
|
||||
|
||||
<div class="container mt-5">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-body">
|
||||
<h2>@Model.CreatorName</h2>
|
||||
<p class="text-muted">Order Code: <strong>@Model.OrderCode</strong></p>
|
||||
<p>Created by: <strong>@Model.CreatorName</strong></p>
|
||||
<p>Status: <span class="badge @(Model.IsClosed ? "bg-danger" : "bg-success")">@(Model.IsClosed ? "Closed" : "Open")</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h5 class="mb-0">Menu Items</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@if (Model.MenuItems.Any())
|
||||
{
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Item</th>
|
||||
<th>Price</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model.MenuItems)
|
||||
{
|
||||
<tr>
|
||||
<td>@item.Name</td>
|
||||
<td>$@item.Price.ToString("F2")</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p class="text-muted">No items added yet</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow">
|
||||
<div class="card-header bg-info text-white">
|
||||
<h5 class="mb-0">Orders (@Model.OrderItems.Count)</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@if (Model.OrderItems.Any())
|
||||
{
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Participant</th>
|
||||
<th>Item</th>
|
||||
<th>Qty</th>
|
||||
<th>Total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var orderItem in Model.OrderItems)
|
||||
{
|
||||
<tr>
|
||||
<td>@orderItem.ParticipantName</td>
|
||||
<td>@orderItem.MenuItem?.Name</td>
|
||||
<td>@orderItem.Quantity</td>
|
||||
<td>$@(orderItem.MenuItem?.Price * orderItem.Quantity ?? 0).ToString("F2")</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p class="text-muted">No orders yet</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow mb-4 bg-light">
|
||||
<div class="card-body">
|
||||
<h5>Share Order</h5>
|
||||
<p>Send this link to others:</p>
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="shareLink" value="@(Context.Request.Scheme)://@(Context.Request.Host)/order/join?code=@Model.OrderCode" readonly>
|
||||
<button class="btn btn-outline-primary" onclick="copyToClipboard()">Copy</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-body">
|
||||
<h5>Quick Stats</h5>
|
||||
<p>Total Items: <strong>@Model.MenuItems.Count</strong></p>
|
||||
<p>Total Orders: <strong>@Model.OrderItems.Count</strong></p>
|
||||
<p>Total Revenue: <strong>$@Model.OrderItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (!Model.IsClosed)
|
||||
{
|
||||
<a href="#" class="btn btn-danger w-100">Close Order</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function copyToClipboard() {
|
||||
const link = document.getElementById('shareLink');
|
||||
link.select();
|
||||
document.execCommand('copy');
|
||||
alert('Link copied to clipboard!');
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user