public static SearchResult ConvertListOfMetadataToSearchResultObject(List<Metadata> metadataList, int pageSize,int currentPage)
{
SearchResult sro = new SearchResult();
sro.PageSize = pageSize;
sro.CurrentPage = currentPage;
sro.NumberOfHits = metadataList.Count();
List<HeaderItem> Header = new List<HeaderItem>();
List<HeaderItem> DefaultHeader = new List<HeaderItem>();
List<Row> RowList = new List<Row>();
foreach (Metadata m in metadataList)
{
if(metadataList.First()==m)
{
HeaderItem hi = new HeaderItem();
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("datasetid").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
DefaultHeader.Add(hi);
sro.Id = hi;
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("title").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
DefaultHeader.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("owner").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
DefaultHeader.Add(hi);
hi = new HeaderItem();
hi.Name = "PrimaryData";
hi.DisplayName = "Primary Data";
Header.Add(hi);
DefaultHeader.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("versionID").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
DefaultHeader.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("fileType").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("dateLastModified").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("projectLeader").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("dateEntry").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("qualityLevel").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
hi = new HeaderItem();
hi.Name = m.GetValueFromNode("dataStatus").Item(0).Name;
hi.DisplayName = hi.Name.Titleize();
Header.Add(hi);
}
Row r = new Row();
List<object> ValueList = new List<object>();
ValueList = new List<object>();
ValueList.Add(Convert.ToInt32(m.GetValueFromNode("datasetid").Item(0).InnerText));
ValueList.Add(m.GetValueFromNode("title").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("owner").Item(0).InnerText);
ValueList.Add("YES");
ValueList.Add(m.GetValueFromNode("versionID").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("fileType").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("dateLastModified").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("projectLeader").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("dateEntry").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("qualityLevel").Item(0).InnerText);
ValueList.Add(m.GetValueFromNode("dataStatus").Item(0).InnerText);
r.Values = ValueList;
r.PreviewItem = GetPrevieItem();
RowList.Add(r);
}
sro.Header = Header;
sro.Rows = RowList;
sro.DefaultVisibleHeaderItem = DefaultHeader;
sro.PageSize = pageSize;
sro.CurrentPage = currentPage;
return sro;
}