Exemplo n.º 1
0
        //保存
        public int SaveRole(SYS_ROLE_EX role)
        {
            var cuo = _repo.SaveValidateRoleById(role);

            if (cuo > 0)
            {
                return(-2);//重复No
            }
            int re = 0;

            role.ROLE_TYPE = 2; //默认公司自定义角色
            using (TransactionScope scope = new TransactionScope())
            {
                if (role.ROLE_ID <= 0) // 新增
                {
                    role.LAST_MODI_DATE = role.CREATE_DATE = DateTime.Now;
                    re = (int)_repo.Insert(role);
                    if (re > 0)
                    {
                        //新建角色菜单
                        if (!string.IsNullOrEmpty(role.MENU_IDS))
                        {
                            var menumIds = role.MENU_IDS.Split(',');
                            foreach (var item in menumIds)
                            {
                                SYS_ROLE_RIGHT srr = new SYS_ROLE_RIGHT()
                                {
                                    RIGHT_ID = Int32.Parse(item),
                                    ROLE_ID  = re
                                };
                                int srrId = (int)_repo.Insert(srr);
                                if (srrId < 1)
                                {
                                    re = srrId;
                                    break;
                                }
                            }
                        }
                    }
                }
                else
                {
                    role.LAST_MODI_DATE = DateTime.Now;
                    role.RemoveUpdateColumn("CREATE_USER");
                    role.RemoveUpdateColumn("CREATE_DATE");
                    re = (int)_repo.Update(role);
                    if (re > 0)
                    {
                        //先删除
                        if (_repo.DeleteRIGHTSByRoleId(role.ROLE_ID) < 0)
                        {
                            re = 0;
                        }
                        //再添加
                        else
                        {
                            //新建角色菜单
                            if (!string.IsNullOrEmpty(role.MENU_IDS))
                            {
                                var menumIds = role.MENU_IDS.Split(',');
                                foreach (var item in menumIds)
                                {
                                    SYS_ROLE_RIGHT srr = new SYS_ROLE_RIGHT()
                                    {
                                        RIGHT_ID = Int32.Parse(item),
                                        ROLE_ID  = role.ROLE_ID
                                    };
                                    int srrId = (int)_repo.Insert(srr);
                                    if (srrId < 1)
                                    {
                                        re = srrId;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }

                if (re > 0)
                {
                    scope.Complete();
                }
            }
            return(re);
        }
Exemplo n.º 2
0
 //保存
 public int SaveRole_Right(SYS_ROLE_RIGHT srr)
 {
     return((int)_repo.Insert(srr));
 }