OK lettura elenco utenti

This commit is contained in:
Samuele E. Locatelli
2019-03-29 10:15:17 +01:00
parent 35a70f8963
commit 62d43c8561
3 changed files with 59 additions and 11 deletions
+54 -8
View File
@@ -118,6 +118,31 @@ namespace MConnectSDK
}
}
/// <summary>
/// Ultima response elenco utenti
/// </summary>
protected userListResponse usrListResp
{
get
{
userListResponse answ = new userListResponse();
try
{
answ = JsonConvert.DeserializeObject<userListResponse>(ML.getRSV(ML.redHash("usrListResp")));
}
catch
{ }
return answ;
}
set
{
if (value != null)
{
string serVal = JsonConvert.SerializeObject(value);
ML.setRSV(ML.redHash("usrListResp"), serVal);
}
}
}
/// <summary>
/// Ultimo token response ottenuto (e salvato in REDIS)
/// </summary>
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<userListResponse>(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<userListResponse>(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;
+3 -3
View File
@@ -269,13 +269,13 @@ namespace MConnectSDK
/// <summary>
/// Elenco utenti e dati relativi
/// </summary>
public userData[] result;
public List<userData> result;
}
public class userData
{
public Dictionary<string, List<roleId>> Role_Ids { get; set; }
public Dictionary<string, List<macGroupId>> Machine_Group_Ids { get; set; }
public List<roleId> Role_Ids { get; set; }
public List<macGroupId> Machine_Group_Ids { get; set; }
public bool IsActive { get; set; }
public bool IsAdmin { get; set; }
public string Username { get; set; }
+2
View File
@@ -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;