2019-01-28 17:30:59 +08:00

254 lines
8.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using FreeSql.Site.DAL;
using FreeSql.Site.Entity;
using FreeSql.Site.Entity.Common;
using FreeSql.Site.UI.Admin.Common;
using FreeSql.Site.UI.Areas.BBS.Models;
using FreeSql.Site.UI.Common;
using FreeSql.Site.UI.Controllers;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
namespace FreeSql.Site.UI.Areas.Admin.Controllers
{
[Area("Admin")]
public class DocumentController : AdminBaseController
{
public DocumentTypeDAL DocumentTypeDAL { get; set; }
public DocumentContentDAL DocumentContentDAL { get; set; }
public DocumentController()
{
this.DocumentTypeDAL = new DocumentTypeDAL();
this.DocumentContentDAL = new DocumentContentDAL();
}
public IActionResult Index()
{
DocumentContent model = new DocumentContent();
return View(model);
}
#region
public IActionResult DocContent()
{
DocumentContent model = new DocumentContent();
return View(model);
}
[HttpGet]
public IActionResult DocContentList(string searchContent, string seniorQueryJson, int page = 1, int limit = 10)
{
DocumentContent model = null;
if (!string.IsNullOrWhiteSpace(seniorQueryJson))
{
model = Newtonsoft.Json.JsonConvert.DeserializeObject<DocumentContent>(seniorQueryJson);
}
Expression<Func<DocumentContent, bool>> predicate = i => 1 == 0;
var searchPredicate = PredicateExtensions.True<DocumentContent>();
if (model != null)
{
if (model.TypeID >= 0)
searchPredicate = searchPredicate.And(u => u.TypeID == model.TypeID);
if (!string.IsNullOrEmpty(model.DocTitle))
searchPredicate = searchPredicate.And(u => u.DocTitle.IndexOf(model.DocTitle) != -1);
}
PageInfo pageinfo = new PageInfo() { IsPaging = true, PageIndex = page, PageSize = limit };
var contents = DocumentContentDAL.Query(searchPredicate, null, pageinfo);
return Json(new DataPage<DocumentContent>
{
code = "0",
msg = "",
count = contents.count,
data = contents.list
});
}
public ActionResult DocContentEditModule(string id)
{
ViewBag.DocumentTypeList = DocumentTypeDAL.Query(w => w.Status == 1).list.Select(s => new SelectListItem { Text = s.TypeName, Value = s.ID.ToString() }).ToList();
DocumentContent model = new DocumentContent() { OriginType = 0};
if (!string.IsNullOrEmpty(id) && id != "0")
{
int _id = Convert.ToInt32(id);
model = DocumentContentDAL.GetByOne(w => w.ID == _id);
}
return View(model);
}
// POST: Documents/Create
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocContentCreate([FromBody]DocumentContent model)
{
var resdata = AutoException.Excute<long>((result) =>
{
result.Data = DocumentContentDAL.Insert(model);
if (result.Data == 0)
{
throw new Exception("数据新增异常JSON:" + Newtonsoft.Json.JsonConvert.SerializeObject(model));
}
}, false);
return Json(resdata);
}
// POST: Documents/Create
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocContentUpdate([FromBody]DocumentContent model)
{
var resdata = AutoException.Excute<bool>((result) =>
{
model.UpdateBy = "admin";
model.UpdateDt = DateTime.Now;
result.Data = DocumentContentDAL.Update(model);
if (result.Data == false)
{
throw new Exception("数据新增异常JSON:" + Newtonsoft.Json.JsonConvert.SerializeObject(model));
}
}, false);
return Json(resdata);
}
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocContentDelete(int id, IFormCollection collection)
{
var resdata = AutoException.Excute<long>((result) =>
{
if (!DocumentContentDAL.Delete(id))
{
throw new Exception("数据删除异常ID:" + id);
}
}, false);
return Json(resdata);
}
#endregion
#region
public IActionResult DocType()
{
DocumentType model = new DocumentType();
ViewBag.TypeList = DocumentTypeDAL.Query(w => w.Status == 1).list.Select(s => new DocumentTypeTreeNode
{
id = s.ID.ToString(),
pid = (s.UpID ?? 0).ToString(),
title = s.TypeName,
tag = s.Tag,
createdt = s.CreateDt
}).ToList();
return View(model);
}
[HttpGet]
public IActionResult DocTypeList(string searchContent, string seniorQueryJson, int page = 1, int limit = 10)
{
DocumentType model = null;
if (!string.IsNullOrWhiteSpace(seniorQueryJson))
{
model = Newtonsoft.Json.JsonConvert.DeserializeObject<DocumentType>(seniorQueryJson);
}
Expression<Func<DocumentType, bool>> predicate = i => 1 == 0;
var searchPredicate = PredicateExtensions.True<DocumentType>();
if (model != null)
{
searchPredicate = searchPredicate.And(u => u.Status == 1);
}
var contents = DocumentTypeDAL.Query(searchPredicate);
return Json(new DataPage<DocumentType>
{
code = "0",
msg = "",
count = contents.count,
data = contents.list
});
}
public ActionResult DocTypeEditModule(string id, bool ischildren)
{
ViewBag.DocumentTypeList = DocumentTypeDAL.Query(w => w.Status == 1).list.Select(s => new SelectListItem { Text = s.TypeName, Value = s.ID.ToString() }).ToList();
DocumentType model = new DocumentType();
if (ischildren)
{
if (!string.IsNullOrEmpty(id))
{
model.UpID = Convert.ToInt32(id);
}
}
else
{
if (!string.IsNullOrEmpty(id))
{
int _id = Convert.ToInt32(id);
model = DocumentTypeDAL.GetByOne(w => w.ID == _id);
}
}
return View(model);
}
// POST: Documents/Create
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocTypeCreate([FromBody]DocumentType model)
{
var resdata = AutoException.Excute<long>((result) =>
{
model.CreateBy = "admin";
model.CreateDt = DateTime.Now;
result.Data = DocumentTypeDAL.Insert(model);
if (result.Data == 0)
{
throw new Exception("数据新增异常JSON:" + Newtonsoft.Json.JsonConvert.SerializeObject(model));
}
}, false);
return Json(resdata);
}
// POST: Documents/Create
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocTypeUpdate([FromBody]DocumentType model)
{
var resdata = AutoException.Excute<bool>((result) =>
{
model.UpdateBy = "admin";
model.UpdateDt = DateTime.Now;
result.Data = DocumentTypeDAL.Update(model);
if (result.Data == false)
{
throw new Exception("数据新增异常JSON:" + Newtonsoft.Json.JsonConvert.SerializeObject(model));
}
}, false);
return Json(resdata);
}
[HttpPost]
//[ValidateAntiForgeryToken]
public ActionResult DocTypeDelete(int id, IFormCollection collection)
{
var resdata = AutoException.Excute<long>((result) =>
{
if (!DocumentTypeDAL.Delete(id))
{
throw new Exception("数据删除异常ID:" + id);
}
}, false);
return Json(resdata);
}
#endregion
}
}