示例#1
0
 public UserAssignedGroups GetGroups(string UserId)
 {
     using (SqlCommand cmd = new SqlCommand("Select UserId, FirstName, LastName From dbo.ApplicationUsers Where UserId = @UserId; Select A.GroupName, Case When B.UserId IS NULL Then 'false' Else 'true' End As IsAssigned From dbo.ApplicationGroups A Left Outer Join dbo.UserGroups B On A.GroupName = B.GroupName And B.UserId = @UserId;", Conn)) {
         cmd.CommandTimeout = ComTimeout;
         cmd.Parameters.AddWithValue("@UserId", UserId);
         var            ug  = new UserAssignedGroups();
         AssignedGroups obj = null;
         try {
             OpenConnection();
             using (SqlDataReader dr = cmd.ExecuteReader()) {
                 while (dr.Read())
                 {
                     ug.UserId   = (string)dr["UserId"];
                     ug.FullName = $"{(string)dr["FirstName"]} {(string)dr["LastName"]}";
                 }
                 dr.NextResult();
                 while (dr.Read())
                 {
                     obj = new AssignedGroups {
                         GroupName  = (string)dr["GroupName"],
                         IsAssigned = bool.Parse(dr["IsAssigned"].ToString())
                     };
                     ug.Groups.Add(obj);
                 }
             }
             return(ug);
         } finally {
             CloseConnection();
         }
     }
 }
 public string[]? GetAssignedGroups()
 {
     if (AssignedGroups == null)
     {
         return(null);
     }
     string[] values = AssignedGroups.TrimStart('[').TrimEnd(']').Split(',', StringSplitOptions.RemoveEmptyEntries);
     for (int i = 0; i < values.Length; i++)
     {
         values[i] = values[i].Trim('"');
     }
     return(values);
 }