/// <summary> /// 用户管理:添加、修改、删除 /// </summary> /// <returns></returns> public MyResponseBase Pre_RolePremSet_AddUpdateDeleteSaves() { using (var scope = new TransactionScope()) { try { //(1)根据用户ID查询:用户角色 Sys_HOperControl = null; OperCode = "Pre_RolePremSet.ByRoleID"; var OldItems = Execute().Items; if (Item.Items == null) { Item.Items = new List <SoftProjectAreaEntity>(); } #region (2)数据整理 Item.Items.ForEach(p => p.Pre_RoleID = Item.Pre_RoleID); var deleteIDsEnum = (from p in OldItems select p.Pre_RolePremSetID).Except(from o in Item.Items select o.Pre_RolePremSetID); var updateItems = Item.Items.Where(p => p.Pre_RolePremSetID != null && !deleteIDsEnum.Contains(p.Pre_RolePremSetID)); var addItems = Item.Items.Where(p => p.Pre_RolePremSetID == null); #endregion //return null; #region (3)删除 if (deleteIDsEnum.Count() > 0) { var deleteIDs = string.Join(",", deleteIDsEnum); var sql = string.Format("DELETE [dbo].[Pre_RolePremSet] WHERE Pre_RolePremSetID IN({0})", deleteIDs); var resptemp = Query16(sql, 1); } #endregion #region 更新 if (updateItems.Count() > 0) { SoftProjectAreaEntityDomain domain = new SoftProjectAreaEntityDomain { Items = updateItems.ToList() }; domain.Pre_RolePremSet_Domain(); var operCode = "Pre_RolePremSet.EditSave"; var resptemp = domain.ExecuteEnums(operCode); } #endregion #region 添加 if (addItems.Count() > 0) { SoftProjectAreaEntityDomain domain = new SoftProjectAreaEntityDomain { Items = addItems.ToList() }; domain.Pre_RolePremSet_Domain(); var operCode = "Pre_RolePremSet.AddSave"; var resptemp = domain.ExecuteEnums(operCode); } #endregion scope.Complete(); SoftProjectAreaEntityDomain.Pre_RolePremSetAll_Clare(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { scope.Dispose(); } } return(resp); }