public List<ListViewItem> LoadDatasetVersionViewList( DataStructureType dataStructureType)
{
PermissionManager permissionManager = new PermissionManager();
SubjectManager subjectManager = new SubjectManager();
// add security
ICollection<long> datasetIDs = permissionManager.GetAllDataIds(subjectManager.GetUserByName(GetUsernameOrDefault()).Id, 1, RightType.Update).ToList();
DataStructureManager dataStructureManager = new DataStructureManager();
DatasetManager dm = new DatasetManager();
Dictionary<long, XmlDocument> dmtemp = new Dictionary<long, XmlDocument>();
dmtemp = dm.GetDatasetLatestMetadataVersions();
List<ListViewItem> temp = new List<ListViewItem>();
if (dataStructureType.Equals(DataStructureType.Structured))
{
List<StructuredDataStructure> list = dataStructureManager.StructuredDataStructureRepo.Get().ToList();
foreach (StructuredDataStructure sds in list)
{
sds.Materialize();
foreach (Dataset d in sds.Datasets)
{
if (dm.IsDatasetCheckedIn(d.Id))
{
if (datasetIDs.Contains(d.Id))
{
temp.Add(new ListViewItem(d.Id,
XmlDatasetHelper.GetInformation(dm.GetDatasetLatestVersion(d),
NameAttributeValues.title)));
}
}
}
}
}
else
{
List<UnStructuredDataStructure> list = dataStructureManager.UnStructuredDataStructureRepo.Get().ToList();
foreach (UnStructuredDataStructure sds in list)
{
foreach (Dataset d in sds.Datasets)
{
if (datasetIDs.Contains(d.Id))
{
if (dm.IsDatasetCheckedIn(d.Id))
{
DatasetVersion datasetVersion = dm.GetDatasetLatestVersion(d);
temp.Add(new ListViewItem(d.Id,
XmlDatasetHelper.GetInformation(datasetVersion, NameAttributeValues.title)));
}
}
}
}
}
return temp.OrderBy(p => p.Title).ToList();
}