public static CardViewModel ApplyTransformPipeline(XPathNavigator powerElement, IEnumerable<Func<PowerPipelineState, PowerPipelineState>> pipeline, XmlDocument character) { var state = new PowerPipelineState(powerElement, character.CreateNavigator()); state = pipeline.Aggregate(state, (current, op) => op(current)); return state.ViewModel; }
public static CardViewModel ApplyTransformPipeline(XPathNavigator powerElement, IEnumerable <Func <PowerPipelineState, PowerPipelineState> > pipeline, XmlDocument character) { var state = new PowerPipelineState(powerElement, character.CreateNavigator()); state = pipeline.Aggregate(state, (current, op) => op(current)); return(state.ViewModel); }
public PowerPipelineState ToPowerInfo(PowerPipelineState state) { var name = state.PowerElement.GetAttribute("Name", ""); var powerId = state.PowerElement.GetAttribute("Id", ""); var math = state.Character.Select(string.Format("calculations/power[@name='{0}']", name)).Cast<XPathNavigator>().First().Value; state.LocalInfo = new PowerLocalInfo(name, powerId, math); return state; }
public PowerPipelineState ToPowerInfo(PowerPipelineState state) { var name = state.PowerElement.GetAttribute("Name", ""); var powerId = state.PowerElement.GetAttribute("Id", ""); var math = state.Character.Select(string.Format("calculations/power[@name='{0}']", name)).Cast <XPathNavigator>().First().Value; state.LocalInfo = new PowerLocalInfo(name, powerId, math); return(state); }
public IEnumerable <CardViewModel> ParseCharacterIntoCards() { foreach (XPathNavigator powerElement in FindAllPowers()) { var state = new PowerPipelineState(powerElement, _character.CreateNavigator()); state = ToPowerInfo(state); state = GetOnlineInfoForPower(state); state = CleanTheResponse(state); state = CreateViewModel(state); yield return(state.ViewModel); } }
public PowerPipelineState CreateViewModel(PowerPipelineState state) { state.ViewModel = new CardViewModel { Title = state.LocalInfo.Name, Subtitle = string.Format("{0} {1} {2}", _formatter.Source(state.CleanResponse), _formatter.Kind(state.CleanResponse), _formatter.Level(state.CleanResponse)), Details = _formatter.ToBlocks(_formatter.DetailParagraphs(state.CleanResponse)), Color = _formatter.ToColor(_formatter.Refresh(state.CleanResponse)), UnderlyingCalculations = state.LocalInfo.Math }; return(state); }
public PowerPipelineState CreateViewModel(PowerPipelineState state) { state.ViewModel = new CardViewModel { Title = state.LocalInfo.Name, Subtitle = string.Format("{0} {1} {2}", _formatter.Source(state.CleanResponse), _formatter.Kind(state.CleanResponse), _formatter.Level(state.CleanResponse)), Details = _formatter.ToBlocks(_formatter.DetailParagraphs(state.CleanResponse)), Color = _formatter.ToColor(_formatter.Refresh(state.CleanResponse)), UnderlyingCalculations = state.LocalInfo.Math }; return state; }
public PowerPipelineState CleanTheResponse(PowerPipelineState state) { state.CleanResponse = _cleaner.CleanTheXml(_ParseXml(_cleaner.CleanTheText(state.WotcResponse))); return(state); }
public PowerPipelineState GetOnlineInfoForPower(PowerPipelineState state) { state.WotcResponse = _wotcService.GetPowerDetails(state.LocalInfo.PowerId); return(state); }
public PowerPipelineState GetOnlineInfoForPower(PowerPipelineState state) { state.WotcResponse = _wotcService.GetPowerDetails(state.LocalInfo.PowerId); return state; }
public PowerPipelineState CleanTheResponse(PowerPipelineState state) { state.CleanResponse = _cleaner.CleanTheXml(_ParseXml(_cleaner.CleanTheText(state.WotcResponse))); return state; }
public IEnumerable<CardViewModel> ParseCharacterIntoCards() { foreach (XPathNavigator powerElement in FindAllPowers()) { var state = new PowerPipelineState(powerElement, _character.CreateNavigator()); state = ToPowerInfo(state); state = GetOnlineInfoForPower(state); state = CleanTheResponse(state); state = CreateViewModel(state); yield return state.ViewModel; } }