示例#1
0
        public SecurityModels.Role GetRole(int id)
        {
            SecurityModels.Role role = new SecurityModels.Role();

            using (SqlConnection con = new SqlConnection(securityConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand("GetRole", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@Id", SqlDbType.Int).Value = id;
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        role.id          = Convert.ToInt32(reader["ID"].ToString());
                        role.name        = reader["Name"].ToString();
                        role.displayName = reader["displayName"].ToString();
                        role.active      = id == 0 ? false : Convert.ToBoolean(reader["Active"].ToString());
                        role.permissions = GetRolePermissions(reader["Permissions"].ToString());
                    }
                }
                con.Close();
            }
            return(role);
        }
示例#2
0
 public IActionResult UpdateRole([FromBody] SecurityModels.Role role)
 {
     try
     {
         role.id = securityInventoryRepo.UpdateRole(role);
         return(StatusCode(StatusCodes.Status200OK, role.id));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status400BadRequest, ex.Message));
     }
 }
示例#3
0
        public int UpdateRole(SecurityModels.Role role)
        {
            DataTable tblPermissions = new DataTable();

            tblPermissions.Columns.Add("Name", typeof(string));
            tblPermissions.Columns.Add("assigned", typeof(bool));

            if (role.permissions != null)
            {
                foreach (SecurityModels.RolePermission permission in role.permissions)
                {
                    if (permission.assigned)
                    {
                        DataRow row = tblPermissions.NewRow();
                        row["Name"]     = permission.name;
                        row["assigned"] = permission.assigned;
                        tblPermissions.Rows.Add(row);
                    }
                }
            }

            try
            {
                using (SqlConnection con = new SqlConnection(securityConnectionString))
                {
                    using (SqlCommand cmd = new SqlCommand("UpdateRole", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@Id", SqlDbType.Int).Value                    = role.id;
                        cmd.Parameters.Add("@Name", SqlDbType.VarChar, 50).Value          = role.name;
                        cmd.Parameters.Add("@displayName", SqlDbType.VarChar, 50).Value   = role.displayName;
                        cmd.Parameters.Add("@Active", SqlDbType.Bit).Value                = role.active ? 1 : 0;
                        cmd.Parameters.Add("@Permissions", SqlDbType.Structured, 0).Value = tblPermissions;
                        con.Open();
                        role.id = Convert.ToInt32(cmd.ExecuteScalar());
                    }
                    con.Close();
                }
            }
            catch
            {
                throw;
            }

            return(role.id);
        }
示例#4
0
 public void UpdateRoleStatus(SecurityModels.Role role)
 {
     try
     {
         using (SqlConnection con = new SqlConnection(securityConnectionString))
         {
             using (SqlCommand cmd = new SqlCommand("UpdateRoleStatus", con))
             {
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.Add("@Id", SqlDbType.Int).Value     = role.id;
                 cmd.Parameters.Add("@Active", SqlDbType.Bit).Value = role.active;
                 con.Open();
                 cmd.ExecuteNonQuery();
             }
             con.Close();
         }
     }
     catch
     {
         throw;
     }
 }
示例#5
0
 public IActionResult GetRole(int id)
 {
     SecurityModels.Role role = securityInventoryRepo.GetRole(id);
     return(StatusCode(StatusCodes.Status200OK, role));
 }
示例#6
0
 public IActionResult UpdateRoleStatus([FromBody] SecurityModels.Role permission)
 {
     securityInventoryRepo.UpdateRoleStatus(permission);
     return(StatusCode(StatusCodes.Status200OK, permission));
 }