JXMovies/CMS/JXCMS.CMS.Movie/Admin/Controllers/ClassifyController.cs

73 lines
2.6 KiB
C#
Raw Normal View History

2020-02-16 22:11:24 +08:00
using System.Linq;
using FreeSql;
using JXCMS.CMS.Attribute;
using JXCMS.CMS.Entity;
using JXCMS.CMS.Movie.Entity;
using JXCMS.CMS.Movie.Spider;
using JXCMS.CMS.Movie.Utils;
using Microsoft.AspNetCore.Mvc;
namespace JXCMS.CMS.Movie.Admin.Controllers
{
[Area("Admin")]
[AdminAuthentication]
public class ClassifyController : Controller
{
public IActionResult Index(int pageNumber = 1, int pageSize = 20)
{
var list = ClassifyEntity.Select.Include(x => x.Parent).Count(out long count).Page(pageNumber, pageSize).ToList(
x => new ClassifyEntity{Id = x.Id, Name = x.Name, Alias = x.Alias, ParentId = x.ParentId, Parent = x.Parent, UpdateTime = x.UpdateTime,
Count = MovieEntity.Select.Where(y => y.ClassifyId == x.Id).Count()});
ViewBag.count = count;
ViewBag.pageNumber = pageNumber;
ViewBag.totlePage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
return View(list);
}
public IActionResult ClassifyDialog(int id)
{
ClassifyEntity classifyEntity = null;
if (id == 0)
{
classifyEntity = new ClassifyEntity();
ViewBag.title = "添加新分类";
ViewBag.classifyEntities = ClassifyEntity.Select.ToList();
}
else
{
classifyEntity = ClassifyEntity.Find(id);
ViewBag.title = "修改分类" + classifyEntity.Name;
ViewBag.classifyEntities = Classify.FindAllNotChildren(ClassifyEntity.Select.ToList(), id);
}
return View(classifyEntity);
}
public IActionResult DeleteClassify(int id)
{
if (MovieEntity.Select.Any(x => x.ClassifyId == id))
{
return Redirect(Url.Action("Index"));
}
if (ClassifyEntity.Select.Any(x => x.ParentId == id))
{
ClassifyEntity.Where(x => x.ParentId == id).ToUpdate().Set(x => x.ParentId, 0).ExecuteAffrows();
}
ClassifyEntity.Find(id).Delete();
return Redirect(Url.Action("Index"));
}
public IActionResult ModifyClassify(ClassifyEntity classifyEntity)
{
if (classifyEntity.Id != 0 &&
Classify.FindAllChildren(ClassifyEntity.Select.ToList(), classifyEntity.Id).Any(x => x.Id == classifyEntity.ParentId))
{
return Redirect(Url.Action("Index"));
}
classifyEntity.Save();
return Redirect(Url.Action("Index"));
}
}
}