public static FightRequestTemplateResolution Resolve(FightRequestTemplate template, FightContextData context) { if (template == null) { throw new ArgumentNullException(nameof(template)); } if (context?.Fight == null) { throw new ArgumentNullException(nameof(context)); } var result = new FightRequestTemplateResolution(); result.MappingValues.Clear(); result.MappingValues.Add(RequestWildcard.ReportId, context.ReportId); result.MappingValues.Add(RequestWildcard.FightEnd, context.Fight.end_time.ToString() ?? string.Empty); result.MappingValues.Add(RequestWildcard.FightStart, context.Fight.start_time.ToString() ?? string.Empty); result.MappingValues.Add(RequestWildcard.FightId, context.Fight.id.ToString() ?? string.Empty); var sb = new StringBuilder(template.RequestTemplate); foreach (var mapping in result.MappingValues) { sb.Replace(mapping.Key.Key, mapping.Value); } result.ResolvedTemplate = sb.ToString(); return(result); }
public async Task <string> GetFightContentAsync(FightRequestTemplate requestTemplate, FightContextData context) { var resolution = FightRequestTemplateResolver.Resolve(requestTemplate, context); return(await DownloadStringAsync(resolution.ResolvedTemplate).ConfigureAwait(false)); }
public GenericHitDetectionParser(FightRequestTemplate template) { Template = template; }
public void SetTemplate(FightRequestTemplate template) { Template = template; }
public GenericDamageTakenParser(FightRequestTemplate template) { Template = template; }