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>
|
<body>
|
||||||
<container>
|
<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 asp-validation-summary="All"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label asp-for="Name" class="form-label">Name:</label>
|
<label asp-for="Name" class="form-label">Name:</label>
|
||||||
<input asp-for="Name" class="form-control" />
|
<input asp-for="Name" class="form-control" />
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label asp-for="Description" class="form-label">Descrition:</label>
|
<label asp-for="Description" class="form-label">Description:</label>
|
||||||
@Html.TextAreaFor(model => model.Description, new { @class="form-control", @rows = 4 })
|
@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>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label asp-for="Price" class="form-label">Price:</label>
|
<label asp-for="Price" class="form-label">Price:</label>
|
||||||
<input asp-for="Price" class="form-control" />
|
<input asp-for="Price" class="form-control" />
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary mt-3">Save</button>
|
<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>
|
</form>
|
||||||
</container>
|
</container>
|
||||||
</body>
|
</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