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
|
|||
|
}
|
|||
|
}
|