repository migration
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using WhiteLagoon.Application.Common.Interfaces;
|
||||
using WhiteLagoon.Application.Services.Interface;
|
||||
using WhiteLagoon.Domain.Entities;
|
||||
using WhiteLagoon.Infrastructure.Data;
|
||||
|
||||
namespace WhiteLagoon.Web.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class VillaController : Controller
|
||||
{
|
||||
private readonly IVillaService _villaService;
|
||||
|
||||
public VillaController(IVillaService villaService)
|
||||
{
|
||||
_villaService = villaService;
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
var villas = _villaService.GetAllVillas();
|
||||
return View(villas);
|
||||
}
|
||||
|
||||
public IActionResult Create()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Create(Villa obj)
|
||||
{
|
||||
|
||||
if (obj.Name == obj.Description)
|
||||
{
|
||||
ModelState.AddModelError("name", "The description cannot exactly match the Name.");
|
||||
}
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
|
||||
_villaService.CreateVilla(obj);
|
||||
TempData["success"] = "The villa has been created successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult Update(int villaId)
|
||||
{
|
||||
Villa? obj = _villaService.GetVillaById(villaId);
|
||||
if (obj == null)
|
||||
{
|
||||
return RedirectToAction("Error", "Home");
|
||||
}
|
||||
return View(obj);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Update(Villa obj)
|
||||
{
|
||||
if (ModelState.IsValid && obj.Id > 0)
|
||||
{
|
||||
|
||||
_villaService.UpdateVilla(obj);
|
||||
TempData["success"] = "The villa has been updated successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult Delete(int villaId)
|
||||
{
|
||||
Villa? obj = _villaService.GetVillaById(villaId);
|
||||
if (obj is null)
|
||||
{
|
||||
return RedirectToAction("Error", "Home");
|
||||
}
|
||||
return View(obj);
|
||||
}
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Delete(Villa obj)
|
||||
{
|
||||
bool deleted = _villaService.DeleteVilla(obj.Id);
|
||||
if (deleted)
|
||||
{
|
||||
TempData["success"] = "The villa has been deleted successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
else
|
||||
{
|
||||
TempData["error"] = "Failed to delete the villa.";
|
||||
}
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user