private async void Add_Click(object sender, EventArgs e)
        {
            if (functionRoleBindingSource.DataSource != null)
            {
                Role role = comboBox1.SelectedItem as Role;
                if (role != null)
                {
                    foreach (DataGridViewRow row in dataGridView1.SelectedRows)
                    {
                        Function f = row.DataBoundItem as Function;
                        if (f != null)
                        {
                            FunctionRole fr = db.FunctionRoles.Where(p => p.FunctionID == f.FunctionID && p.RolesID == role.RolesID).SingleOrDefault();
                            if (fr == null)
                            {
                                FunctionRole obj = new FunctionRole()
                                {
                                    RolesID = role.RolesID, FunctionID = f.FunctionID
                                };
                                db.FunctionRoles.Add(obj);
                            }
                        }
                    }
                    await db.SaveChangesAsync();

                    functionRoleBindingSource.DataSource = db.FunctionRoles.Where(r => r.RolesID == role.RolesID).ToList();
                }
            }
        }
 //открепить функцию роли пользователя
 public void RemoveFunctionRole(FunctionRole obj)
 {
     using (DataEntities db = new DataEntities())
     {
         db.FunctionRoles.Attach(obj);
         db.FunctionRoles.Remove(obj);
         db.SaveChanges();
     }
 }
Example #3
0
        public FunctionRole GetFunction(string serialid)
        {
            FunctionRole rect = null;

            try
            {
                ISqlMapper mapper = Mapper.Instance();
                rect = (FunctionRole)mapper.QueryForObject("SelectFunctionRole", serialid);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(rect);
        }
Example #4
0
        public bool Update(FunctionRole obj)
        {
            bool rect = false;

            try
            {
                ISqlMapper mapper = Mapper.Instance();
                mapper.Update("UpdateFunctionRole", obj);
                rect = true;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(rect);
        }
 //закрепить функцию роли пользователя
 public void AddFunctionRole(Function function, Role role)
 {
     using (DataEntities db = new DataEntities())
     {
         FunctionRole fr = db.FunctionRoles.Where(p => p.FunctionId == function.Id && p.RoleId == role.Id).SingleOrDefault();
         if (fr == null)
         {
             FunctionRole obj = new FunctionRole()
             {
                 RoleId = role.Id, FunctionId = function.Id
             };
             db.FunctionRoles.Add(obj);
             db.SaveChanges();
         }
     }
 }
Example #6
0
 //открепить функцию роли пользователя
 private void btnRemove_Click(object sender, EventArgs e)
 {
     if (functionRoleBindingSource.DataSource != null)
     {
         Role role = cboRole.SelectedItem as Role;
         if (role != null)
         {
             foreach (DataGridViewRow row in dataGridViewFunctionRole.SelectedRows)
             {
                 FunctionRole fr = row.DataBoundItem as FunctionRole;
                 if (fr != null)
                 {
                     AuthServices.RemoveFunctionRole(fr);
                     functionRoleBindingSource.Remove(fr);
                 }
             }
         }
     }
 }
 private async void Remove_Click(object sender, EventArgs e)
 {
     if (functionRoleBindingSource.DataSource != null)
     {
         Role role = comboBox1.SelectedItem as Role;
         if (role != null)
         {
             foreach (DataGridViewRow row in dataGridView2.SelectedRows)
             {
                 FunctionRole fr = row.DataBoundItem as FunctionRole;
                 if (fr != null)
                 {
                     db.FunctionRoles.Remove(fr);
                     functionRoleBindingSource.Remove(fr);
                 }
             }
             await db.SaveChangesAsync();
         }
     }
 }
Example #8
0
        /// <summary>
        /// 初始化权限独特属性
        /// </summary>
        public Permission_Page(string data)
            : base(data)
        {
            if (string.IsNullOrWhiteSpace(data))
            {
                PageUrl  = "";
                OpenMode = PageOpenMode.No;
                RelyOn   = FunctionRole.System;
            }
            else
            {
                JObject jobj = JObject.Parse(data);
                if (jobj["PageUrl"] == null || jobj["PageUrl"].ToString() == "")
                {
                    PageUrl = "";
                }
                else
                {
                    PageUrl = (String)jobj["PageUrl"];
                }

                if (jobj["OpenMode"] == null || jobj["OpenMode"].ToString() == "")
                {
                    OpenMode = PageOpenMode.No;
                }
                else
                {
                    OpenMode = (PageOpenMode)((int)jobj["OpenMode"]);
                }

                if (jobj["RelyOn"] == null || jobj["RelyOn"].ToString() == "")
                {
                    RelyOn = FunctionRole.System;
                }
                else
                {
                    RelyOn = (FunctionRole)((int)jobj["RelyOn"]);
                }
            }
        }
Example #9
0
 public void AddFunctionToRole(FunctionRole functionRole)
 {
     _functionRoleRepository.Add(functionRole);
 }
Example #10
0
 //открепить функцию роли пользователя
 public static void RemoveFunctionRole(FunctionRole obj)
 {
     authobject.RemoveFunctionRole(obj);
 }
        public async Task <ServiceResponseBase> UpdateFunctionTree(TreeData models, AccountViewModel account)
        {
            try
            {
                //var reFunctions = await GetList();
                var roleFuncs = await _accessManagementContext.FunctionRole
                                .Where(o => o.RoleId == Convert.ToInt32(models.Id)).ToListAsync();

                foreach (var roleFunc in roleFuncs)
                {
                    var function = await _accessManagementContext.Function.FirstOrDefaultAsync(o => o.Id == roleFunc.FunctionId);

                    var _function = models.DataTree.FirstOrDefault(o => o.id == function.Code);
                    if (_function == null)
                    {
                        _accessManagementContext.FunctionRole.Remove(roleFunc);
                    }
                    else
                    {
                        #region 更新functions
                        string opNames = "";
                        foreach (var d in _function.children)
                        {
                            if (d.id.Contains("OpName1"))
                            {
                                opNames += "OpName1,";
                            }

                            if (d.id.Contains("OpName2"))
                            {
                                opNames += "OpName2,";
                            }

                            if (d.id.Contains("OpName3"))
                            {
                                opNames += "OpName3,";
                            }

                            if (d.id.Contains("OpName4"))
                            {
                                opNames += "OpName4,";
                            }

                            if (d.id.Contains("OpName5"))
                            {
                                opNames += "OpName5,";
                            }

                            if (d.id.Contains("OpName6"))
                            {
                                opNames += "OpName6,";
                            }

                            if (d.id.Contains("OpName7"))
                            {
                                opNames += "OpName7,";
                            }

                            if (d.id.Contains("OpName8"))
                            {
                                opNames += "OpName8,";
                            }

                            if (d.id.Contains("OpName9"))
                            {
                                opNames += "OpName9,";
                            }

                            if (d.id.Contains("OpName10"))
                            {
                                opNames += "OpName10,";
                            }
                        }
                        #endregion
                        roleFunc.OpNames = opNames.Remove(opNames.Count() - 1);
                    }
                }

                var functionIds   = roleFuncs.Select(o => o.FunctionId).ToList();
                var functionCodes = await _accessManagementContext.Function.Where(o => functionIds.Contains(o.Id))
                                    .Select(o => o.Code).ToListAsync();

                var _models = models.DataTree.Where(o => !functionCodes.Contains(o.id)).ToList();
                foreach (var model in _models)
                {
                    var function = await _accessManagementContext.Function.
                                   Where(o => o.Code == model.id && o.CompanyId == account.CompanyId).FirstOrDefaultAsync();

                    if (function == null)
                    {
                        continue;
                    }
                    var functionRole = new FunctionRole()
                    {
                        RoleId     = Convert.ToInt32(models.Id),
                        FunctionId = function.Id
                    };

                    string opNames = "";
                    foreach (var d in model.children)
                    {
                        if (d.id.Contains("OpName1"))
                        {
                            opNames += "OpName1,";
                        }

                        if (d.id.Contains("OpName2"))
                        {
                            opNames += "OpName2,";
                        }

                        if (d.id.Contains("OpName3"))
                        {
                            opNames += "OpName3,";
                        }

                        if (d.id.Contains("OpName4"))
                        {
                            opNames += "OpName4,";
                        }

                        if (d.id.Contains("OpName5"))
                        {
                            opNames += "OpName5,";
                        }

                        if (d.id.Contains("OpName6"))
                        {
                            opNames += "OpName6,";
                        }

                        if (d.id.Contains("OpName7"))
                        {
                            opNames += "OpName7,";
                        }

                        if (d.id.Contains("OpName8"))
                        {
                            opNames += "OpName8,";
                        }

                        if (d.id.Contains("OpName9"))
                        {
                            opNames += "OpName9,";
                        }

                        if (d.id.Contains("OpName10"))
                        {
                            opNames += "OpName10,";
                        }
                    }
                    functionRole.OpNames = opNames.Remove(opNames.Count() - 1);
                    _accessManagementContext.FunctionRole.Add(functionRole);
                }
                await _accessManagementContext.SaveChangesAsync();

                return(new ServiceResponseBase()
                {
                    Status = Status.ok
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message, ex);
                return(new ServiceResponseBase()
                {
                    Status = Status.error, Message = ex.Message
                });
            }
        }