Beispiel #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 IActionResult AssignGroups(AssignedGroupsViewModel obj)
        {
            List <string> UsersList = new List <string>();

            UsersList = obj.Users.Split(' ').ToList();
            DigitalBoardMarkerContext db = new DigitalBoardMarkerContext();

            for (int i = 1; i < UsersList.Count; i++)
            {
                UserAssignedGroups g = new UserAssignedGroups();
                g.UserId      = Convert.ToInt32(UsersList[i]);
                g.UserGroupId = db.UserGroups.Where(b => b.Name == obj.group).SingleOrDefault().Id;
                if (db.UserAssignedGroups.Any(b => b.UserId == g.UserId && b.UserGroupId == g.UserGroupId))
                {
                    ModelState.AddModelError("", "This User already assigned to that group");
                    break;
                }
                db.Add(g);
            }
            db.SaveChanges();
            return(Ok());
        }