Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public async Task <string> GetFightContentAsync(FightRequestTemplate requestTemplate, FightContextData context)
        {
            var resolution = FightRequestTemplateResolver.Resolve(requestTemplate, context);

            return(await DownloadStringAsync(resolution.ResolvedTemplate).ConfigureAwait(false));
        }
Exemplo n.º 3
0
 public GenericHitDetectionParser(FightRequestTemplate template)
 {
     Template = template;
 }
Exemplo n.º 4
0
 public void SetTemplate(FightRequestTemplate template)
 {
     Template = template;
 }
Exemplo n.º 5
0
 public GenericDamageTakenParser(FightRequestTemplate template)
 {
     Template = template;
 }