repository migration
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using WhiteLagoon.Application.Common.Interfaces;
|
||||
using WhiteLagoon.Application.Services.Interface;
|
||||
using WhiteLagoon.Domain.Entities;
|
||||
using WhiteLagoon.Infrastructure.Data;
|
||||
using WhiteLagoon.Web.ViewModels;
|
||||
|
||||
namespace WhiteLagoon.Web.Controllers
|
||||
{
|
||||
|
||||
public class VillaNumberController : Controller
|
||||
{
|
||||
private readonly IVillaNumberService _villaNumberService;
|
||||
private readonly IVillaService _villaService;
|
||||
public VillaNumberController(IVillaNumberService villaNumberService, IVillaService villaService)
|
||||
{
|
||||
_villaService = villaService;
|
||||
_villaNumberService = villaNumberService;
|
||||
}
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
var villaNumbers = _villaNumberService.GetAllVillaNumbers();
|
||||
return View(villaNumbers);
|
||||
}
|
||||
|
||||
public IActionResult Create()
|
||||
{
|
||||
VillaNumberVM villaNumberVM = new()
|
||||
{
|
||||
VillaList = _villaService.GetAllVillas().Select(u => new SelectListItem
|
||||
{
|
||||
Text = u.Name,
|
||||
Value = u.Id.ToString()
|
||||
})
|
||||
};
|
||||
return View(villaNumberVM);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Create(VillaNumberVM obj)
|
||||
{
|
||||
//ModelState.Remove("Villa");
|
||||
|
||||
bool roomNumberExists = _villaNumberService.CheckVillaNumberExists(obj.VillaNumber.Villa_Number);
|
||||
|
||||
if (ModelState.IsValid && !roomNumberExists)
|
||||
{
|
||||
_villaNumberService.CreateVillaNumber(obj.VillaNumber);
|
||||
TempData["success"] = "The villa Number has been created successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
|
||||
if (roomNumberExists)
|
||||
{
|
||||
TempData["error"] = "The villa Number already exists.";
|
||||
}
|
||||
obj.VillaList = _villaService.GetAllVillas().Select(u => new SelectListItem
|
||||
{
|
||||
Text = u.Name,
|
||||
Value = u.Id.ToString()
|
||||
});
|
||||
return View(obj);
|
||||
}
|
||||
|
||||
public IActionResult Update(int villaNumberId)
|
||||
{
|
||||
VillaNumberVM villaNumberVM = new()
|
||||
{
|
||||
VillaList = _villaService.GetAllVillas().Select(u => new SelectListItem
|
||||
{
|
||||
Text = u.Name,
|
||||
Value = u.Id.ToString()
|
||||
}),
|
||||
VillaNumber = _villaNumberService.GetVillaNumberById(villaNumberId)
|
||||
};
|
||||
if (villaNumberVM.VillaNumber == null)
|
||||
{
|
||||
return RedirectToAction("Error", "Home");
|
||||
}
|
||||
return View(villaNumberVM);
|
||||
}
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Update(VillaNumberVM villaNumberVM)
|
||||
{
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
_villaNumberService.UpdateVillaNumber(villaNumberVM.VillaNumber);
|
||||
TempData["success"] = "The villa Number has been updated successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
|
||||
villaNumberVM.VillaList = _villaService.GetAllVillas().Select(u => new SelectListItem
|
||||
{
|
||||
Text = u.Name,
|
||||
Value = u.Id.ToString()
|
||||
});
|
||||
return View(villaNumberVM);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public IActionResult Delete(int villaNumberId)
|
||||
{
|
||||
VillaNumberVM villaNumberVM = new()
|
||||
{
|
||||
VillaList = _villaService.GetAllVillas().Select(u => new SelectListItem
|
||||
{
|
||||
Text = u.Name,
|
||||
Value = u.Id.ToString()
|
||||
}),
|
||||
VillaNumber = _villaNumberService.GetVillaNumberById(villaNumberId)
|
||||
};
|
||||
if (villaNumberVM.VillaNumber == null)
|
||||
{
|
||||
return RedirectToAction("Error", "Home");
|
||||
}
|
||||
return View(villaNumberVM);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Delete(VillaNumberVM villaNumberVM)
|
||||
{
|
||||
VillaNumber? objFromDb = _villaNumberService.GetVillaNumberById(villaNumberVM.VillaNumber.Villa_Number);
|
||||
if (objFromDb is not null)
|
||||
{
|
||||
_villaNumberService.DeleteVillaNumber(objFromDb.Villa_Number);
|
||||
TempData["success"] = "The villa number has been deleted successfully.";
|
||||
return RedirectToAction(nameof(Index));
|
||||
}
|
||||
TempData["error"] = "The villa number could not be deleted.";
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user