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