0
Good morning, I’m having trouble retrieving an array item within a Mongo document using C#. Below is an example of a document:
{"_id":"5e1374ae38fa7026b88d4dc8",
"Estacao":"NomeDaEstacao",
"Diretorio":[{"Caminho":"c:",
"TmoMonDiretorio":50,
"UltimoMonDiretorio":"2020-01-06T17:55:58.370Z"}],
"Habilitado":true}
Path is a Directory object; Station, Tmomondiretorio, Ultimomondirectory and Enabled are Settings objects. Still within Configuration there is a List Directory. I’m getting Recover station and enabled with the method below and save in their respective variables, but Tmomondiretorio, Ultimomondiretorio not finding, follows the code.
private Diretorio RecDiretorio(BsonDocument doc)
{
if(doc !=null)
{
Diretorio diret = new Diretorio(doc.GetValue("Caminho").AsString;
return diret
}
return null;
}
private Configuracao RecCfgMonitoramento(BsonDocument doc)
{
if (doc != null)
{
List<Diretorio> dir = new List<Diretorio>();
if (doc.Contains("Diretorio"))
{
BsonArray diretorioBD = doc.GetValue("Diretorio").AsBsonArray;
foreach (BsonValue diretorio in diretorioBD)
dir.Add(RecCfgDiretorio(diretorio.AsBsonDocument));
}
Configuracao cfgMonitoramento = new Configuracao(
doc.GetValue("Estacao").AsString,
dir,
(float)doc.GetValue("TmoMonDiretorio").AsInt32,
doc.Contains("UltimoDiretorio") ? doc.GetValue("UltimoMonDiretorio").ToLocalTime() : DateTime.MinValue,
doc.GetValue("Habilitado").AsBoolean);
// Cria filtro.
return cfgMonitoramento;
}
return null;
}
Class Configuration
public class Configuracao{
public string Estacao { get; set; }
public List<Diretorio> Diretorios { get; set; }
public float TmoMonDiretorios { get; set; } // (segundos)
public DateTime UltimoMonDiretorios { get; set; }
public bool Habilitado { get; set; }
public Configuracao() : this("", new List<Diretorio>(), 0.0F, true) { }
public Configuracao(string estacao,
List<Diretorio> diretorio,
float tmoMonDiretorios,
DateTime ultimoMonDiretorios,
bool habilitado)
{
Estacao = estacao;
Diretorios = diretorio;
TmoMonDiretorios = tmoMonDiretorios;
UltimoMonDiretorios = ultimoMonDiretorios;
Habilitado = habilitado;
}
}
In conclusion, I need to recover the data of Tmomondiretorio and Ultimomondiretorio, when debugging the code, path and enabled this working, would have how to help me?
Edit:
public class Diretorio
{
public string Caminho{ get; set; }
public long EspacoTotal{ get; set; }
public long EspacoDisponivel{ get; set; }
public double PercentualDisponivel
{
get { return 100.0 * EspacoDisponivel / EspacoTotal; }
}
// ---------------------------------------------------------------------------------------
// -- Construtores
// ---------------------------------------------------------------------------------------
/// <summary>
/// Construtor padrão.
/// </summary>
public Diretorio() : this("") { }
public Diretorio(string caminho, long espacoTotal, long espacoDisponivel)
{
Caminho = caminho;
EspacoTotal = espacoTotal;
EspacoDisponivel = espacoDisponivel;
}
}
Could include the code of
Diretorio
?– tvdias