Startpunkten

This commit is contained in:
2026-03-05 15:43:26 +01:00
commit dd99fb7b01
95 changed files with 3262 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
@model Person
@{
ViewData["Title"] = "Lägg till ny medlem";
}
<h2 class="text-center mt-3 mb-4">@ViewData["Title"]</h2>
<div class="container mb-5">
<form action="Create" method="post" enctype="multipart/form-data">
<div class="form-group">
<label asp-for="@Model.PersonNamn" class="control-label"></label>
<input type="text" class="form-control" asp-for="PersonNamn" tabindex="1" placeholder="Ditt namn">
<span asp-validation-for="PersonNamn" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@Model.Epost" class="control-label"></label>
<input type="text" class="form-control" asp-for="Epost" tabindex="2" placeholder="ditt.namn@adress.com">
<span asp-validation-for="Epost" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@Model.Alder" class="control-label"></label>
<input type="number" class="form-control" asp-for="Alder" tabindex="3" placeholder="Ange din ålder">
<span asp-validation-for="Alder" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@Model.Visningsbild" class="control-label"></label>
<input type="file" class="form-control" asp-for="Visningsbild" tabindex="4">
<span asp-validation-for="Visningsbild" class="text-danger"></span>
</div>
<button type="submit" class="btn btn-primary mt-3">@ViewData["Title"]</button>
</form>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

36
Views/Person/Edit.cshtml Normal file
View File

@@ -0,0 +1,36 @@
@model Person
@{
ViewData["Title"] = "Editera en person";
}
<h2 class="text-center mt-3 mb-4">@ViewData["Title"]</h2>
<div class="container">
<form action="Edit" method="post" enctype="multipart/form-data">
<input type="hidden" asp-for="PersonId" value="@Model.PersonId" />
<div class="form-group">
<label>Namn</label>
<input type="text" class="form-control" asp-for="PersonNamn" tabindex="1">
<span asp-validation-for="PersonNamn" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Epost" class="control-label"></label>
<input type="text" class="form-control" asp-for="Epost" tabindex="2" placeholder="ditt.namn@adress.com">
<span asp-validation-for="Epost" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Alder" class="control-label"></label>
<input type="number" class="form-control" asp-for="Alder" tabindex="3" placeholder="Ange din ålder">
<span asp-validation-for="Alder" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@Model.Visningsbild" class="control-label"></label>
<input type="file" class="form-control" asp-for="Visningsbild" tabindex="4">
<span asp-validation-for="Visningsbild" class="text-danger"></span>
</div>
<button type="submit" class="btn btn-primary">Spara ändringar</button>
</form>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

77
Views/Person/Index.cshtml Normal file
View File

@@ -0,0 +1,77 @@
@model List<Person>
@{
ViewData["Title"] = "Mina medlemmar";
}
@if (TempData.ContainsKey("MeddelandeSuccess")) {
<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<strong>Allt klart!</strong> @TempData["MeddelandeSuccess"]
</div>
}
else if (TempData.ContainsKey("MeddelandeFail")) {
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<strong>Något gick fel.</strong> @TempData["MeddelandeFail"]
</div>
}
<h2 class="text-center mt-3 mb-4">@ViewData["Title"]</h2>
<div class="container">
<div class="row">
<div class="col-md-8">
<a href="/Person/Create" class="btn btn-success mb-5">Skapa ny medlem</a>
</div>
<div class="col-md-4">
<form asp-action="Search" method="post">
<div class="form-group">
<label class="control-label">
<input name="search" id="search" class="form-control" tabindex="1" placeholder="Namn eller E-post" />
</label>
<input type="submit" value="Sök" class="btn btn-primary" />
</div>
</form>
</div>
</div>
</div>
<div class="container mb-5">
@if (Model.Count() >= 0) {
<table class="table">
<thead>
<tr>
<th>@Html.ActionLink("Id", "Index", null, new { sortOrder = "PersonId" })</th>
<th>@Html.ActionLink("Namn", "Index", null, new { sortOrder = "PersonNamn" })</th>
<th>@Html.ActionLink("E-post", "Index", null, new { sortOrder = "Epost" })</th>
<th>@Html.ActionLink("Ålder", "Index", null, new { sortOrder = "Alder" })</th>
<th>@Html.ActionLink("Registrerad", "Index", null, new { sortOrder = "StartDatum" })</th>
<th>Visningsbild</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var person in Model) {
<tr>
<td>@person.PersonId</td>
<td>@person.PersonNamn</td>
<td>@person.Epost</td>
<td>@person.Alder</td>
<td>@person.StartDatum</td>
<td><img src="~/images/userphoto/@person.Visningsbild" alt="@person.PersonNamn" class="visningsbild" /></td>
<td>
<a asp-action="Delete" asp-controller="Person" asp-route-Id="@person.PersonId">Ta bort</a> |
<a asp-action="Edit" asp-controller="Person" asp-route-Id="@person.PersonId">Editera</a>
</td>
</tr>
}
</tbody>
</table>
}
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

View File

@@ -0,0 +1,65 @@
@model List<Person>
@{
ViewData["Title"] = "Sökresultat";
}
<h2 class="text-center mt-3 mb-4">@ViewData["Title"]</h2>
<div class="container">
<div class="row">
<div class="col-md-8">
<a href="/Person/Create" class="btn btn-success mb-5">Skapa ny medlem</a>
</div>
<div class="col-md-4">
<form asp-action="Search" method="post">
<div class="form-group">
<label class="control-label">
<input name="search" id="search" class="form-control" tabindex="1" placeholder="Namn eller E-post" />
</label>
<input type="submit" value="Sök" class="btn btn-primary" />
</div>
</form>
</div>
</div>
</div>
<div class="container mb-5">
@if (Model.Count() >= 0) {
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Namn</th>
<th>Epost</th>
<th>Alder</th>
<th>Registrerad</th>
<th>Visningsbild</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var person in Model) {
<tr>
<td>@person.PersonId</td>
<td>@person.PersonNamn</td>
<td>@person.Epost</td>
<td>@person.Alder</td>
<td>@person.StartDatum</td>
<td><img src="~/images/userphoto/@person.Visningsbild" alt="@person.PersonNamn" class="visningsbild" /></td>
<td>
<a asp-action="Delete" asp-controller="Person" asp-route-Id="@person.PersonId">Ta bort</a> |
<a asp-action="Edit" asp-controller="Person" asp-route-Id="@person.PersonId">Editera</a>
</td>
</tr>
}
</tbody>
</table>
}
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}