public IEnumerable<CardViewModel> ParseCharacterIntoCards()
{
foreach (XPathNavigator powerElements in _character.CreateNavigator().Select("details/detail[@type='power']"))
{
var name = powerElements.GetAttribute("Name", "");
var powerId = powerElements.GetAttribute("Id", "");
var math = _character.SelectNodes(string.Format("calculations/power[@name='{0}']", name)).Item(0).Value;
var powerDetails = _wotcService.GetPowerDetails(powerId);
powerDetails = _CleanTheText(powerDetails);
var powerInfo = new XmlDocument();
powerInfo.LoadXml(powerDetails);
powerInfo = _CleanTheXml(powerInfo);
yield return new CardViewModel
{
Title = name,
Subtitle = string.Format("{0} {1} {2}", _Source(powerInfo), _Kind(powerInfo), _Level(powerInfo)),
Details = _ToBlocks(_DetailParagraphs(powerInfo)),
Color = _ToColor(_Refresh(powerInfo)),
UnderlyingCalculations = math
};
}
}