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
surtur 67561303a4
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
feat: move to framework version 3.1
* lots of pertaining changes
* again solving global.json version mismatch with sed
* correctly specify db creds via dc env
2020-12-15 15:04:28 +01:00

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
{
IWebHostEnvironment hosting_env;
private IList<Carousel> Carousels = Dbfake.Carousels;
public CarouselController(IWebHostEnvironment 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();
}
}
}
}