This repository has been archived on 2023-10-28. You can view files and clone it, but cannot push or open issues or pull requests.
pwt-0x01-ng/Areas/Admin/Controllers/CarouselController.cs

99 lines
2.9 KiB
C#

using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.AspNetCore.Hosting;
using pwt_0x01_ng.Models;
using pwt_0x01_ng.Models.Dbfake;
namespace pwt_0x01_ng.Areas.Admin.Controllers
{
[Area("Admin")]
public class CarouselController : Controller
{
IHostingEnvironment hosting_env;
private IList<Carousel> Carousels = Dbfake.Carousels;
public CarouselController(IHostingEnvironment hosting_env){
this.hosting_env = hosting_env;
}
// GET
public IActionResult Select()
{
CarouselViewModel carousel = new CarouselViewModel();
carousel.Carousels = Carousels;
return View(carousel);
}
public IActionResult Create()
{
return View();
}
[HttpPost]
public async Task<IActionResult> Create(Carousel carousel)
{
carousel.ImageSrc = string.Empty;
MegaUpload mega_upload = new MegaUpload(hosting_env);
await mega_upload.DoMegaUpload(carousel);
Carousels.Add(carousel);
return RedirectToAction(nameof(Select));
}
public IActionResult Edit(int id)
{
Carousel carousel_item = Carousels.Where(c_item => c_item.id == id).FirstOrDefault();
if (carousel_item != null)
{
return View(carousel_item);
}
else
{
return NotFound();
}
}
[HttpPost]
public async Task<IActionResult> Edit(Carousel carousel)
{
Carousel carousel_item = Carousels.Where(c_item => c_item.id == carousel.id).FirstOrDefault();
if (carousel_item != null)
{
carousel_item.id = carousel.id;
carousel_item.DataTarget = carousel.DataTarget;
carousel_item.ImageAlt = carousel.ImageAlt;
carousel_item.CarouselContent = carousel.CarouselContent;
MegaUpload mega_upload = new MegaUpload(hosting_env);
if (await mega_upload.DoMegaUpload(carousel)){
carousel_item.ImageSrc = carousel.ImageSrc;
}
return RedirectToAction(nameof(Select));
}
else
{
return NotFound();
}
}
public IActionResult Delete(int id)
{
Carousel carousel_item = Carousels.Where(c_item => c_item.id == id).FirstOrDefault();
if (carousel_item != null)
{
Carousels.Remove(carousel_item);
return RedirectToAction(nameof(Select));
}
else
{
return NotFound();
}
}
}
}