Base figure edition
This commit is contained in:
parent
71a3253a72
commit
5d03419a79
58
Controllers/FigureController.cs
Normal file
58
Controllers/FigureController.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using System.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using MyDarling.Models;
|
||||
|
||||
namespace MyDarling.Controllers
|
||||
{
|
||||
public class FigureController : Controller
|
||||
{
|
||||
private DataContext context;
|
||||
public FigureController(DataContext context)
|
||||
{
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
public async Task<IActionResult> Details(int id)
|
||||
{
|
||||
return View(await context.Figures.Where(f => f.Id == id).FirstOrDefaultAsync());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Edit(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var figure = await context.Figures.FindAsync(id);
|
||||
|
||||
if (figure == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
var bundle = await context.UnderwearBundles
|
||||
.Where(b => b.Figures.Contains(figure))
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
if (await TryUpdateModelAsync<Figure>(
|
||||
figure,
|
||||
"",
|
||||
f => f.Description))
|
||||
{
|
||||
try
|
||||
{
|
||||
await context.SaveChangesAsync();
|
||||
return RedirectToAction("Details", "Bundle", new { Id = bundle?.Id});
|
||||
}
|
||||
catch (SystemException)
|
||||
{
|
||||
ModelState.AddModelError("", "Unable to save changes");
|
||||
}
|
||||
}
|
||||
return View(figure);
|
||||
}
|
||||
}
|
||||
}
|
@ -11,22 +11,38 @@
|
||||
|
||||
<body>
|
||||
<container>
|
||||
<form asp-action="Edit" asp-route-id="@Model.Id" method="post" class="m-2">
|
||||
<form asp-action="Edit" asp-route-id="@Model.Id" method="post" class="m-2">
|
||||
<div asp-validation-summary="All"></div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Name" class="form-label">Name:</label>
|
||||
<input asp-for="Name" class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Description" class="form-label">Descrition:</label>
|
||||
@Html.TextAreaFor(model => model.Description, new { @class="form-control", @rows = 4 })
|
||||
<label asp-for="Description" class="form-label">Description:</label>
|
||||
@Html.TextAreaFor(model => model.Description, new { @class="form-control", @rows = 2 })
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label">Figures:</label>
|
||||
<div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4">
|
||||
@foreach (var figure in @Model.Figures)
|
||||
{
|
||||
<div class="col mb-5">
|
||||
<div class="thumbnail h-100">
|
||||
<a asp-controller="Figure" asp-action="Details" asp-route-id="@figure.Id">
|
||||
<img src="@figure.FilePath" class="img-thumbnail img-fluid" alt="@figure.Description">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Price" class="form-label">Price:</label>
|
||||
<input asp-for="Price" class="form-control" />
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary mt-3">Save</button>
|
||||
<button asp-action="Delete" asp-route-id="@Model.Id" method="post" class="btn btn-primary mt-3">Delete</button>
|
||||
<button asp-action="Delete" asp-route-id="@Model.Id" method="post"
|
||||
class="btn btn-primary mt-3">Delete</button>
|
||||
</form>
|
||||
</container>
|
||||
</body>
|
||||
|
33
Views/Figure/Details.cshtml
Normal file
33
Views/Figure/Details.cshtml
Normal file
@ -0,0 +1,33 @@
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@model MyDarling.Models.Figure
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Figure</title>
|
||||
<link href="/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4 justify-content-center">
|
||||
<div class="col mb-5">
|
||||
<div class="thumbnail h-100">
|
||||
<a href="@Model.FilePath">
|
||||
<img src="@Model.FilePath" class="img-thumbnail img-fluid" alt="@Model.Description">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form asp-action="Edit" asp-route-id="@Model.Id" method="post" class="m-2">
|
||||
<div asp-validation-summary="All"></div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Description" class="form-label">Description:</label>
|
||||
@Html.TextAreaFor(model => model.Description, new { @class="form-control", @rows = 2 })
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary mt-3">Save</button>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user