public void BuildResultList(List <mars_MTeams> teamList) { if (Staevne == null || Staevne.Ovelser == null || Staevne.Ovelser.Length != 1) { return; } Ovelse ov = Staevne.Ovelser[0]; if (ov.Heats == null) { return; } if (StateText.StartsWith("N")) { return; } if (StateText.StartsWith("O") && !ov.LobeOvelse) { doBuildOngoingResultList(ov, teamList); } else if (ov.FindesResultat) { doBuildResultList(ov, teamList); } }
static bool ProcessXMLLists(List <string> XMLText, Ovelse ovelse) { foreach (var xmlText in XMLText) { XDocument doc = XDocument.Parse(xmlText); string klasse = doc.Descendants("header").First().Attribute("name").Value; var elements = doc.Descendants("result").GetEnumerator(); while (elements.MoveNext()) { XElement e = elements.Current; string name = e.Attribute("name").Value.Trim(); string skytterlag = e.Attribute("club").Value.Trim(); string res = e.Attribute("totsum").Value; string key = name + skytterlag; if (!m_resultater.ContainsKey(key)) { m_resultater.Add(key, new Skytter(name, skytterlag, klasse)); } if (m_resultater[key].IsResultNotSet(ovelse)) { m_resultater[key].SetResult(ovelse, res.Replace('/', '\\')); } else { return(false); } } } return(true); }
private void doBuildResultList(Ovelse ov, List <mars_MTeams> teamList) { ResultList = new ResultList(); ResultList.Ov = ov; ResultList.Heats = new List <DispHeat>(); ResultList.NoInSerie = 0; if (ov.VertikalSpringOvelse && ov.SpringHojder.Count > 0) { ResultList.JumpSchema = new List <string>(); for (int i = 0; i < ov.SpringHojder.Count; i++) { ResultList.JumpSchema.Add(ov.SpringHojder[i].ToString()); } } foreach (Heat heat in ResultList.Ov.Heats) { if (heat.Nr == 0) { continue; } DispHeat h = new DispHeat() { Participants = new List <DispParticipant>() }; StringBuilder sb = new StringBuilder(); if (heat.Nr > 0 && StartList.Ov.AntalHeat > 1) { sb.AppendFormat("HEAT {0} / {1}", heat.Nr, ResultList.Ov.AntalHeat); } if (ov.VindPrHeat) { if (sb.Length > 0) { sb.Append(" - "); } sb.AppendFormat("Wind: {0}", heat.Vind); } h.Header = sb.Length > 0 ? sb.ToString() : ""; if (heat.Deltagere != null) { Array.Sort(heat.Deltagere, (k1, k2) => k1.CompareResultListHeatOrder(k2)); foreach (ResDeltager deltager in heat.Deltagere) { DispParticipant d = new DispParticipant(); mars_MTeams key = teamList.FirstOrDefault(t => deltager.Klub == t.ShortName); d.TeamId = key != null ? key.TeamId : Guid.Empty; d.OrderNo = deltager.BaneNr.ToString(); d.BibNo = StartList.Ov.StafetOvelse ? "" : deltager.StartNr.ToString(); if (StartList.Ov.StafetOvelse) { sb = new StringBuilder(); if (deltager.StafetDeltagere != null && deltager.StafetDeltagere.Length > 0) { foreach (var stafetDeltager in deltager.StafetDeltagere) { if (sb.Length > 0) { sb.Append(", "); } if (stafetDeltager.Deltager != null) { sb.Append(stafetDeltager.Deltager.EfternavnFornavn); } else { sb.Append(stafetDeltager.StartNr.ToString()); } } } d.Name = sb.ToString(); d.YOB = ""; d.Team = deltager.Navn; } else { d.Name = deltager.EfternavnFornavn; d.YOB = deltager.Aargang; d.Team = deltager.Klub; } d.SB = deltager.Seedning == "X" ? "" : deltager.Seedning; d.PB = deltager.Pr == "X" ? "" : deltager.Pr; d.Comment = deltager.Kommentar; d.Qualified = deltager.QualifiedText; if (deltager.ResKodeText == "") { d.Position = deltager.ResStatus.IsNull() ? deltager.Plac.ToString() : ""; d.Result = deltager.Resultat; } else { d.Position = ""; d.Result = deltager.ResKodeText; } doBuildSerie(ov, deltager, d); h.Participants.Add(d); } } ResultList.Heats.Add(h); } if (ov.ResultatSort == "Resultat" && ov.AntalHeat > 1) { List <ResDeltager> delt = new List <ResDeltager>(); foreach (Heat heat in ResultList.Ov.Heats) { if (heat.Nr != 0) { if (heat.Deltagere != null) { foreach (ResDeltager deltager in heat.Deltagere) { if (deltager.ResKodeText == "" && deltager.ResStatus.IsNull()) { delt.Add(deltager); } } } } } if (delt.Count > 0) { ResultList.Summary = new List <DispParticipant>(); ResultList.SummaryHeader = "SUMMARY"; delt.Sort((k1, k2) => k1.CompareResultListPosition(k2)); foreach (ResDeltager deltager in delt) { DispParticipant d = new DispParticipant(); mars_MTeams key = teamList.FirstOrDefault(t => deltager.Klub == t.ShortName); d.TeamId = key != null ? key.TeamId : Guid.Empty; d.OrderNo = deltager.BaneNr.ToString(); d.BibNo = StartList.Ov.StafetOvelse ? "" : deltager.StartNr.ToString(); d.Name = StartList.Ov.StafetOvelse ? deltager.Navn : deltager.EfternavnFornavn; d.YOB = StartList.Ov.StafetOvelse ? "" : deltager.Aargang; d.Team = deltager.Klub; d.SB = deltager.Seedning == "X" ? "" : deltager.Seedning; d.PB = deltager.Pr == "X" ? "" : deltager.Pr; d.Comment = deltager.Kommentar; if (deltager.ResKodeText == "") { d.Position = deltager.ResStatus.IsNull() ? deltager.Plac.ToString() : ""; d.Result = deltager.Resultat; } else { d.Position = ""; d.Result = deltager.ResKodeText; } ResultList.Summary.Add(d); } } } }
private void doBuildSerie(Ovelse ov, ResDeltager deltager, DispParticipant d) { if (ov.KasteOvelse && deltager.KastSerier != null && deltager.KastSerier.Length > 0) { d.Serie1 = new List <string>(); foreach (Kast kast in deltager.KastSerier) { d.Serie1.Add(kast.Resultat ?? ""); } if (d.Serie1.Count > ResultList.NoInSerie) { ResultList.NoInSerie = d.Serie1.Count; } } if (ov.HorizontalSpringOvelse && deltager.SpringHSerier != null && deltager.SpringHSerier.Length > 0) { d.Serie1 = new List <string>(); foreach (SpringHorizontal spring in deltager.SpringHSerier) { string s = spring.Resultat ?? ""; if (s != "" && ov.VindPrDeltager) { if (spring.Vind != null && spring.Vind != "") { s = s + " (" + spring.Vind + ")"; } } d.Serie1.Add(s); } if (d.Serie1.Count > ResultList.NoInSerie) { ResultList.NoInSerie = d.Serie1.Count; } } if (ov.VertikalSpringOvelse && deltager.SpringVSerier != null && deltager.SpringVSerier.Count > 0) { d.Serie1 = new List <string>(); for (int i = 0; i < ov.SpringHojder.Count; i++) { d.Serie1.Add(""); } foreach (SpringVertikal spring in deltager.SpringVSerier) { if (spring.OmspringNr == 0) { int n = ov.SpringHojder.IndexOf(spring.ResultatValue); if (n >= 0 && n < d.Serie1.Count) { d.Serie1[n] = spring.Spring ?? ""; } } } } }
public void BuildStartList(List <mars_MTeams> teamList) { if (Staevne != null && Staevne.Ovelser != null && Staevne.Ovelser.Length == 1) { Ovelse ov = Staevne.Ovelser[0]; if (ov.Heats != null) { bool seedet = ov.FindesSeedning; StartList = new StartList(); StartList.Ov = ov; StartList.Heats = new List <DispHeat>(); foreach (Heat heat in StartList.Ov.Heats) { DispHeat h = new DispHeat() { Participants = new List <DispParticipant>() }; if (heat.Nr > 0 && StartList.Ov.AntalHeat > 1) { h.Header = String.Format("HEAT {0} / {1}", heat.Nr, StartList.Ov.AntalHeat); } else if (heat.Id.IsNotNull() && heat.Id != "0" && StartList.Ov.AntalHeat > 1) { h.Header = String.Format("HEAT {0}", heat.Id); } else if (heat.Nr == 0 && seedet) { h.Header = "SCRATCH"; } else { h.Header = ""; } if (heat.Deltagere != null) { if (seedet) { Array.Sort(heat.Deltagere, (k1, k2) => k1.CompareStartListOrder(k2)); } int orderNo = 0; foreach (ResDeltager deltager in heat.Deltagere) { DispParticipant d = new DispParticipant(); mars_MTeams key = teamList.FirstOrDefault(t => deltager.Klub == t.ShortName); d.TeamId = key != null ? key.TeamId : Guid.Empty; orderNo++; d.OrderNo = deltager.BaneNr > 0 ? deltager.BaneNr.ToString() : orderNo.ToString(); d.BibNo = StartList.Ov.StafetOvelse ? "" : deltager.StartNr.ToString(); if (StartList.Ov.StafetOvelse) { StringBuilder sb = new StringBuilder(); if (deltager.StafetDeltagere != null && deltager.StafetDeltagere.Length > 0) { foreach (var stafetDeltager in deltager.StafetDeltagere) { if (sb.Length > 0) { sb.Append(", "); } if (stafetDeltager.Deltager != null) { sb.Append(stafetDeltager.Deltager.EfternavnFornavn); } else { sb.Append(stafetDeltager.StartNr.ToString()); } } } d.Name = sb.ToString(); d.YOB = ""; d.Team = deltager.Navn; } else { d.Name = deltager.EfternavnFornavn; d.YOB = deltager.Aargang; d.Team = deltager.Klub; } d.SB = deltager.Seedning == "X" ? "" : deltager.Seedning; d.PB = deltager.Pr == "X" ? "" : deltager.Pr; if (!deltager.Startet) { d.Comment = deltager.ResKodeText; } h.Participants.Add(d); } } StartList.Heats.Add(h); } } } }