using Learun.Application.Organization;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Util;
using Learun.Util.Operat;
using System.Linq;
using System.Web.Mvc;
namespace Learun.Application.Web.Areas.LR_OrganizationModule.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创建人:陈彬彬
/// 日 期:2017.03.09
/// 描 述:公司管理
///
public class CompanyController : MvcControllerBase
{
private CompanyIBLL companyIBLL = new CompanyBLL();
private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL();
#region 获取视图
///
/// 主页
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 表单
///
///
[HttpGet]
public ActionResult Form()
{
return View();
}
#endregion
#region 获取数据
///
/// 获取公司列表信息
///
/// 查询关键字
///
[HttpGet]
[AjaxOnly]
public ActionResult GetList(string keyword)
{
var data = companyIBLL.GetList(keyword);
foreach (var item in data)
{
item.F_BriefIntroduction = WebHelper.HtmlDecode(item.F_BriefIntroduction);
item.F_EnrollmentInformation = WebHelper.HtmlDecode(item.F_EnrollmentInformation);
}
return JsonResult(data);
}
///
/// 获取树形数据
///
/// 父级id
///
[HttpGet]
[AjaxOnly]
public ActionResult GetTree(string parentId)
{
var data = companyIBLL.GetTree(parentId);
return JsonResult(data);
}
///
/// 获取映射数据
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetMap(string ver)
{
var data = companyIBLL.GetModelMap();
string md5 = Md5Helper.Encrypt(data.ToJson(), 32);
if (md5 == ver)
{
return Success("no update");
}
else
{
var jsondata = new
{
data = data,
ver = md5
};
return JsonResult(jsondata);
}
}
#endregion
#region 提交数据
///
/// 保存表单数据
///
/// 主键
/// 实体数据
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
[ValidateInput(false)]
public ActionResult SaveForm(string keyValue, string strEntity)
{
CompanyEntity entity = strEntity.ToObject();
entity.SyncFlag = false;
entity.F_BriefIntroduction = WebHelper.HtmlEncode(entity.F_BriefIntroduction);
entity.F_EnrollmentInformation = WebHelper.HtmlEncode(entity.F_EnrollmentInformation);
var list = companyIBLL.GetList();
if (!string.IsNullOrEmpty(keyValue))
{
entity.SyncFlag = true;
//判断排课同步数据是否存在:若存在,清除同步数据;
var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue);
if (arrangeLessonSyncList.Any())
{
arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue);
}
else
{
entity.SyncFlag = false;
}
list = list.Where(m => m.F_CompanyId != keyValue).ToList();
}
if (keyValue == entity.F_ParentId)
{
return Fail("操作失败,当前项不允许");
}
if (list.Any(a => a.F_FullName == entity.F_FullName))
{
return Fail("学校名称重复");
}
if (list.Any(a => a.F_EnCode == entity.F_EnCode))
{
return Fail("学校编码重复");
}
if (list.Any(a => a.F_ShortName == entity.F_ShortName))
{
return Fail("学校简称重复");
}
companyIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!", "公司信息", string.IsNullOrEmpty(keyValue) ? OperationType.Create : OperationType.Update, entity.F_CompanyId, entity.ToJson());
}
///
/// 删除表单数据
///
/// 主键
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
var list = companyIBLL.GetList().Where(x => x.F_ParentId == keyValue && x.F_EnabledMark == 1 && x.F_DeleteMark == 0);
if (list.Count() > 0)
{
return Fail("删除失败!拥有下辖项不可直接删除");
}
else
{
companyIBLL.VirtualDelete(keyValue);
return Success("删除成功!", "公司信息", OperationType.Delete, keyValue, "");
}
}
#endregion
}
}