public Serie(Serie cpy) { this.Nr = cpy.Nr; this.Navn = cpy.Navn; this.AntallTellende = cpy.AntallTellende; this.Verdier = new List<Skuddverdi>(); this.Valid = cpy.Valid; this.ValidTime = cpy.ValidTime; foreach (var foundSerir in cpy.Verdier) { this.Verdier.Add(foundSerir); } }
public Resultat(string skytterNr, Guid skytterId, List<Serie> serier) { this.Serier = new List<Serie>(); this.Id = Guid.NewGuid(); this.SkytterId = skytterId; this.SkytterNr = skytterNr; if (serier != null) { foreach (var ser in serier) { var newser = new Serie(ser); this.Serier.Add(newser); } } }
public List<SkytterResultat> ConvertToLeonLag(List<SkytterResultat> inputFomOrion) { List<SkytterResultat> resColl = new List<SkytterResultat>(); foreach (var res in inputFomOrion) { SkytterResultat newres = new SkytterResultat(); int leonLagnr = res.LagNummer % m_AntallSkiver; newres.LagNummer = leonLagnr; newres.OrionHoldId = res.OrionHoldId; newres.Id = res.Id; if(res.Skytter==null) { continue; } newres.Skytter = new Skytter(res.Skytter); newres.SkytterNr = res.Skytter.SkytterNr; // her må startholdet stå int serieNr = 0; if (res.SkiveNr <= m_AntallSkyttereILaget) { serieNr = 1; } else { int test = res.SkiveNr % this.m_AntallSkyttereILaget; serieNr = res.SkiveNr / this.m_AntallSkyttereILaget; if (test != 0) { serieNr = serieNr + 1; } } newres.SkiveNr = res.SkiveNr % m_AntallSkyttereILaget; if(newres.SkiveNr == 0) { newres.SkiveNr = m_AntallSkyttereILaget; }; var foundSkytter = resColl.FirstOrDefault(x => x.SkytterNr == res.SkytterNr); if (foundSkytter != null) { } else { newres.Skytter = res.Skytter; resColl.Add(newres); foundSkytter = newres; } foreach(var ser in res.Serier) { var nyserie = new Serie(ser); nyserie.Nr = serieNr; var definition = this.m_definition.Find(defno => defno.HoldNr == serieNr); if (definition != null) { if (definition.HoldType == HoldType.FeltHold) { var feltVerdier = new List<Skuddverdi>(); foreach (var value in nyserie.Verdier) { if (value.GetType() == typeof(BaneVerdi)) { var felt=m_SkuddVerdiParser.ParseSkudd(value.ToValue()); feltVerdier.Add(felt); } } nyserie.Verdier = feltVerdier; } } foundSkytter.Serier.Add(nyserie); } } return resColl; }
private void ParseSerier(string[] elements, int serieStartIndex, int nesteSerieNr, List<Serie> serier) { if(elements.Length< serieStartIndex) { return; } int serieNr = nesteSerieNr; int currentSerie = serieStartIndex; while (currentSerie<elements.Length) { Serie next = new Serie() { Nr = serieNr }; int skuddnr = 1; foreach (char c in elements[currentSerie]) { var verdire=m_skuddParser.ParseSkudd(c.ToString()); verdire.Nr = skuddnr; skuddnr++; next.Verdier.Add(verdire); } if(next.Verdier.Count>0) { serier.Add(next); } currentSerie++; serieNr++; } }