Init commit
This commit is contained in:
parent
9ab798fd0f
commit
1f50fedb80
87 changed files with 75678 additions and 0 deletions
71
Views/LawnCareEvents/Create.cshtml
Normal file
71
Views/LawnCareEvents/Create.cshtml
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
@model turf_tasker.Models.LawnCareEvent
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Create";
|
||||
}
|
||||
|
||||
<h1>Create</h1>
|
||||
|
||||
<h4>LawnCareEvent</h4>
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<form asp-action="Create">
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
<div class="form-group">
|
||||
<label asp-for="EventType" class="control-label"></label>
|
||||
<select asp-for="EventType" class="form-control" asp-items="Html.GetEnumSelectList<LawnCareEventType>()"></select>
|
||||
<span asp-validation-for="EventType" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="EventDate" class="control-label"></label>
|
||||
<input asp-for="EventDate" class="form-control" />
|
||||
<span asp-validation-for="EventDate" class="text-danger"></span>
|
||||
</div>
|
||||
<div id="mowingPatternGroup">
|
||||
<div class="form-group">
|
||||
<label asp-for="MowingPattern" class="control-label"></label>
|
||||
<select asp-for="MowingPattern" class="form-control" asp-items="Html.GetEnumSelectList<MowingPattern>()"></select>
|
||||
<span asp-validation-for="MowingPattern" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Notes" class="control-label"></label>
|
||||
<textarea asp-for="Notes" class="form-control"></textarea>
|
||||
<span asp-validation-for="Notes" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group mt-3">
|
||||
<input type="submit" value="Create" class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a asp-action="Index">Back to List</a>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
|
||||
function toggleMowingPattern() {
|
||||
var selectedEventType = $("#EventType").val();
|
||||
|
||||
if (selectedEventType == '0') { // '0' corresponds to Mowing
|
||||
$("#mowingPatternGroup").show();
|
||||
} else {
|
||||
$("#mowingPatternGroup").hide();
|
||||
}
|
||||
}
|
||||
|
||||
toggleMowingPattern();
|
||||
|
||||
$("#EventType").on("change", function () {
|
||||
toggleMowingPattern();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
45
Views/LawnCareEvents/Delete.cshtml
Normal file
45
Views/LawnCareEvents/Delete.cshtml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
@model turf_tasker.Models.LawnCareEvent
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Delete";
|
||||
}
|
||||
|
||||
<h1>Delete</h1>
|
||||
|
||||
<h3>Are you sure you want to delete this?</h3>
|
||||
<div>
|
||||
<h4>Lawn Care Event</h4>
|
||||
<hr />
|
||||
<dl class="row">
|
||||
<dt class = "col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.EventType)
|
||||
</dt>
|
||||
<dd class = "col-sm-10">
|
||||
@Html.DisplayFor(model => model.EventType)
|
||||
</dd>
|
||||
<dt class = "col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.EventDate)
|
||||
</dt>
|
||||
<dd class = "col-sm-10">
|
||||
@Html.DisplayFor(model => model.EventDate)
|
||||
</dd>
|
||||
<dt class = "col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.MowingPattern)
|
||||
</dt>
|
||||
<dd class = "col-sm-10">
|
||||
@Html.DisplayFor(model => model.MowingPattern)
|
||||
</dd>
|
||||
<dt class = "col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.Notes)
|
||||
</dt>
|
||||
<dd class = "col-sm-10">
|
||||
@Html.DisplayFor(model => model.Notes)
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<form asp-action="Delete">
|
||||
<input type="hidden" asp-for="Id" />
|
||||
<input type="submit" value="Delete" class="btn btn-danger" /> |
|
||||
<a asp-action="Index">Back to List</a>
|
||||
</form>
|
||||
</div>
|
||||
83
Views/LawnCareEvents/Details.cshtml
Normal file
83
Views/LawnCareEvents/Details.cshtml
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
@model turf_tasker.Models.LawnCareEvent
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Edit";
|
||||
}
|
||||
|
||||
<h1>Edit</h1>
|
||||
|
||||
<h4>Lawn Care Event</h4>
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<form asp-action="Edit">
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
|
||||
<!-- This hidden field is essential for the update to work -->
|
||||
<input type="hidden" asp-for="Id" />
|
||||
|
||||
<div class="form-group mb-3">
|
||||
<label asp-for="EventType" class="control-label"></label>
|
||||
<select asp-for="EventType" class="form-control" asp-items="Html.GetEnumSelectList<LawnCareEventType>()"></select>
|
||||
<span asp-validation-for="EventType" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group mb-3">
|
||||
<label asp-for="EventDate" class="control-label"></label>
|
||||
<input asp-for="EventDate" class="form-control" />
|
||||
<span asp-validation-for="EventDate" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<!-- Wrapper div for our conditional JavaScript logic -->
|
||||
<div id="mowingPatternGroup">
|
||||
<div class="form-group mb-3">
|
||||
<label asp-for="MowingPattern" class="control-label"></label>
|
||||
<select asp-for="MowingPattern" class="form-control" asp-items="Html.GetEnumSelectList<MowingPattern>()"></select>
|
||||
<span asp-validation-for="MowingPattern" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-3">
|
||||
<label asp-for="Notes" class="control-label"></label>
|
||||
<textarea asp-for="Notes" class="form-control"></textarea>
|
||||
<span asp-validation-for="Notes" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" value="Save" class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
<a asp-action="Index">Back to List</a>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<script type="text/javascript">
|
||||
// This script ensures the Mowing Pattern field only shows up
|
||||
// when the "Mowing" activity type is selected.
|
||||
$(document).ready(function () {
|
||||
|
||||
function toggleMowingPattern() {
|
||||
// LawnCareEventType.Mowing has an integer value of 0
|
||||
var selectedEventType = $("#EventType").val();
|
||||
|
||||
if (selectedEventType == '0') { // '0' corresponds to Mowing
|
||||
$("#mowingPatternGroup").show();
|
||||
} else {
|
||||
$("#mowingPatternGroup").hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Run the function once on page load to set the correct initial state
|
||||
toggleMowingPattern();
|
||||
|
||||
// Re-run the function every time the dropdown value changes
|
||||
$("#EventType").on("change", function () {
|
||||
toggleMowingPattern();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
72
Views/LawnCareEvents/Edit.cshtml
Normal file
72
Views/LawnCareEvents/Edit.cshtml
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
@model turf_tasker.Models.LawnCareEvent
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Edit";
|
||||
}
|
||||
|
||||
<h1>Edit</h1>
|
||||
|
||||
<h4>LawnCareEvent</h4>
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<form asp-action="Edit">
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
<input type="hidden" asp-for="Id" />
|
||||
<div class="form-group">
|
||||
<label asp-for="EventType" class="control-label"></label>
|
||||
<select asp-for="EventType" class="form-control" asp-items="Html.GetEnumSelectList<LawnCareEventType>()"></select>
|
||||
<span asp-validation-for="EventType" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="EventDate" class="control-label"></label>
|
||||
<input asp-for="EventDate" class="form-control" />
|
||||
<span asp-validation-for="EventDate" class="text-danger"></span>
|
||||
</div>
|
||||
<div id="mowingPatternGroup">
|
||||
<div class="form-group">
|
||||
<label asp-for="MowingPattern" class="control-label"></label>
|
||||
<select asp-for="MowingPattern" class="form-control" asp-items="Html.GetEnumSelectList<MowingPattern>()"></select>
|
||||
<span asp-validation-for="MowingPattern" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Notes" class="control-label"></label>
|
||||
<textarea asp-for="Notes" class="form-control"></textarea>
|
||||
<span asp-validation-for="Notes" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group mt-3">
|
||||
<input type="submit" value="Save" class="btn btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a asp-action="Index">Back to List</a>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
|
||||
function toggleMowingPattern() {
|
||||
var selectedEventType = $("#EventType").val();
|
||||
|
||||
if (selectedEventType == '0') { // '0' corresponds to Mowing
|
||||
$("#mowingPatternGroup").show();
|
||||
} else {
|
||||
$("#mowingPatternGroup").hide();
|
||||
}
|
||||
}
|
||||
|
||||
toggleMowingPattern();
|
||||
|
||||
$("#EventType").on("change", function () {
|
||||
toggleMowingPattern();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
73
Views/LawnCareEvents/Index.cshtml
Normal file
73
Views/LawnCareEvents/Index.cshtml
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
@model IEnumerable<turf_tasker.Models.LawnCareEvent>
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Lawn Care Log";
|
||||
}
|
||||
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
|
||||
<p>
|
||||
<a asp-action="Create" class="btn btn-primary">Create New Event</a>
|
||||
</p>
|
||||
|
||||
<!-- Add the search form -->
|
||||
<form asp-action="Index" method="get">
|
||||
<div class="form-actions no-color">
|
||||
<p>
|
||||
Find by type or note:
|
||||
<input type="text" name="searchString" value="@ViewData["CurrentFilter"]" />
|
||||
<input type="submit" value="Search" class="btn btn-secondary" /> |
|
||||
<a asp-action="Index">Back to Full List</a>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<!-- Make the header a clickable link for sorting -->
|
||||
<a asp-action="Index" asp-route-sortOrder="@ViewData["TypeSortParm"]" asp-route-searchString="@ViewData["CurrentFilter"]">
|
||||
@Html.DisplayNameFor(model => model.EventType)
|
||||
</a>
|
||||
</th>
|
||||
<th>
|
||||
<!-- Make the header a clickable link for sorting -->
|
||||
<a asp-action="Index" asp-route-sortOrder="@ViewData["DateSortParm"]" asp-route-searchString="@ViewData["CurrentFilter"]">
|
||||
@Html.DisplayNameFor(model => model.EventDate)
|
||||
</a>
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.MowingPattern)
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.Notes)
|
||||
</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model) {
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.EventType)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.EventDate)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.MowingPattern)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.Notes)
|
||||
</td>
|
||||
<td>
|
||||
<a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
|
||||
<a asp-action="Details" asp-route-id="@item.Id">Details</a> |
|
||||
<a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
Loading…
Add table
Add a link
Reference in a new issue