Example #1
0
        /// <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);
        }