75 lines
3.1 KiB
Plaintext
75 lines
3.1 KiB
Plaintext
@using Groceries.Data;
|
|
@using Microsoft.EntityFrameworkCore;
|
|
|
|
@model Transaction
|
|
@inject AppDbContext dbContext
|
|
@{
|
|
ViewBag.Title = "New Transaction";
|
|
|
|
var store = await dbContext.Stores
|
|
.Where(store => store.Id == Model.StoreId)
|
|
.Select(store => string.Concat(store.Retailer!.Name, " ", store.Name))
|
|
.SingleAsync();
|
|
}
|
|
|
|
<h1>New Transaction</h1>
|
|
|
|
<div class="form-field">@Model.CreatedAt.ToShortDateString() @Model.CreatedAt.ToLongTimeString() – @store</div>
|
|
|
|
<form method="post" asp-action="NewTransactionPromotions">
|
|
<div class="card form-field">
|
|
<div class="card__header row">
|
|
<h2 class="row__fill">Promotions</h2>
|
|
<a class="button button--primary" asp-action="NewTransactionPromotion" autofocus data-turbo-frame="modal">
|
|
New promotion
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card__content card__content--table">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="table__header" style="width: 100%">Name</th>
|
|
<th scope="col" class="table__header">Items</th>
|
|
<th scope="col" class="table__header">Amount</th>
|
|
<th scope="col" class="table__header"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var promotion in Model.Promotions)
|
|
{
|
|
<tr>
|
|
<td class="table__cell table__cell--compact">
|
|
@promotion.Name
|
|
</td>
|
|
<td class="table__cell table__cell--compact table__cell--numeric">
|
|
@promotion.Items.Sum(item => Model.Items.Single(i => i.ItemId == item.Id).Quantity)
|
|
</td>
|
|
<td class="table__cell table__cell--compact table__cell--numeric">
|
|
@(-promotion.Amount)
|
|
</td>
|
|
<td class="table__cell table__cell--compact">
|
|
<a class="link" asp-action="EditTransactionPromotion" asp-route-id="@promotion.Id" data-turbo-frame="modal">Edit</a>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td class="table__cell table__cell--compact table__cell--total" colspan="3">Total</td>
|
|
<td class="table__cell table__cell--compact table__cell--numeric table__cell--total">
|
|
@Model.Total.ToString("c")
|
|
</td>
|
|
<td class="table__cell table__cell--compact"></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<button class="button button--primary" type="submit" @(Model.Items.Count == 0 ? "disabled" : "")>Save</button>
|
|
<a class="button" asp-action="NewTransactionItems">Back</a>
|
|
</div>
|
|
</form>
|