Пример #1
0
        private Ringer GetRinger(HeimGast heimGast, BoutApiModel apiModel)
        {
            switch (heimGast)
            {
            case HeimGast.Unbekannt:
                break;

            case HeimGast.Heim:
                return(new Ringer
                {
                    Vorname = apiModel.HomeWrestlerGivenname,
                    Nachname = apiModel.HomeWrestlerName,
                    Status = apiModel.HomeWrestlerStatus,
                    Startausweisnummer = apiModel.HomeWrestlerPassCode,
                    Lizenznummer = apiModel.HomeWrestlerSaisonLicenceId
                });

            case HeimGast.Gast:
                return(new Ringer
                {
                    Vorname = apiModel.OpponentWrestlerGivenname,
                    Nachname = apiModel.OpponentWrestlerName,
                    Status = apiModel.OpponentWrestlerStatus,
                    Startausweisnummer = apiModel.OpponentWrestlerPassCode,
                    Lizenznummer = apiModel.OpponentWrestlerSaisonLicenceId
                });

            default:
                throw new ArgumentOutOfRangeException(nameof(heimGast), heimGast, null);
            }

            throw new ArgumentException($"Ringer \"{heimGast}\" konnte nicht interpretiert werden");
        }
Пример #2
0
        public Einzelkampf Map(JToken kampfJToken)
        {
            BoutApiModel apiModel = kampfJToken.ToObject <BoutApiModel>();

            if (kampfJToken["annotation"] != null)
            {
                var annotationApiModelListe = kampfJToken["annotation"]["1"].Select(li => li.FirstOrDefault().ToObject <AnnotationApiModel>()).ToList();
                apiModel.Annotations = annotationApiModelListe.ToList();
            }

            return(Map(apiModel));
        }
Пример #3
0
        private List <KeyValuePair <int, string> > ErmittleRundenErgebnisse(BoutApiModel apiModel)
        {
            var rundenProps = apiModel.GetType().GetProperties().Where(li => li.Name.StartsWith("Round", StringComparison.OrdinalIgnoreCase));

            List <KeyValuePair <int, string> > result = new List <KeyValuePair <int, string> >();

            foreach (var runde in rundenProps)
            {
                int    nummer  = int.Parse(runde.Name.Replace("Round", string.Empty));
                string wertung = runde.GetValue(apiModel).ToString().Trim();
                if (!string.IsNullOrEmpty(wertung))
                {
                    result.Add(new KeyValuePair <int, string>(nummer, wertung));
                }
            }

            return(result);
        }
Пример #4
0
        public Einzelkampf Map(BoutApiModel apiModel)
        {
            Einzelkampf result = new Einzelkampf
            {
                KampfNr                = int.Parse(apiModel.Order),
                Gewichtsklasse         = apiModel.WeightClass,
                Stilart                = _stilartKonvertierer.ToEnum(apiModel.Style),
                HeimRinger             = GetRinger(HeimGast.Heim, apiModel),
                GastRinger             = GetRinger(HeimGast.Gast, apiModel),
                HeimMannschaftswertung = int.Parse(apiModel.HomeWrestlerPoints),
                GastMannschaftswertung = int.Parse(apiModel.OpponentWrestlerPoints),
                RundenErgebnisse       = ErmittleRundenErgebnisse(apiModel),
                Siegart                = _siegartKonvertierer.ToEnum(apiModel.Result),
                Kampfdauer             = TimeSpan.FromSeconds(Convert.ToDouble(GetAnnotationValue(apiModel.Annotations, "duration"))),
                Kommentar              = GetAnnotationValue(apiModel.Annotations, "comment")
            };

            var punkteString = GetAnnotationValue(apiModel.Annotations, "points");

            result.Wertungspunkte = _griffbewertungspunktKonvertierer.Ermittle_Griffbewertungspunkte(punkteString);

            return(result);
        }