* lots of pertaining changes * again solving global.json version mismatch with sed * correctly specify db creds via dc env
99 lines
2.9 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|