diff --git a/MConnectSDK/MConnectClient.cs b/MConnectSDK/MConnectClient.cs
index 79be8d7..59fe133 100644
--- a/MConnectSDK/MConnectClient.cs
+++ b/MConnectSDK/MConnectClient.cs
@@ -118,6 +118,31 @@ namespace MConnectSDK
}
}
///
+ /// Ultima response elenco utenti
+ ///
+ protected userListResponse usrListResp
+ {
+ get
+ {
+ userListResponse answ = new userListResponse();
+ try
+ {
+ answ = JsonConvert.DeserializeObject(ML.getRSV(ML.redHash("usrListResp")));
+ }
+ catch
+ { }
+ return answ;
+ }
+ set
+ {
+ if (value != null)
+ {
+ string serVal = JsonConvert.SerializeObject(value);
+ ML.setRSV(ML.redHash("usrListResp"), serVal);
+ }
+ }
+ }
+ ///
/// Ultimo token response ottenuto (e salvato in REDIS)
///
protected tokenResponse tokResp
@@ -1076,19 +1101,40 @@ namespace MConnectSDK
// parametri chiamata...SENZA /api...
string shortBaseUrl = BaseUrl.Replace("/api", "");
- string pageUrl = $"{shortBaseUrl}/clients/{organizationCode}/users?skip=0&limit=1";
- // effettuo call effettiva
+ string pageUrl = $"{shortBaseUrl}/clients/{organizationCode}/users?skip=0&limit=5";
+ // effettuo call PRELIMINARE
var taskRes = Task.Run(() => Utils.getPageAsync(pageUrl, verifResp.access_token));
taskRes.Wait();
-
var rawResult = taskRes.Result;
-
- // leggo la rispsota in var temporanea...
+ // leggo la risposta in var temporanea...
var resp = JsonConvert.DeserializeObject(rawResult);
-
-
-
+ // ora che so quanti utenti ho --> chiedo TUTTI!
+ pageUrl = $"{shortBaseUrl}/clients/{organizationCode}/users?skip=0&limit={resp.total}";
+ // effettuo call EFFETTIVA
+ taskRes = Task.Run(() => Utils.getPageAsync(pageUrl, verifResp.access_token));
+ taskRes.Wait();
+ rawResult = taskRes.Result;
+ // leggo la risposta in var temporanea...
+ resp = JsonConvert.DeserializeObject(rawResult);
+ // salvo in cache REDIS
+ usrListResp = resp;
+ UserData _newUser;
+ Image userImg = null;
+ // recupero effettivi dati utente e restituisco...
+ foreach (var item in resp.result)
+ {
+ _newUser = new UserData
+ {
+ UserId = item.Id,
+ IsAdmin = item.IsAdmin,
+ Username = item.Username,
+ Email = item.Email,
+ Cognome = item.Lastname,
+ Nome = item.Firstname,
+ UserImage = userImg
+ };
+ }
}
return answ;
diff --git a/MConnectSDK/Utils.cs b/MConnectSDK/Utils.cs
index c0c3d21..99a0f40 100644
--- a/MConnectSDK/Utils.cs
+++ b/MConnectSDK/Utils.cs
@@ -269,13 +269,13 @@ namespace MConnectSDK
///
/// Elenco utenti e dati relativi
///
- public userData[] result;
+ public List result;
}
public class userData
{
- public Dictionary> Role_Ids { get; set; }
- public Dictionary> Machine_Group_Ids { get; set; }
+ public List Role_Ids { get; set; }
+ public List Machine_Group_Ids { get; set; }
public bool IsActive { get; set; }
public bool IsAdmin { get; set; }
public string Username { get; set; }
diff --git a/TestClient/MainForm.cs b/TestClient/MainForm.cs
index ffe8c6a..e46e656 100644
--- a/TestClient/MainForm.cs
+++ b/TestClient/MainForm.cs
@@ -54,6 +54,8 @@ namespace TestClient
private void fixDisplay()
{
+ // mostro init SOLO SE ho conf yaml...
+ btnInit.Enabled = txtConfFile.Text.Trim() != "";
// verifico SE ho inizializzato x cui POSSO mostrare alcuni buttons...
bool enableBtn = (MCC != null);
btnFlush.Enabled = enableBtn;