Edit.cshtml
4,468 bytes
| 1 | @model App.BLL.DTO.ExpenseBllDto |
|---|---|
| 2 | |
| 3 | @{ |
| 4 | ViewData["Title"] = Localizer["Edit Expense"]; |
| 5 | var tripId = (Guid)ViewData["TripId"]!; |
| 6 | } |
| 7 | |
| 8 | <div class="row justify-content-center"> |
| 9 | <div class="col-md-8 col-lg-6"> |
| 10 | <div class="sa-card-static sa-card-accent sa-card-accent-primary"> |
| 11 | <div class="sa-card-body" style="padding: var(--sa-space-8);"> |
| 12 | <div class="text-center mb-4"> |
| 13 | <div style="font-size: 2rem; color: var(--sa-primary); margin-bottom: var(--sa-space-2);"> |
| 14 | <i class="bi bi-pencil-square"></i> |
| 15 | </div> |
| 16 | <h1 style="font-size: 1.5rem; margin-bottom: 4px;">@Localizer["Edit Expense"]</h1> |
| 17 | </div> |
| 18 | |
| 19 | <form asp-action="Edit" data-sa-loading> |
| 20 | <div asp-validation-summary="ModelOnly" class="text-danger"></div> |
| 21 | <input type="hidden" asp-for="Id" /> |
| 22 | <input type="hidden" asp-for="TripId" /> |
| 23 | |
| 24 | <!-- Amount --> |
| 25 | <div class="text-center mb-4"> |
| 26 | <label asp-for="Amount" class="form-label" style="text-align: center; display: block;">@Localizer["Amount"]</label> |
| 27 | <input asp-for="Amount" type="number" step="0.01" min="0.01" |
| 28 | class="form-control sa-amount-input" placeholder="0.00" /> |
| 29 | <span asp-validation-for="Amount" class="text-danger"></span> |
| 30 | </div> |
| 31 | |
| 32 | <div class="row mb-3"> |
| 33 | <div class="col-md-6 mb-3 mb-md-0"> |
| 34 | <label asp-for="PaidByUserId" class="form-label">@Localizer["Who Paid"]</label> |
| 35 | <select asp-for="PaidByUserId" asp-items="@((SelectList)ViewData["PaidByUserId"]!)" class="form-select"></select> |
| 36 | <span asp-validation-for="PaidByUserId" class="text-danger"></span> |
| 37 | </div> |
| 38 | <div class="col-md-6"> |
| 39 | <label asp-for="ExpenseDate" class="form-label">@Localizer["Date"]</label> |
| 40 | <input asp-for="ExpenseDate" type="date" class="form-control" /> |
| 41 | </div> |
| 42 | </div> |
| 43 | |
| 44 | <div class="mb-3"> |
| 45 | <label asp-for="Description" class="form-label">@Localizer["Description"]</label> |
| 46 | <input asp-for="Description" class="form-control" /> |
| 47 | <span asp-validation-for="Description" class="text-danger"></span> |
| 48 | </div> |
| 49 | |
| 50 | <div class="row mb-3"> |
| 51 | <div class="col-md-6 mb-3 mb-md-0"> |
| 52 | <label asp-for="BudgetCategoryId" class="form-label">@Localizer["Category"]</label> |
| 53 | <select asp-for="BudgetCategoryId" asp-items="@((SelectList)ViewData["BudgetCategoryId"]!)" class="form-select"> |
| 54 | <option value="">@Localizer["No category"]</option> |
| 55 | </select> |
| 56 | </div> |
| 57 | <div class="col-md-6"> |
| 58 | <label asp-for="CurrencyId" class="form-label">@Localizer["Currency"]</label> |
| 59 | <select asp-for="CurrencyId" asp-items="@((SelectList)ViewData["CurrencyId"]!)" class="form-select"> |
| 60 | <option value="">@Localizer["Trip default"]</option> |
| 61 | </select> |
| 62 | </div> |
| 63 | </div> |
| 64 | |
| 65 | <div class="mb-4"> |
| 66 | <label asp-for="SplitMethod" class="form-label">@Localizer["Split Method"]</label> |
| 67 | <select asp-for="SplitMethod" asp-items="@((SelectList)ViewData["SplitMethods"]!)" class="form-select"></select> |
| 68 | </div> |
| 69 | |
| 70 | <div class="d-flex gap-3"> |
| 71 | <button type="submit" class="sa-btn sa-btn-primary flex-grow-1"> |
| 72 | <i class="bi bi-check-lg"></i> @Localizer["Save"] |
| 73 | </button> |
| 74 | <a asp-action="Index" asp-route-tripId="@tripId" class="sa-btn sa-btn-ghost">@Localizer["Cancel"]</a> |
| 75 | </div> |
| 76 | </form> |
| 77 | </div> |
| 78 | </div> |
| 79 | </div> |
| 80 | </div> |
| 81 | |
| 82 | @section Scripts { |
| 83 | <partial name="_ValidationScriptsPartial" /> |
| 84 | } |
| 85 | |