Ejemplo n.º 1
0
        /// <summary>
        /// 启用管理员账号
        /// </summary>
        /// <param name="keyValue">主键值</param>
        public void AddAdmin(string keyValue)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();
            //先找到当前机构的角色id
            var roleEnity = db.FindEntity <RoleEntity>(t => t.OrganizeId == keyValue);

            if (roleEnity != null)
            {
                //再给当前角色添加菜单权限
                var authorize = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEnity.RoleId && t.ItemId == "26cba400-c984-4f6b-b025-76d4dbf54184");
                if (authorize == null)
                {
                    AuthorizeEntity authorizeEntity2 = new AuthorizeEntity();
                    authorizeEntity2.Create();
                    authorizeEntity2.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                    authorizeEntity2.ObjectId = roleEnity.RoleId;                       //角色id,角色限定了机构和部门
                    authorizeEntity2.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                    authorizeEntity2.ItemId   = "26cba400-c984-4f6b-b025-76d4dbf54184"; //项目主键
                    authorizeEntity2.SortCode = 8;
                    db.Insert(authorizeEntity2);

                    db.Commit();
                }
            }
            //修改平台管理员标识
            OrganizeEntity organizeEntity = GetEntity(keyValue);

            organizeEntity.PTAdminMark = 1;
            this.BaseRepository().Update(organizeEntity);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                #region 功能
                int SortCode = 1;
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);
                if (moduleIds.Length > 0)
                {
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = 1;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        db.Insert(authorizeEntity);
                    }
                }
                else
                {
                    db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                }
                #endregion

                if (moduleColumnIds.Length > 0)
                {
                    foreach (string mId in moduleColumnIds)
                    {
                        #region 数据权限
                        SortCode = 1;
                        int index = 0;
                        db.ExecuteBySql(string.Format("delete from BASE_AUTHORIZEDATA where ObjectId='{0}' and resourceid='{1}'", objectId, mId));
                        foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                        {
                            authorizeDataEntity.Create();
                            authorizeDataEntity.Category   = (int)authorizeType;
                            authorizeDataEntity.ObjectId   = objectId;
                            authorizeDataEntity.ResourceId = mId;
                            // authorizeDataEntity.Module = "Department";
                            authorizeDataEntity.SortCode = SortCode++;
                            db.Insert(authorizeDataEntity);
                            index++;
                        }
                        #endregion
                    }
                }
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, TelphoneLiangVipEntity entity)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            if (!string.IsNullOrEmpty(keyValue))
            {
                entity.Modify(keyValue);
                this.BaseRepository().Update(entity);
            }
            else
            {
                entity.Create();
                this.BaseRepository().Insert(entity);
                //修改机构表中的vip标识位
                var orgEntity = db.FindEntity <OrganizeEntity>(t => t.OrganizeId == entity.OrganizeId);
                orgEntity.VipMark = 1;
                db.Update(orgEntity);

                //根据机构id获取角色id
                var roleEntity = db.FindEntity <RoleEntity>(t => t.OrganizeId == entity.OrganizeId);
                //如果上传号码上限>0,添加'靓号库'菜单
                if (entity.UploadMax > 0)
                {
                    var authorize = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "16cea332-0204-4f7d-a510-0426329205ff");
                    if (authorize != null)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeEntity.ObjectId = roleEntity.RoleId;                      //角色id,角色限定了机构和部门
                        authorizeEntity.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                        authorizeEntity.ItemId   = "16cea332-0204-4f7d-a510-0426329205ff"; //项目主键
                        authorizeEntity.SortCode = 100;
                        db.Insert(authorizeEntity);
                    }
                }

                //如果代售号码上限>0,添加'代售靓号库'菜单
                if (entity.OtherMax > 0)
                {
                    var authorize = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "effbaf18-e4d1-4250-9aa0-370422634a21");
                    if (authorize != null)
                    {
                        AuthorizeEntity authorizeEntity2 = new AuthorizeEntity();
                        authorizeEntity2.Create();
                        authorizeEntity2.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeEntity2.ObjectId = roleEntity.RoleId;                      //角色id,角色限定了机构和部门
                        authorizeEntity2.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                        authorizeEntity2.ItemId   = "effbaf18-e4d1-4250-9aa0-370422634a21"; //项目主键
                        authorizeEntity2.SortCode = 100;
                        db.Insert(authorizeEntity2);
                    }
                }
                db.Commit();
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);

                #region 功能
                int SortCode = 1;
                foreach (string item in moduleIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 1;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region  钮
                SortCode = 1;
                foreach (string item in moduleButtonIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 2;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 视图
                SortCode = 1;
                foreach (string item in moduleColumnIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 3;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 数据权限
                SortCode = 1;
                db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                int index = 0;
                foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                {
                    authorizeDataEntity.Create();
                    authorizeDataEntity.Category = (int)authorizeType;
                    authorizeDataEntity.ObjectId = objectId;
                    // authorizeDataEntity.Module = "Department";
                    authorizeDataEntity.SortCode = SortCode++;
                    db.Insert(authorizeDataEntity);
                    index++;
                }
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                                  string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            //先清除历史授权数据
            int isSucc = this.BaseRepository().Delete <AuthorizeDataEntity>(u => u.ObjectId == objectId);

            if (isSucc >= 0)
            {
                #region 功能

                List <AuthorizeEntity> authorizeMenuList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 1,
                        ItemId   = moduleIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeMenuList.Add(authorize);
                }
                //保存
                int res = this.BaseRepository().Insert(authorizeMenuList);

                #endregion 功能

                #region  钮

                List <AuthorizeEntity> authorizeButtonList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleButtonIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 2,
                        ItemId   = moduleButtonIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeButtonList.Add(authorize);
                }
                //保存
                res = this.BaseRepository().Insert(authorizeButtonList);

                #endregion  钮

                #region 视图

                List <AuthorizeEntity> authorizeViewList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleColumnIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 3,
                        ItemId   = moduleColumnIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeViewList.Add(authorize);
                }
                //保存
                res = this.BaseRepository().Insert(authorizeViewList);

                #endregion 视图

                #region 数据权限

                //清除数据权限
                isSucc = this
                         .BaseRepository().Delete <AuthorizeDataEntity>(u => u.ObjectId == objectId);
                int sortCode = 1;
                List <AuthorizeDataEntity> authorizeDataTempList = new List <AuthorizeDataEntity>();

                foreach (AuthorizeDataEntity authorizeData in authorizeDataList)
                {
                    authorizeData.Category = (int)authorizeType;
                    authorizeData.ObjectId = objectId;
                    authorizeData.SortCode = sortCode++;
                    authorizeData.Create();

                    authorizeDataTempList.Add(authorizeData);
                }
                //保存
                this.BaseRepository().Insert(authorizeDataTempList);

                #endregion 数据权限
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 新增下级代理
        /// </summary>
        /// <param name="organizeEntity"></param>
        public void SaveNewAgent(OrganizeEntity organizeEntity)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                #region 新增机构
                //父机构
                if (organizeEntity.ParentId == null)
                {
                    throw new Exception("上级机构不能为空!");
                }

                if (organizeEntity.ParentId != "0")
                {
                    var parentEntity = this.BaseRepository().FindEntity(organizeEntity.ParentId);
                    organizeEntity.Category = parentEntity.Category + 1;

                    //顶级机构
                    IEnumerable <OrganizeEntity> topList = GetParentIdByOrgId(organizeEntity.ParentId);
                    if (topList.Count() > 0 && string.IsNullOrEmpty(organizeEntity.Img1))
                    {
                        OrganizeEntity topEntity = topList.First();
                        organizeEntity.TopOrganizeId = topEntity.OrganizeId;//顶级机构
                    }
                }
                else
                {
                    organizeEntity.Category = 0;
                }
                //如果图片为空
                if (string.IsNullOrEmpty(organizeEntity.Img1))
                {
                    organizeEntity.Img1 = Config.GetValue("Img1");
                    organizeEntity.Img2 = Config.GetValue("Img2");
                    organizeEntity.Img3 = Config.GetValue("Img3");
                    organizeEntity.Img4 = Config.GetValue("Img4");
                }

                organizeEntity.Create();

                db.Insert(organizeEntity);
                #endregion

                #region 新增默认管理部门
                DepartmentEntity department = new DepartmentEntity();
                department.OrganizeId = organizeEntity.OrganizeId;
                department.ParentId   = "0";
                department.EnCode     = organizeEntity.OuterPhone;//账号
                department.FullName   = organizeEntity.FullName;
                department.Create();
                db.Insert(department);
                #endregion

                #region 新增默认靓号角色
                RoleEntity role = new RoleEntity();
                role.OrganizeId = organizeEntity.OrganizeId;
                role.Category   = 1;                         //分类1 - 角色2 - 岗位3 - 职位4 - 工作组
                role.EnCode     = organizeEntity.OuterPhone; //账号
                role.FullName   = organizeEntity.FullName;
                role.Create();
                db.Insert(role);
                #endregion

                #region 授权功能
                //string copyObject = "f7e8ce33-ce79-460f-a24c-d0ed53001477";//复制二级唐山和讯老李17040258888管理
                ////临沂大华单独处理
                //if (organizeEntity.TopOrganizeId== "a5a962da-57e1-4ad4-87b2-bbdcd1b7cc92" && organizeEntity.Category != 0)
                //{
                //    copyObject = "1062959a-bd81-4547-ac9a-c51f750ea237";//珊哥在线管理(只显示机构,其它什么都没有)
                //}
                //else
                //{
                //    if (organizeEntity.Category < 1)
                //    {
                //        copyObject = "209b63c7-3638-45e7-b24a-cf88f6d5c9dd";//复制唐山和讯老李17040258888管理(零,一级)
                //    }
                //}
                string copyObject = "c1139630-d98f-4412-be8e-2c13cfd11380";//默认三级:不显示靓号库,看不到底价
                //临沂大华单独处理
                if (organizeEntity.TopOrganizeId == "a5a962da-57e1-4ad4-87b2-bbdcd1b7cc92" && organizeEntity.Category != 0)
                {
                    copyObject = "fbf669b2-e7fc-450d-a3e5-20e005cab567";//测试4级机构    18777777777(只显示机构,其它什么都没有)
                }
                else
                {
                    if (organizeEntity.Category <= 1)
                    {
                        copyObject = "094115aa-4635-4ad0-b798-76d34c6d4e72";//零级:含基础设置 18660999999
                    }
                    else if (organizeEntity.Category == 2)
                    {
                        copyObject = "12de4dd4-156b-4495-8f43-e235d6de85d2";//二级:可看低价,无基础设置18666666666
                    }
                }


                var AuthorizeList = db.FindList <AuthorizeEntity>(t => t.ObjectId == copyObject);
                foreach (AuthorizeEntity item in AuthorizeList)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = 2;             //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                    authorizeEntity.ObjectId = role.RoleId;   //角色id,角色限定了机构和部门
                    authorizeEntity.ItemType = item.ItemType; //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                    authorizeEntity.ItemId   = item.ItemId;   //项目主键
                    authorizeEntity.SortCode = item.SortCode;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 数据权限 就一个
                AuthorizeDataEntity authorizeDataEntity = new AuthorizeDataEntity();
                authorizeDataEntity.Create();
                authorizeDataEntity.AuthorizeType = 4;           //授权类型: 1 - 仅限本人2 - 仅限本人及下属3 - 所在部门4 - 所在公司5 - 按明细设置
                authorizeDataEntity.Category      = 2;           //对象分类: 1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                authorizeDataEntity.ObjectId      = role.RoleId; //角色id,角色限定了机构和部门
                authorizeDataEntity.IsRead        = 0;
                authorizeDataEntity.SortCode      = 1;
                db.Insert(authorizeDataEntity);
                #endregion

                #region 新增默认用户
                UserEntity userEntity = new UserEntity();
                userEntity.Create();
                userEntity.Account      = organizeEntity.OuterPhone; //登录名为机构名拼音首字母organizeEntity.EnCode
                userEntity.RealName     = organizeEntity.Manager;    //organizeEntity.FullName
                userEntity.WeChat       = organizeEntity.ShortName;  //微信昵称
                userEntity.OrganizeId   = organizeEntity.OrganizeId;
                userEntity.DepartmentId = department.DepartmentId;
                userEntity.RoleId       = role.RoleId;
                userEntity.Gender       = 1;
                userEntity.Secretkey    = Md5Helper.MD5(CommonHelper.CreateNo(), 16).ToLower();
                userEntity.Password     = Md5Helper.MD5(DESEncrypt.Encrypt(Md5Helper.MD5("0000", 32).ToLower(), userEntity.Secretkey).ToLower(), 32).ToLower();
                db.Insert(userEntity);
                #endregion

                #region 新增默认用户关系
                UserRelationEntity userRelationEntity = new UserRelationEntity();
                userRelationEntity.Create();
                userRelationEntity.Category = 2;//登录名为机构名拼音首字母
                userRelationEntity.UserId   = userEntity.UserId;
                userRelationEntity.ObjectId = userEntity.RoleId;
                db.Insert(userRelationEntity);
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 保存机构表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="organizeEntity">机构实体</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, OrganizeEntity organizeEntity)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                organizeEntity.Modify(keyValue);
                this.BaseRepository().Update(organizeEntity);
            }
            else
            {
                organizeEntity.Create();

                organizeEntity.EnCode = Str.PinYin(organizeEntity.FullName);//登录名为机构名拼音首字母
                this.BaseRepository().Insert(organizeEntity);

                IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();
                try
                {
                    //新增默认管理部门
                    DepartmentEntity department = new DepartmentEntity();
                    department.OrganizeId = organizeEntity.OrganizeId;
                    department.ParentId   = "0";
                    department.EnCode     = organizeEntity.EnCode + "01";
                    department.FullName   = organizeEntity.FullName + "管理部";
                    department.Create();
                    db.Insert(department);

                    //新增默认靓号角色
                    RoleEntity role = new RoleEntity();
                    role.OrganizeId = organizeEntity.OrganizeId;
                    role.Category   = 1;//分类1 - 角色2 - 岗位3 - 职位4 - 工作组
                    role.EnCode     = organizeEntity.EnCode + "01";
                    role.FullName   = organizeEntity.FullName + "管理";
                    role.Create();
                    db.Insert(role);


                    #region 授权功能
                    var AuthorizeList = db.FindList <AuthorizeEntity>(t => t.ObjectId == "48c566d6-3dfb-4b08-8f62-a662642db300");
                    foreach (AuthorizeEntity item in AuthorizeList)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = 2;  //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeEntity.ObjectId = role.RoleId;
                        authorizeEntity.ItemType = item.ItemType;
                        authorizeEntity.ItemId   = item.ItemId;
                        authorizeEntity.SortCode = item.SortCode;
                        db.Insert(authorizeEntity);
                    }
                    #endregion

                    #region 数据权限
                    var authorizeDataList = db.FindList <AuthorizeDataEntity>(t => t.ObjectId == "48c566d6-3dfb-4b08-8f62-a662642db300");
                    foreach (AuthorizeDataEntity item in authorizeDataList)
                    {
                        AuthorizeDataEntity authorizeDataEntity = new AuthorizeDataEntity();
                        authorizeDataEntity.Create();
                        authorizeDataEntity.AuthorizeType = item.AuthorizeType; //授权类型: 1 - 仅限本人2 - 仅限本人及下属3 - 所在部门4 - 所在公司5 - 按明细设置
                        authorizeDataEntity.Category      = 2;                  //对象分类: 1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeDataEntity.ObjectId      = role.RoleId;
                        authorizeDataEntity.IsRead        = item.IsRead;
                        authorizeDataEntity.SortCode      = item.SortCode;
                        db.Insert(authorizeDataEntity);
                    }
                    #endregion



                    //新增默认用户
                    UserEntity userEntity = new UserEntity();
                    userEntity.Create();
                    userEntity.Account      = organizeEntity.EnCode;//登录名为机构名拼音首字母
                    userEntity.RealName     = organizeEntity.FullName;
                    userEntity.OrganizeId   = organizeEntity.OrganizeId;
                    userEntity.DepartmentId = department.DepartmentId;
                    userEntity.RoleId       = role.RoleId;
                    userEntity.Secretkey    = Md5Helper.MD5(CommonHelper.CreateNo(), 16).ToLower();
                    userEntity.Password     = Md5Helper.MD5(DESEncrypt.Encrypt(Md5Helper.MD5("0000", 32).ToLower(), userEntity.Secretkey).ToLower(), 32).ToLower();
                    db.Insert(userEntity);

                    //新增默认用户关系
                    UserRelationEntity userRelationEntity = new UserRelationEntity();
                    userRelationEntity.Create();
                    userRelationEntity.Category = 2;//登录名为机构名拼音首字母
                    userRelationEntity.UserId   = userEntity.UserId;
                    userRelationEntity.ObjectId = userEntity.RoleId;
                    db.Insert(userRelationEntity);

                    db.Commit();
                }
                catch (Exception)
                {
                    db.Rollback();
                    throw;
                }
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 保存表单(新增、修改)
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void SaveForm(string keyValue, TelphoneLiangVipEntity entity)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            if (!string.IsNullOrEmpty(keyValue))
            {
                var oldEntity = db.FindEntity <TelphoneLiangVipEntity>(t => t.Id == keyValue);
                //加入共享平台
                if (entity.ShareMark == 1 && oldEntity.ShareMark != 1)
                {
                    string shareOrg = RedisCache.Get <string>("ShareOrg");
                    if (!string.IsNullOrEmpty(shareOrg))
                    {
                        if (!shareOrg.Contains(entity.OrganizeId))
                        {
                            RedisCache.Set <string>("ShareOrg", shareOrg + ",'" + entity.OrganizeId + "'");
                        }
                    }
                }

                //取消共享
                if (entity.ShareMark != 1 && oldEntity.ShareMark == 1)
                {
                    string shareOrg = RedisCache.Get <string>("ShareOrg");
                    if (!string.IsNullOrEmpty(shareOrg))
                    {
                        RedisCache.Set <string>("ShareOrg", shareOrg.Replace(",'" + entity.OrganizeId + "'", ""));
                    }
                }

                entity.Modify(keyValue);
                this.BaseRepository().Update(entity);
            }
            else
            {
                entity.Create();
                this.BaseRepository().Insert(entity);
                //修改机构表中的vip标识位
                var orgEntity = db.FindEntity <OrganizeEntity>(t => t.OrganizeId == entity.OrganizeId);
                orgEntity.VipMark = 1;
                db.Update(orgEntity);

                //根据机构id获取角色id
                var roleEntity = db.FindEntity <RoleEntity>(t => t.OrganizeId == entity.OrganizeId);
                //如果上传号码上限>0,添加'靓号库'菜单,Base_Module菜单id
                if (entity.UploadMax > 0)
                {
                    var authorize = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "16cea332-0204-4f7d-a510-0426329205ff");
                    if (authorize == null)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeEntity.ObjectId = roleEntity.RoleId;                      //角色id,角色限定了机构和部门
                        authorizeEntity.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                        authorizeEntity.ItemId   = "16cea332-0204-4f7d-a510-0426329205ff"; //项目主键
                        authorizeEntity.SortCode = 100;
                        db.Insert(authorizeEntity);
                    }
                }

                //如果代售号码上限>0,添加'代售靓号库'菜单,Base_Module菜单id
                if (entity.OtherMax > 0)
                {
                    var authorize = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "effbaf18-e4d1-4250-9aa0-370422634a21");
                    if (authorize == null)
                    {
                        AuthorizeEntity authorizeEntity2 = new AuthorizeEntity();
                        authorizeEntity2.Create();
                        authorizeEntity2.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                        authorizeEntity2.ObjectId = roleEntity.RoleId;                      //角色id,角色限定了机构和部门
                        authorizeEntity2.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                        authorizeEntity2.ItemId   = "effbaf18-e4d1-4250-9aa0-370422634a21"; //项目主键
                        authorizeEntity2.SortCode = 100;
                        db.Insert(authorizeEntity2);
                    }
                }
                //报表
                var authorize6 = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "6");
                if (authorize6 == null)
                {
                    AuthorizeEntity authorizeEntity2 = new AuthorizeEntity();
                    authorizeEntity2.Create();
                    authorizeEntity2.Category = 2;                 //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                    authorizeEntity2.ObjectId = roleEntity.RoleId; //角色id,角色限定了机构和部门
                    authorizeEntity2.ItemType = 1;                 //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                    authorizeEntity2.ItemId   = "6";               //项目主键
                    authorizeEntity2.SortCode = 12;
                    db.Insert(authorizeEntity2);
                }
                //靓号销售报表
                var authorize61 = db.FindEntity <AuthorizeEntity>(t => t.ObjectId == roleEntity.RoleId && t.ItemId == "44498bc7-33ac-418f-a0f8-c88241afa118");
                if (authorize61 == null)
                {
                    AuthorizeEntity authorizeEntity2 = new AuthorizeEntity();
                    authorizeEntity2.Create();
                    authorizeEntity2.Category = 2;                                      //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                    authorizeEntity2.ObjectId = roleEntity.RoleId;                      //角色id,角色限定了机构和部门
                    authorizeEntity2.ItemType = 1;                                      //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                    authorizeEntity2.ItemId   = "44498bc7-33ac-418f-a0f8-c88241afa118"; //项目主键
                    authorizeEntity2.SortCode = 13;
                    db.Insert(authorizeEntity2);
                }

                db.Commit();

                //添加缓存分享平台
                if (entity.ShareMark == 1)
                {
                    string shareOrg = RedisCache.Get <string>("ShareOrg");
                    if (!string.IsNullOrEmpty(shareOrg))
                    {
                        RedisCache.Set <string>("ShareOrg", shareOrg + ",'" + entity.OrganizeId + "'");
                    }
                }
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 新增下级代理
        /// </summary>
        /// <param name="organizeEntity"></param>
        public void SaveNewAgent(OrganizeEntity organizeEntity)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                #region 新增机构
                //父机构
                if (organizeEntity.ParentId == null)
                {
                    organizeEntity.ParentId = "0";
                    //throw new Exception("上级机构不能为空!");
                }

                if (organizeEntity.ParentId != "0")
                {
                    var parentEntity = this.BaseRepository().FindEntity(organizeEntity.ParentId);
                    organizeEntity.Category = parentEntity.Category + 1;

                    //顶级机构
                    IEnumerable <OrganizeEntity> topList = GetParentIdByOrgId(organizeEntity.ParentId);
                    if (topList.Count() > 0 && string.IsNullOrEmpty(organizeEntity.Img1))
                    {
                        OrganizeEntity topEntity = topList.First();
                        organizeEntity.TopOrganizeId = topEntity.OrganizeId;//顶级机构
                    }
                }
                else
                {
                    organizeEntity.Category = 0;
                }
                organizeEntity.Create();
                #endregion

                #region 新增默认管理部门
                DepartmentEntity department = new DepartmentEntity();
                department.OrganizeId = organizeEntity.OrganizeId;
                department.ParentId   = "0";
                department.EnCode     = organizeEntity.OuterPhone;//账号
                department.FullName   = organizeEntity.FullName;
                department.Create();
                db.Insert(department);
                #endregion

                #region 新增默认靓号角色
                RoleEntity role = new RoleEntity();
                role.OrganizeId = organizeEntity.OrganizeId;
                role.Category   = 1;                         //分类1 - 角色2 - 岗位3 - 职位4 - 工作组
                role.EnCode     = organizeEntity.OuterPhone; //账号
                role.FullName   = organizeEntity.FullName;
                role.Create();
                db.Insert(role);
                #endregion

                #region 授权功能
                var AuthorizeList = db.FindList <AuthorizeEntity>(t => t.ObjectId == "6581e298-d4b4-4347-96da-030d82cd247b");
                foreach (AuthorizeEntity item in AuthorizeList)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = 2;             //1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                    authorizeEntity.ObjectId = role.RoleId;   //角色id,角色限定了机构和部门
                    authorizeEntity.ItemType = item.ItemType; //项目类型: 1 - 菜单2 - 按钮3 - 视图4表单
                    authorizeEntity.ItemId   = item.ItemId;   //项目主键
                    authorizeEntity.SortCode = item.SortCode;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 数据权限 就一个
                AuthorizeDataEntity authorizeDataEntity = new AuthorizeDataEntity();
                authorizeDataEntity.Create();
                authorizeDataEntity.AuthorizeType = 4;           //授权类型: 1 - 仅限本人2 - 仅限本人及下属3 - 所在部门4 - 所在公司5 - 按明细设置
                authorizeDataEntity.Category      = 2;           //对象分类: 1 - 部门2 - 角色3 - 岗位4 - 职位5 - 工作组
                authorizeDataEntity.ObjectId      = role.RoleId; //角色id,角色限定了机构和部门
                authorizeDataEntity.IsRead        = 0;
                authorizeDataEntity.SortCode      = 1;
                db.Insert(authorizeDataEntity);
                #endregion

                #region 新增默认用户
                UserEntity userEntity = new UserEntity();
                userEntity.Create();
                role.EnCode             = organizeEntity.OuterPhone; //账号
                userEntity.Account      = organizeEntity.OuterPhone; //登录名为机构名拼音首字母organizeEntity.EnCode
                userEntity.RealName     = organizeEntity.Manager;    //organizeEntity.FullName
                userEntity.WeChat       = organizeEntity.ShortName;  //微信昵称
                userEntity.OrganizeId   = organizeEntity.OrganizeId;
                userEntity.DepartmentId = department.DepartmentId;
                userEntity.RoleId       = role.RoleId;
                userEntity.Gender       = 1;
                userEntity.Secretkey    = Md5Helper.MD5(CommonHelper.CreateNo(), 16).ToLower();
                userEntity.Password     = Md5Helper.MD5(DESEncrypt.Encrypt(Md5Helper.MD5("0000", 32).ToLower(), userEntity.Secretkey).ToLower(), 32).ToLower();
                db.Insert(userEntity);
                #endregion

                #region 新增默认用户关系
                UserRelationEntity userRelationEntity = new UserRelationEntity();
                userRelationEntity.Create();
                userRelationEntity.Category = 2;//登录名为机构名拼音首字母
                userRelationEntity.UserId   = userEntity.UserId;
                userRelationEntity.ObjectId = userEntity.RoleId;
                db.Insert(userRelationEntity);
                #endregion

                #region 新增代理表
                var agentEntity = agentService.GetEntityByOpenId(organizeEntity.ManagerId);
                if (agentEntity == null)
                {
                    var weChat_Users = db.FindEntity <WeChat_UsersEntity>(t => t.OpenId == organizeEntity.ManagerId);
                    if (weChat_Users != null)
                    {
                        agentEntity = new Wechat_AgentEntity()
                        {
                            OpenId     = weChat_Users.OpenId,
                            nickname   = weChat_Users.NickName,
                            Sex        = weChat_Users.Sex,
                            HeadimgUrl = weChat_Users.HeadimgUrl,
                            Province   = weChat_Users.Province,
                            City       = weChat_Users.City,
                            Country    = weChat_Users.Country,
                            LV         = "普通代理",
                            Category   = 0,
                            OrganizeId = organizeEntity.OrganizeId, //绑定机构id
                        };
                        agentEntity.Create();                       //create得不到id,自增
                        agentService.SaveForm(null, agentEntity);   //提交数据库之后才能拿到id,复制给机构表中的agentid
                        //更新id,0级机构上级和顶级都是本机构
                        agentEntity.Pid      = agentEntity.Id;
                        agentEntity.Tid      = agentEntity.Id;
                        agentEntity.Category = 0;//改为0级代理
                        agentService.SaveForm(agentEntity.Id, agentEntity);
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(agentEntity.OrganizeId))
                    {
                        agentEntity.OrganizeId = organizeEntity.OrganizeId;//如果不存在代理机构id,
                        //更新id,0级机构上级和顶级都是本机构
                        agentEntity.Pid      = agentEntity.Id;
                        agentEntity.Tid      = agentEntity.Id;
                        agentEntity.Category = 0;//改为0级代理
                        db.Update(agentEntity);
                    }
                }
                organizeEntity.AgentId = agentEntity.Id;//绑定代理id
                #endregion

                db.Insert(organizeEntity);
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="entity">AuthorizeEntity enumeration which represents allowed entities.</param>
 public AuthorizeAttribute(AuthorizeEntity entity)
 {
     Entity = entity;
 }
Ejemplo n.º 11
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            try
            {
                using (var tran = QSDMS_SQLDB.GetInstance().GetTransaction())
                {
                    //删除授权
                    Base_Authorize.Delete("where ObjectId=@0", objectId);

                    #region 功能
                    int SortCode = 1;
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.菜单;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region  钮
                    SortCode = 1;
                    foreach (string item in moduleButtonIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.钮;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region 视图
                    SortCode = 1;
                    foreach (string item in moduleColumnIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.视图;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region 数据权限
                    SortCode = 1;
                    Base_AuthorizeDatum.Delete("where objectId=@0", objectId);
                    int index = 0;
                    foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                    {
                        authorizeDataEntity.Create();
                        authorizeDataEntity.Category = (int)authorizeType;
                        authorizeDataEntity.ObjectId = objectId;
                        authorizeDataEntity.SortCode = SortCode++;
                        Base_AuthorizeDatum authorizedata = EntityConvertTools.CopyToModel <AuthorizeDataEntity, Base_AuthorizeDatum>(authorizeDataEntity, null);
                        authorizedata.Insert();
                        index++;
                    }
                    #endregion
                    tran.Complete();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="entity">AuthorizeEntity enumeration which represents allowed entities.</param>
 public AuthorizeAttribute(AuthorizeEntity entity)
 {
     Entity = entity;
 }
Ejemplo n.º 13
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            //IModuleService bll = new ModuleService();
            //IEnumerable<ModuleEntity> IEModule = bll.GetListByParent();

            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);

                int SortCode = 1;
                if (moduleIds != null)
                {
                    #region 功能
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = 1;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        db.Insert(authorizeEntity);
                    }
                    #endregion

                    #region  钮
                    if (moduleButtonIds != null)
                    {
                        SortCode = 1;
                        foreach (string item in moduleButtonIds)
                        {
                            //if (IEModule.Count(t => t.ModuleId == item) == 0)
                            //{
                            AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                            authorizeEntity.Create();
                            authorizeEntity.Category = (int)authorizeType;
                            authorizeEntity.ObjectId = objectId;
                            authorizeEntity.ItemType = 2;
                            authorizeEntity.ItemId   = item;
                            authorizeEntity.SortCode = SortCode++;
                            db.Insert(authorizeEntity);
                            //}
                        }
                    }
                    #endregion

                    #region 视图
                    if (moduleColumnIds != null)
                    {
                        SortCode = 1;
                        foreach (string item in moduleColumnIds)
                        {
                            //if (IEModule.Count(t => t.ModuleId == item) == 0)
                            //{
                            AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                            authorizeEntity.Create();
                            authorizeEntity.Category = (int)authorizeType;
                            authorizeEntity.ObjectId = objectId;
                            authorizeEntity.ItemType = 3;
                            authorizeEntity.ItemId   = item;
                            authorizeEntity.SortCode = SortCode++;
                            db.Insert(authorizeEntity);
                            //}
                        }
                    }
                    #endregion
                }
                #region 数据权限
                SortCode = 1;
                db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                int index = 0;
                foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                {
                    authorizeDataEntity.Create();
                    authorizeDataEntity.Category = (int)authorizeType;
                    authorizeDataEntity.ObjectId = objectId;
                    // authorizeDataEntity.Module = "Department";
                    authorizeDataEntity.SortCode = SortCode++;
                    db.Insert(authorizeDataEntity);
                    index++;
                }
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                                  string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IDbTransaction tran = null;

            Logger(this.GetType(), "SaveAuthorize-添加授权", () =>
            {
                using (var conn = this.BaseRepository().GetBaseConnection())
                {
                    tran = conn.BeginTransaction();

                    //先清除历史授权数据
                    int isSucc = this.BaseRepository().Delete <AuthorizeEntity>(conn, u => u.ObjectId == objectId, tran);

                    if (isSucc >= 0)
                    {
                        #region 功能

                        List <AuthorizeEntity> authorizeMenuList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 1,
                                ItemId   = moduleIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeMenuList.Add(authorize);
                        }
                        //保存
                        int res = this.BaseRepository().Insert(conn, authorizeMenuList, tran);

                        #endregion 功能

                        #region  钮

                        List <AuthorizeEntity> authorizeButtonList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleButtonIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 2,
                                ItemId   = moduleButtonIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeButtonList.Add(authorize);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeButtonList, tran);

                        #endregion  钮

                        #region 视图

                        List <AuthorizeEntity> authorizeViewList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleColumnIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 3,
                                ItemId   = moduleColumnIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeViewList.Add(authorize);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeViewList, tran);

                        #endregion 视图

                        #region 数据权限

                        //清除数据权限
                        isSucc       = this.BaseRepository().Delete <AuthorizeDataEntity>(conn, u => u.ObjectId == objectId, tran);
                        int sortCode = 1;
                        List <AuthorizeDataEntity> authorizeDataTempList = new List <AuthorizeDataEntity>();

                        foreach (AuthorizeDataEntity authorizeData in authorizeDataList)
                        {
                            authorizeData.Category = (int)authorizeType;
                            authorizeData.ObjectId = objectId;
                            authorizeData.SortCode = sortCode++;
                            authorizeData.Create();

                            authorizeDataTempList.Add(authorizeData);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeDataTempList, tran);

                        #endregion 数据权限
                    }

                    tran.Commit();
                }
            }, e =>
            {
                Trace.WriteLine(e.Message);
            });
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 作者:姚栋
        /// 日期:2018-05-30
        /// 描述:给某个岗位进行项目授权
        /// </summary>
        ///  <param name="authorizeType">授权类型</param>
        /// <param name="postId">岗位Id</param>
        /// <param name="moduleIds">项目Id集合</param>·
        /// <returns></returns>

        public void SaveAuthorizeAndPost(AuthorizeTypeEnum authorizeType, string postId, string[] projectColumnIds, string[] arryprojectNames)
        {
            var projectList = this.BaseRepository().IQueryable <Base_ProjectInfoEntity>().ToList();

            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                if (projectColumnIds.Length != arryprojectNames.Length)
                {
                    throw new Exception("授权数据异常!");
                }


                #region 数据权限

                int SortCode = 1;
                Base_ProjectInfoEntity currentProject = null;
                for (int i = 0; i < projectColumnIds.Length; i++)
                {
                    currentProject = projectList.FirstOrDefault(p => p.ProjectID == projectColumnIds[i]);
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = postId;
                    authorizeEntity.ItemType = (int)AuthorizeItmeTypeEnum.ProjectInfo;
                    authorizeEntity.ItemId   = projectColumnIds[i];
                    authorizeEntity.ItemName = arryprojectNames[i];
                    authorizeEntity.SortCode = SortCode++;
                    if (currentProject != null)
                    {
                        authorizeEntity.Remark1 = currentProject.CompanyName;
                        authorizeEntity.Remark2 = currentProject.CityName;
                    }

                    db.Insert(authorizeEntity);
                }
                //foreach (string item in projectColumnIds)
                //{
                //    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                //    authorizeEntity.Create();
                //    authorizeEntity.Category = (int)authorizeType;
                //    authorizeEntity.ObjectId = postId;
                //    authorizeEntity.ItemType = (int)AuthorizeItmeTypeEnum.ProjectInfo;
                //    authorizeEntity.ItemId = item;
                //    authorizeEntity.SortCode = SortCode++;
                //    db.Insert(authorizeEntity);
                //}
                #endregion
                StringBuilder strSql = new StringBuilder();
                strSql.Append(@"update Base_Role set AuthorizationMethod=@AuthorizationMethod where RoleId=@PostID");
                var parameter = new List <DbParameter>();
                parameter.Add(DbParameters.CreateDbParameter("@PostID", postId));
                parameter.Add(DbParameters.CreateDbParameter("@AuthorizationMethod", (int)AuthorizationMethodEnum.CustomizeProject));
                db.ExecuteBySql(strSql.ToString(), parameter.ToArray());
                db.Commit();
            }
            catch (Exception ex)
            {
                db.Rollback();
                throw new Exception(ex.Message);
            }
        }