XElement strEt1XmlContent = _IOXML.GetEt1XmlContent(strUnitLogPath + "et1.xml");
ArrayList et1ServerHDItems = _ItemsET1.GetHDItems(strEt1XmlContent);
public XElement GetEt1XmlContent(string strUnitLogPathEt1)
{
XElement rootEt1 = new XElement("et1", Encoding.UTF8);
if (!File.Exists(strUnitLogPathEt1))
{
return rootEt1;
}
try
{
rootEt1 = XElement.Load(strUnitLogPathEt1);
}
catch (Exception ex)
{
string err = ex.Message;
}
return rootEt1;
}
public ArrayList GetHDItems(XElement et1)
{
ArrayList aListServerHDItems = new ArrayList();
if (et1.IsEmpty)
{
return aListServerHDItems;
}
try
{
var query = from b in et1.Descendants("Device")
where (b.Element("DeviceName").Value.Contains("HDD") && b.Element("Commodity").Value.Contains("hard_drive"))
select b;
string aListServerHDPartNum = "";
string aListServerHDVendor = "";
string aListServerHDCommodity = "";
string aListServerHDFwRev = "";
string aListServerHDCapacity = "";
string aListServerHDCount = "";
int ServerHDCount = 0;
foreach (var item in query)
{
if (item.Element("PPID") != null)
{
aListServerHDPartNum = aListServerHDPartNum + item.Element("PPID").Value.Substring(3, 5).ToString().Trim() + ";";
}
if (item.Element("Capacity") != null)
{
ServerHDCount++;
aListServerHDCapacity = aListServerHDCapacity + (item.Element("Capacity").Value.ToString().Trim()) + ";";
}
if (item.Element("Vendor") != null)
{
if (!aListServerHDVendor.Contains(item.Element("Vendor").Value.ToString().Trim()))
{
aListServerHDVendor = aListServerHDVendor + (item.Element("Vendor").Value.ToString().Trim()) + ";";
}
}
if (item.Element("Commodity") != null)
{
if (!aListServerHDCommodity.Contains(item.Element("Commodity").Value.ToString().Trim()))
{
aListServerHDCommodity = aListServerHDCommodity + (item.Element("Commodity").Value.ToString().Trim()) + ";";
}
}
if (item.Element("FwRev") != null)
{
if (!aListServerHDFwRev.Contains(item.Element("FwRev").Value.ToString().Trim()))
{
aListServerHDFwRev = aListServerHDFwRev + (item.Element("FwRev").Value.ToString().Trim()) + ";";
}
}
}
aListServerHDCount = ServerHDCount.ToString();
aListServerHDItems.Add(aListServerHDPartNum);
aListServerHDItems.Add(aListServerHDCapacity);
aListServerHDItems.Add(aListServerHDVendor);
aListServerHDItems.Add(aListServerHDCommodity);
aListServerHDItems.Add(aListServerHDFwRev);
aListServerHDItems.Add(aListServerHDCount);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
throw e;
}
return aListServerHDItems;
}