-
Notifications
You must be signed in to change notification settings - Fork 0
Parte 18
WILSON DE OLIVEIRA JUNIOR edited this page Mar 9, 2020
·
1 revision
- Altere o arquivo Item.cshtml para que fique da seguinte forma:
@page
@model Taste.Web.Pages.Settings.Category.ItemModel
<form method="post" asp-action="Item">
<div class="container">
<div class="row px-2 mx-2 backgroundWhite border">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="CategoryObj.Id" />
<div class="col-12 px-3" style="border-bottom: 1px solid #325d88">
<h2 class="text-primary">Categoria</h2>
</div>
<div class="col-8 pt-3">
<div class="form-group row">
<div class="col-3">
<label asp-for="CategoryObj.Name"></label>
</div>
<div class="col-9">
<input class="form-control" asp-for="CategoryObj.Name" />
<span class="text-danger" asp-validation-for="CategoryObj.Name"></span>
</div>
</div>
<div class="form-group row">
<div class="col-3">
<label asp-for="CategoryObj.Order"></label>
</div>
<div class="col-9">
<input class="form-control" asp-for="CategoryObj.Order" />
<span class="text-danger" asp-validation-for="CategoryObj.Order"></span>
</div>
</div>
<div class="form-group row">
<div class="col-9 offset-3">
<div class="row">
<div class="col-6">
<button type="submit" class="btn btn-primary">
<i class="fas fa-save"></i>
Salvar
</button>
</div>
<div class="col-6">
<a asp-page="./Index" class="btn btn-danger">
<i class="fas fa-undo"></i>
Cancelar
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>- Altere o
CODE-BEHINDItem.cshtml.cs do arquivo para que fique da seguinte forma:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Threading.Tasks;
using Taste.Domain.Interfaces;
namespace Taste.Web.Pages.Settings.Category
{
public class ItemModel : PageModel
{
private readonly IUnitOfWork unitOfWork;
public ItemModel(IUnitOfWork _unitOfWork)
{
this.unitOfWork = _unitOfWork;
}
[BindProperty]
public Taste.Domain.Entities.Category CategoryObj { get; set; }
public async Task<IActionResult> OnGet(int? id)
{
CategoryObj = new Domain.Entities.Category();
if (id != null && id != 0)
{
this.CategoryObj = await this.unitOfWork.Category.GetFirstOrDefault(i => i.Id == id);
if (this.CategoryObj == null)
{
return NotFound();
}
}
return Page();
}
public async Task<IActionResult> OnPost()
{
if (!ModelState.IsValid) return Page();
if (CategoryObj.Id == 0)
await unitOfWork.Category.Add(CategoryObj);
else
await unitOfWork.Category.Update(CategoryObj);
await unitOfWork.Save();
return RedirectToPage("./Index");
}
}
}