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