public static async Task UpdateUserInGraph(ClickUser clickUser, DBHelper db) { User user = new User(); user.GivenName = clickUser.firstName; user.Surname = clickUser.lastName; user.MobilePhone = clickUser.mobilePhone; user.DisplayName = $"{clickUser.firstName} {clickUser.lastName}"; user.State = "ClickSync"; if (Program.disableUsers) { user.AccountEnabled = clickUser.isActive; } try { Program.WriteLog("d", $"updating user {clickUser.tz}{Program.userPrincipalNameSuffix}"); var result = await Program.graphServiceClient.Users[$"{clickUser.tz}{Program.userPrincipalNameSuffix}"].Request().UpdateAsync(user); string graphObjectId = clickUser.clickObjectID; await db.UpdateClickSynced(clickUser.tz); Program.WriteLog("d", $"updated user {clickUser.tz}{Program.userPrincipalNameSuffix}"); Program.usersUpdated++; } catch (Exception ex) { Program.error = true; Program.errors++; string str = $"error updating user {clickUser.tz}{Program.userPrincipalNameSuffix} Error: {ex.Message}"; Program.WriteLog("e", str); db.WriteLog("ERROR", str); await db.UpdateClickSynced(clickUser.tz); } }
public static async Task RemoveUserFromGroupInGraph(ClickUser clickUser, string groupID, DBHelper db) { try{ Program.WriteLog("d", $"removing user {clickUser.tz}{Program.userPrincipalNameSuffix} from group {groupID}"); await Program.graphServiceClient.Groups[groupID].Members[clickUser.clickObjectID].Reference.Request().DeleteAsync(); await db.UpdateClickSynced(clickUser.tz); Program.WriteLog("d", $"removed user {clickUser.tz}{Program.userPrincipalNameSuffix} from group {groupID}"); }catch (Exception ex) { Program.error = true; string str = $"error removing user {clickUser.tz}{Program.userPrincipalNameSuffix} from group {groupID} Error: {ex.Message}"; Program.WriteLog("e", str); db.WriteLog("ERROR", str); await db.UpdateClickSynced(clickUser.tz); } }
public static async Task <List <string> > CheckUserGroupsInGraph(List <string> groupIds, ClickUser clickUser, DBHelper db) { try { var result = await Program.graphServiceClient.Users[$"{clickUser.tz}{Program.userPrincipalNameSuffix}"] .CheckMemberGroups(groupIds) .Request().PostAsync(); return(result.ToList()); } catch (System.Exception ex) { Program.error = true; Program.errors++; string str = $"error checking user {clickUser.tz}{Program.userPrincipalNameSuffix} groups Error: {ex.Message}"; Program.WriteLog("e", str); db.WriteLog("ERROR", str); await db.UpdateClickSynced(clickUser.tz); return(new List <string>()); } }