289 lines
12 KiB
C#
289 lines
12 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace BLL
|
||
{
|
||
public static class FileCabinetAService
|
||
{
|
||
/// <summary>
|
||
/// 根据用户id获取文件柜主表列表
|
||
/// </summary>
|
||
/// <param name="appraise"></param>
|
||
/// <returns></returns>
|
||
public static List<Model.InformationProject_FileCabinetA> GetFileCabinetAListByProjectId(string projectId)
|
||
{
|
||
var FileCabinetAList = from x in Funs.DB.InformationProject_FileCabinetA
|
||
orderby x.Code
|
||
where x.ProjectId == projectId
|
||
select x;
|
||
return FileCabinetAList.ToList();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据主键id获取文件柜
|
||
/// </summary>
|
||
/// <param name="appraise"></param>
|
||
/// <returns></returns>
|
||
public static Model.InformationProject_FileCabinetA GetFileCabinetAByID(string FileCabinetAId)
|
||
{
|
||
return Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(x => x.FileCabinetAId == FileCabinetAId);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据菜单id项目id获取文件柜
|
||
/// </summary>
|
||
/// <param name="appraise"></param>
|
||
/// <returns></returns>
|
||
public static Model.InformationProject_FileCabinetA GetFileCabinetAByMenuIdProjectId(string MenuId, string ProjectId)
|
||
{
|
||
return Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(x => x.MenuId == MenuId && x.ProjectId == ProjectId);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 添加文件柜
|
||
/// </summary>
|
||
/// <param name="FileCabinetA"></param>
|
||
public static void AddFileCabinetA(Model.InformationProject_FileCabinetA FileCabinetA)
|
||
{
|
||
Model.InformationProject_FileCabinetA newFileCabinetA = new Model.InformationProject_FileCabinetA
|
||
{
|
||
FileCabinetAId = FileCabinetA.FileCabinetAId,
|
||
ProjectId = FileCabinetA.ProjectId,
|
||
MenuId = FileCabinetA.MenuId,
|
||
Code = FileCabinetA.Code,
|
||
Title = FileCabinetA.Title,
|
||
SupFileCabinetAId = FileCabinetA.SupFileCabinetAId,
|
||
IsEndLever = FileCabinetA.IsEndLever
|
||
};
|
||
Funs.DB.InformationProject_FileCabinetA.InsertOnSubmit(newFileCabinetA);
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改文件柜
|
||
/// </summary>
|
||
/// <param name="FileCabinetA"></param>
|
||
public static void UpdateFileCabinetA(Model.InformationProject_FileCabinetA FileCabinetA)
|
||
{
|
||
Model.InformationProject_FileCabinetA newFileCabinetA = Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(e => e.FileCabinetAId == FileCabinetA.FileCabinetAId);
|
||
if (newFileCabinetA != null)
|
||
{
|
||
newFileCabinetA.Code = FileCabinetA.Code;
|
||
newFileCabinetA.Title = FileCabinetA.Title;
|
||
newFileCabinetA.SupFileCabinetAId = FileCabinetA.SupFileCabinetAId;
|
||
newFileCabinetA.IsEndLever = FileCabinetA.IsEndLever;
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据主键删除信息
|
||
/// </summary>
|
||
/// <param name="FileCabinetAId"></param>
|
||
public static void DeleteFileCabinetAByID(string FileCabinetAId)
|
||
{
|
||
Model.InformationProject_FileCabinetA FileCabinetA = Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(e => e.FileCabinetAId == FileCabinetAId);
|
||
{
|
||
Funs.DB.InformationProject_FileCabinetA.DeleteOnSubmit(FileCabinetA);
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 是否存在文件夹名称
|
||
/// </summary>
|
||
/// <param name="postName"></param>
|
||
/// <returns>true-存在,false-不存在</returns>
|
||
public static bool IsExistTitle(string FileCabinetAId, string supFileCabinetAId, string title)
|
||
{
|
||
var q = Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(x => x.SupFileCabinetAId == supFileCabinetAId && x.Title == title
|
||
&& x.FileCabinetAId != FileCabinetAId);
|
||
if (q != null)
|
||
{
|
||
return true;
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 是否可删除节点
|
||
/// </summary>
|
||
/// <param name="postName"></param>
|
||
/// <returns>true-可以,false-不可以</returns>
|
||
public static bool IsDeleteFileCabinetA(string FileCabinetAId)
|
||
{
|
||
bool isDelete = true;
|
||
var FileCabinetA = GetFileCabinetAByID(FileCabinetAId);
|
||
if (FileCabinetA != null)
|
||
{
|
||
if (FileCabinetA.IsEndLever == true)
|
||
{
|
||
var detailCout = Funs.DB.InformationProject_FileCabinetAItem.FirstOrDefault(x => x.FileCabinetAId == FileCabinetAId);
|
||
if (detailCout != null)
|
||
{
|
||
isDelete = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
var supItemSetCount = Funs.DB.InformationProject_FileCabinetA.FirstOrDefault(x => x.SupFileCabinetAId == FileCabinetAId);
|
||
if (supItemSetCount != null)
|
||
{
|
||
isDelete = false;
|
||
}
|
||
}
|
||
}
|
||
return isDelete;
|
||
}
|
||
|
||
#region 页面信息添加到文件柜A
|
||
#region 添加到文件柜A中方法
|
||
/// <summary>
|
||
/// 添加到文件柜A中方法
|
||
/// </summary>
|
||
/// <param name="menuId"></param>
|
||
/// <param name="dataId"></param>
|
||
/// <param name="content"></param>
|
||
public static void AddFileCabinetA(string menuId, string dataId, string content, string url, string projectId)
|
||
{
|
||
var fileCabinetA = BLL.FileCabinetAService.GetFileCabinetAByMenuIdProjectId(menuId, projectId);
|
||
if (fileCabinetA != null) ////判断这个菜单id 是否在文件柜A中 在则插入明细 不在则查找上一级菜单id
|
||
{
|
||
AddDataToFileCabinetAItem(dataId, content, fileCabinetA.FileCabinetAId, url);
|
||
}
|
||
else ///增加改菜单到文件柜A主表 然后增加明细
|
||
{
|
||
AddDataToFileCabinetA(menuId, dataId, content, url, projectId);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 添加到文件柜A中方法
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
/// <param name="menuId"></param>
|
||
/// <param name="dataId"></param>
|
||
/// <param name="content"></param>
|
||
/// <param name="url"></param>
|
||
/// <param name="projectId"></param>
|
||
public static void AddDataToFileCabinetA(string menuId, string dataId, string content, string url, string projectId)
|
||
{
|
||
var sysMenu = BLL.SysMenuService.GetSysMenuByMenuId(menuId);
|
||
if (sysMenu != null)
|
||
{
|
||
Model.InformationProject_FileCabinetA newFileCabinetA = new Model.InformationProject_FileCabinetA
|
||
{
|
||
FileCabinetAId = SQLHelper.GetNewID(typeof(Model.InformationProject_FileCabinetA)),
|
||
ProjectId = projectId,
|
||
Code = sysMenu.SortIndex.ToString(),
|
||
Title = sysMenu.MenuName,
|
||
MenuId = menuId
|
||
};
|
||
if (menuId == "0")
|
||
{
|
||
newFileCabinetA.SupFileCabinetAId = "0";
|
||
}
|
||
else
|
||
{
|
||
newFileCabinetA.SupFileCabinetAId = null;
|
||
}
|
||
newFileCabinetA.IsEndLever = sysMenu.IsEnd;
|
||
BLL.FileCabinetAService.AddFileCabinetA(newFileCabinetA);
|
||
|
||
///查询是否存在下级菜单
|
||
var fileCabinetAList = from x in Funs.DB.InformationProject_FileCabinetA
|
||
join y in Funs.DB.Sys_Menu on x.MenuId equals y.MenuId
|
||
where x.SupFileCabinetAId == null && x.ProjectId == projectId && y.SuperMenu == menuId
|
||
select x;
|
||
if (fileCabinetAList.Count() > 0)
|
||
{
|
||
foreach (var item in fileCabinetAList)
|
||
{
|
||
item.SupFileCabinetAId = newFileCabinetA.FileCabinetAId;
|
||
BLL.FileCabinetAService.UpdateFileCabinetA(item);
|
||
}
|
||
}
|
||
if (sysMenu.IsEnd == true) ///增加明细
|
||
{
|
||
AddDataToFileCabinetAItem(dataId, content, newFileCabinetA.FileCabinetAId, url);
|
||
}
|
||
var fileCabinetASuper = BLL.FileCabinetAService.GetFileCabinetAByMenuIdProjectId(sysMenu.SuperMenu, projectId);
|
||
if (fileCabinetASuper == null) ///继续增加上级菜单
|
||
{
|
||
AddDataToFileCabinetA(sysMenu.SuperMenu, dataId, content, url, projectId);
|
||
}
|
||
else
|
||
{
|
||
|
||
var fileCabinetASuperList = from x in Funs.DB.InformationProject_FileCabinetA
|
||
join y in Funs.DB.Sys_Menu on x.MenuId equals y.MenuId
|
||
where x.ProjectId == projectId && y.SuperMenu == fileCabinetASuper.MenuId && x.SupFileCabinetAId == null
|
||
select x;
|
||
if (fileCabinetASuperList.Count() > 0)
|
||
{
|
||
foreach (var item in fileCabinetASuperList)
|
||
{
|
||
item.SupFileCabinetAId = fileCabinetASuper.FileCabinetAId;
|
||
BLL.FileCabinetAService.UpdateFileCabinetA(item);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
///查询是否存在下级菜单
|
||
var fileCabinetAList = from x in Funs.DB.InformationProject_FileCabinetA
|
||
where x.SupFileCabinetAId == null && x.ProjectId == projectId
|
||
select x;
|
||
if (fileCabinetAList.Count() > 0)
|
||
{
|
||
foreach (var item in fileCabinetAList)
|
||
{
|
||
item.SupFileCabinetAId = "0";
|
||
BLL.FileCabinetAService.UpdateFileCabinetA(item);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 增加文件柜明细
|
||
/// <summary>
|
||
/// 增加文件柜明细
|
||
/// </summary>
|
||
public static void AddDataToFileCabinetAItem(string dataId, string content, string fileCabinetAId, string url)
|
||
{
|
||
var fileCabinetAItem = BLL.FileCabinetAItemService.GetFileCabinetAItemByID(dataId); ///明细是否存在
|
||
if (fileCabinetAItem != null)
|
||
{
|
||
fileCabinetAItem.Title = content;
|
||
BLL.FileCabinetAItemService.UpdateFileCabinetAItem(fileCabinetAItem);
|
||
}
|
||
else
|
||
{
|
||
Model.InformationProject_FileCabinetAItem newFileCabinetAItem = new Model.InformationProject_FileCabinetAItem
|
||
{
|
||
FileCabinetAItemId = dataId,
|
||
FileCabinetAId = fileCabinetAId,
|
||
Code = BLL.CodeRecordsService.ReturnCodeByDataId(dataId),
|
||
Title = content,
|
||
CompileDate = System.DateTime.Now,
|
||
IsMenu = true,
|
||
Url = url
|
||
};
|
||
BLL.FileCabinetAItemService.AddFileCabinetAItem(newFileCabinetAItem);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
}
|
||
}
|