Minu koodi eesmärk on luua “koolile” veebi leht kus on erinevad atribudid nagu Kaebused(Mille olen Ise loonud), Õpilased(Mille olen Õpetaja abiga loonud), Osakonnad, Õpetajad jne. Siin all pool on paar näidet minu koodist ja ka mis nende ees märk on
Esimeseks on minu koodi näide Kaebused Index( Kaebused lehe esileht) :

@model IEnumerable<TallinnaRakenduslikKolledz.Models.Kaebus>
@{
ViewData["Title"] = "Kaebused";
}
<h1> Kaebused </h1>
<p>
<a asp-action="Create"> Lisa uus kaebus</a>
</p>
<table class="table">
<thead>
<tr>
<th>
@Html.DisplayNameFor(Model => Model.KuritarvitajadID)
</th>
<th>
@Html.DisplayNameFor(Model => Model.Firstname)
</th>
<th>
@Html.DisplayNameFor(Model => Model.Lastname)
</th>
<th>
@Html.DisplayNameFor(Model => Model.OpilaneVOpetaja)
</th>
<th>
@Html.DisplayNameFor(Model => Model.KuritarvitajaDescription)
</th>
<th>
@Html.DisplayNameFor(Model => Model.KuritegevusteArv)
</th>
<th>
@Html.DisplayNameFor(Model => Model.Kaebuse)
</th>
<th>
@Html.DisplayNameFor(Model => Model.KaebuseAdmin)
</th>
</tr>
</thead>
<tbody>
@foreach (var kaebused in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => kaebused.KuritarvitajadID)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.Firstname)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.Lastname)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.OpilaneVOpetaja)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.KuritarvitajaDescription)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.KuritegevusteArv)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.Kaebuse)
</td>
<td>
@Html.DisplayFor(modelItem => kaebused.KaebuseAdmin)
</td>
<td>
<a asp-action="Delete" asp-route-id="@kaebused.KuritarvitajadID">Kustuta</a>
<a asp-action="Details" asp-route-id="@kaebused.KuritarvitajadID">Vaata</a>
<a asp-action="Edit" asp-route-id="@kaebused.KuritarvitajadID">Muuda</a>
</td>
</tr>
}
</table>
Järgmiseks on Meil kaubsed Controller(Kõik functsioonid pannakse siin tööle):
using Microsoft.AspNetCore.Mvc;
using TallinnaRakenduslikKolledz.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Mvc.Rendering;
namespace TallinnaRakenduslikKolledz.Controllers
{
public class KaebusedController : Controller
{
private readonly SchoolContext _context;
public KaebusedController(SchoolContext context)
{
_context = context;
}
public async Task<IActionResult> Index()
{
return View(await _context.Kaebused.ToListAsync());
}
public IActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("KuritarvitajadID, Firstname, Lastname, OpilaneVOpetaja, KuritarvitajaDescription, KuritegevusteArv, Kaebuse, KaebuseAdmin")] Kaebus kaebused)
{
if (!ModelState.IsValid)
{
_context.Kaebused.Add(kaebused);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
// return RedirectToAction(nameof(Index));
}
return View(kaebused);
}
[HttpGet]
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var kaebus = await _context.Kaebused.FindAsync(id);
if (kaebus == null)
{
return NotFound();
}
return View(kaebus);
}
[HttpGet]
public async Task<IActionResult> Edit(int id)
{
var kaebus = await _context.Kaebused.FindAsync(id);
return View(kaebus);
}
[HttpPost, ActionName("EditConfirmed")]
public async Task<IActionResult> Edit([Bind("KuritarvitajadID, Firstname, Lastname, OpilaneVOpetaja, KuritarvitajaDescription, KuritegevusteArv, Kaebuse, KaebuseAdmin")] Kaebus kaebused)
{
if (ModelState.IsValid)
{
_context.Kaebused.Update(kaebused);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(kaebused);
}
[HttpGet]
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var kaebus = await _context.Kaebused.FirstOrDefaultAsync(m => m.KuritarvitajadID == id);
if (kaebus == null)
{
return NotFound();
}
return View(kaebus);
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var kaebus = await _context.Kaebused.FindAsync(id);
_context.Kaebused.Remove(kaebus);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
}
}
Järgmiseks on minu kaebuste model kus on meie kaebuse atripuudid sees:
using Microsoft.EntityFrameworkCore.Query;
using System.ComponentModel.DataAnnotations;
namespace TallinnaRakenduslikKolledz.Models
{
public class Kaebus
{
[Key]
public int KuritarvitajadID { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public string OpilaneVOpetaja { get; set; }
public string KuritarvitajaDescription { get; set; }
public int KuritegevusteArv { get; set; }
public string Kaebuse { get; set; }
public ICollection<Instructor>? KaebuseAdmin { get; set; }
}
}
Siis tuleb meil esimene päris functsioon nimega Create(Saab luua uue Kaebuse):

@model TallinnaRakenduslikKolledz.Models.Kaebus
@{
ViewData["Title"] = "Loo uus Tehnika";
}
<h1>Loo uus Tehnika</h1>
<hr />
<div class=="row">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="KuritarvitajadID" class="control-label"></label>
<input asp-for="KuritarvitajadID" class="form-control" />
<span asp-validation-for="KuritarvitajadID" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Firstname" class="control-label"></label>
<input asp-for="Firstname" class="form-control" />
<span asp-validation-for="Firstname" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Lastname" class="control-label"></label>
<input asp-for="Lastname" class="form-control" />
<span asp-validation-for="Lastname" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="OpilaneVOpetaja" class="control-label"></label>
<input asp-for="OpilaneVOpetaja" class="form-control" />
<span asp-validation-for="OpilaneVOpetaja" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KuritarvitajaDescription" class="control-label"></label>
<input asp-for="KuritarvitajaDescription" class="form-control" />
<span asp-validation-for="KuritarvitajaDescription" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KuritegevusteArv" class="control-label"></label>
<input asp-for="KuritegevusteArv" class="form-control" />
<span asp-validation-for="KuritegevusteArv" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Kaebuse" class="control-label"></label>
<input asp-for="Kaebuse" class="form-control" />
<span asp-validation-for="Kaebuse" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KaebuseAdmin" class="control-label"></label>
<input asp-for="KaebuseAdmin" class="form-control" />
<span asp-validation-for="KaebuseAdmin" class="text-danger"></span>
</div>
<divc class="form-group">
<input type="submit" value="Sisesta" class="btn btn-primary" />
</divc>
</form>
</div>
<div>
<a asp-action="Index">Mine tagasi loendisse</a>
</div>
Järgmiseks tuleb meil Edit vaade:

@model TallinnaRakenduslikKolledz.Models.Kaebus
@{
ViewData["Title"] = "Editi Kaebuseid";
}
<h1>Kaebused info:</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="EditConfirmed">
<div class="form-group">
<label asp-for="Firstname" class="control-label"></label>
<input asp-for="Firstname" class="form-control"></input>
<span asp-validation-for="Firstname" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Lastname" class="control-label"></label>
<input asp-for="Lastname" class="form-control"></input>
<span asp-validation-for="Lastname" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KuritarvitajadID" class="control-label"></label>
<input asp-for="KuritarvitajadID" class="form-control"></input>
<span asp-validation-for="KuritarvitajadID" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="OpilaneVOpetaja" class="control-label"></label>
<input asp-for="OpilaneVOpetaja" class="form-control"></input>
<span asp-validation-for="OpilaneVOpetaja" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KuritarvitajaDescription" class="control-label"></label>
<input asp-for="KuritarvitajaDescription" class="form-control"></input>
<span asp-validation-for="KuritarvitajaDescription" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KuritegevusteArv" class="control-label"></label>
<input asp-for="KuritegevusteArv" class="form-control"></input>
<span asp-validation-for="KuritegevusteArv" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Kaebuse" class="control-label"></label>
<input asp-for="Kaebuse" class="form-control"></input>
<span asp-validation-for="Kaebuse" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="KaebuseAdmin" class="control-label"></label>
<input asp-for="KaebuseAdmin" class="form-control"></input>
<span asp-validation-for="KaebuseAdmin" class="text-danger"></span>
</div>
<div class="form-group">
<input type="Submit" value="Salvesta muudatused" class="btn btn-primary" />
</div>
<div class="form-group">
<a asp-action="Index">Tühista</a>
</div>
</form>
</div>
</div>
Siis tuleb meil Details vaate millega saab vaatata juba sisestadud andmeid aga lähedamalt ja rohkem organiseeritult:

@model TallinnaRakenduslikKolledz.Models.Kaebus
@{
ViewData["Title"] = "Vaata Kaebusi";
}
<h1>
Vaata Kaebusi
</h1>
<div>
<h4>
Kaebused @Model.Firstname @Model.Lastname
</h4>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritarvitajadID)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritarvitajadID)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Firstname)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Firstname)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Lastname)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Lastname)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.OpilaneVOpetaja)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.OpilaneVOpetaja)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritarvitajaDescription)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritarvitajaDescription)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritegevusteArv)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritegevusteArv)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Kaebuse)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Kaebuse)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KaebuseAdmin)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KaebuseAdmin)</dd>
</dl>
</div>
Ja viimaseks tuleb meil Delete vaade millega on võimalik oma sisestatud andmed ära kustutada:

@model TallinnaRakenduslikKolledz.Models.Kaebus
@{
ViewData["Title"] = "Kustuda Kaebus";
}
<h1>
Kustuta Kaebus
</h1>
<h3>
Kas oled Kindel, et tahad Kaebust @Model.Firstname @Model.Lastname kohta eemaldada?
</h3>
<div>
<h4>
Õpilane @Model.Firstname @Model.Lastname
</h4>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Lastname)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Lastname)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Firstname)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Firstname)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritarvitajadID)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritarvitajadID)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.OpilaneVOpetaja)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.OpilaneVOpetaja)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritarvitajaDescription)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritarvitajaDescription)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KuritegevusteArv)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KuritegevusteArv)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.Kaebuse)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.Kaebuse)</dd>
</dl>
<dl class="row">
<dt class="col-sm-2">@Html.DisplayNameFor(Model => Model.KaebuseAdmin)</dt>
<dd class="col-sm-10">@Html.DisplayFor(Model => Model.KaebuseAdmin)</dd>
</dl>
</div>
<form asp-action="Delete">
<input type="hidden" asp-for="KuritarvitajadID" />
<input type="submit" value="Kustuta Õpilane" class="btn btn-danger" /> | <a asp-action="Index">Tühista</a>
</form>

