private void UpdateSkytter(Skytter foundSkytter, Skytter skytter) { Log.Info("Updating skytter with number={0}", foundSkytter.SkytterNr); foundSkytter.Name = UpdateString(skytter.Name); foundSkytter.Klasse = UpdateString(skytter.Klasse); foundSkytter.Skytterlag = UpdateString(skytter.Skytterlag); foundSkytter.SkytterlagNr = skytter.SkytterlagNr; }
private void UpdateSkytterTotalSum(Skytter skytter) { if (skytter == null) { return; } var res = m_Resultater.FirstOrDefault(x => x.SkytterNr == skytter.SkytterNr); if (res != null) { skytter.TotalSum = res.TotalSum(); } }
private bool UpdateSkytterByOrionId(Skytter skytter) { if (skytter == null) { return(false); } Skytter found = null; if (!string.IsNullOrEmpty(skytter.SkytterNr)) { found = m_Skyttere.FirstOrDefault(x => x.SkytterNr == skytter.SkytterNr); } else { Log.Warning("Skytter named {0} missing SkytterId {0} {1} {2}", skytter.Name, skytter.Skytterlag, skytter.SkytterNr); found = m_Skyttere.FirstOrDefault(x => x.Name == skytter.Name && x.Skytterlag == skytter.Skytterlag); if (found != null) { Log.Warning("Skytter named {0} missing SkytterId {0} {1} {2} found By Name", skytter.Name, skytter.Skytterlag, skytter.SkytterNr); } } if (found == null) { found = new Skytter(skytter); found.Klasse = UpdateString(skytter.Klasse); found.Name = UpdateString(skytter.Name); found.Skytterlag = UpdateString(skytter.Skytterlag); m_Skyttere.Add(found); return(true); } else { found.Klasse = UpdateString(skytter.Klasse); found.Name = UpdateString(skytter.Name); found.Skytterlag = UpdateString(skytter.Skytterlag); found.SkytterNr = UpdateString(skytter.SkytterNr); found.SkytterlagNr = skytter.SkytterlagNr; return(true); } }
public List <SkytterResultat> ParseOrionResultOutputFormat(string[] inputLines) { var retColl = new List <SkytterResultat>(); if (inputLines == null) { return(retColl); } foreach (var line in inputLines) { string currentLine = line; try { if (currentLine != null) { currentLine = currentLine.Trim(); } if (!string.IsNullOrEmpty(currentLine)) { var elements = line.Split(new char[] { ';' }, StringSplitOptions.None); SkytterResultat currentRes = new SkytterResultat(); if (elements.Length >= 6) { currentRes.OrionHoldId = Convert.ToInt32(elements[holdIdIndex]); currentRes.LagNummer = Convert.ToInt32(elements[lagNrIndex]); currentRes.SkiveNr = Convert.ToInt32(elements[skiveNrIndex]); var currentSKytter = new Skytter(); currentSKytter.Name = elements[NavnIndex]; currentSKytter.Skytterlag = elements[skytterlagIndex]; currentSKytter.Klasse = elements[klasseIndex]; if (elements.Length > totalsumIndex && !string.IsNullOrEmpty(elements[totalsumIndex])) { int totres; if (int.TryParse(elements[totalsumIndex], out totres)) { currentSKytter.TotalSum = totres; } else { throw new FormatException(string.Format("{0} not able to parse totsum index {1} {2}", line, totalsumIndex, elements[totalsumIndex])); } } if (elements.Length > skytterNrIndex && !string.IsNullOrEmpty(elements[skytterNrIndex])) { currentSKytter.SkytterNr = elements[skytterNrIndex]; currentRes.SkytterNr = currentSKytter.SkytterNr; } if (!string.IsNullOrEmpty(currentSKytter.Name)) { currentRes.Skytter = currentSKytter; } var funnetSkytterRes = retColl.FirstOrDefault(x => x.LagNummer == currentRes.LagNummer && x.OrionHoldId == currentRes.OrionHoldId && x.SkytterNr == currentRes.SkytterNr); if (funnetSkytterRes != null) { } else { funnetSkytterRes = currentRes; retColl.Add(currentRes); } int nesteSerieNr = 0; foreach (var serie in funnetSkytterRes.Serier) { if (serie.Nr > nesteSerieNr) { nesteSerieNr = serie.Nr; } } nesteSerieNr = nesteSerieNr + 1; ParseSerier(elements, serieStartIndex, nesteSerieNr, funnetSkytterRes.Serier); } } } catch (Exception e) { Log.Error(e, currentLine); throw; } } return(retColl); }
public List <Lag> ParseLeonOutputFormat(string[] inputLines) { var retColl = new List <Lag>(); if (inputLines == null) { return(retColl); } foreach (var line in inputLines) { string currentLine = line; if (currentLine != null) { currentLine = currentLine.Trim(); } if (!string.IsNullOrEmpty(currentLine)) { var elements = line.Split(new char[] { ';' }, StringSplitOptions.None); Lag currentLag = new Lag(); if (elements.Length >= 6) { currentLag.OrionHoldId = Convert.ToInt32(elements[holdIdIndex]); currentLag.LagNummer = Convert.ToInt32(elements[lagNrIndex]); var Skive = new Skiver(); Skive.SkiveNummer = Convert.ToInt32(elements[skiveNrIndex]); currentLag.SkiverILaget.Add(Skive); var currentSKytter = new Skytter(); currentSKytter.Name = elements[NavnIndex]; if (!string.IsNullOrEmpty(currentSKytter.Name)) { currentSKytter.Name = currentSKytter.Name.Trim(); } currentSKytter.Skytterlag = elements[skytterlagIndex]; if (!string.IsNullOrEmpty(currentSKytter.Skytterlag)) { currentSKytter.Skytterlag = currentSKytter.Skytterlag.Trim(); } currentSKytter.Klasse = elements[klasseIndex]; if (!string.IsNullOrEmpty(currentSKytter.Klasse)) { currentSKytter.Klasse = currentSKytter.Klasse.Trim(); } if (elements.Length > 6 && !string.IsNullOrEmpty(elements[totalsumIndex])) { currentSKytter.TotalSum = Convert.ToInt32(elements[totalsumIndex]); } if (elements.Length > skytterNrIndex && !string.IsNullOrEmpty(elements[skytterNrIndex])) { currentSKytter.SkytterNr = elements[skytterNrIndex]; if (!string.IsNullOrEmpty(currentSKytter.SkytterNr)) { currentSKytter.SkytterNr = currentSKytter.SkytterNr.Trim(); } } if (!string.IsNullOrEmpty(currentSKytter.Name) && !string.IsNullOrEmpty(currentSKytter.SkytterNr)) { Skive.Skytter = currentSKytter; } var funnetLag = retColl.FirstOrDefault(x => x.LagNummer == currentLag.LagNummer && x.OrionHoldId == currentLag.OrionHoldId); if (funnetLag != null) { var funnetSkive = funnetLag.SkiverILaget.FirstOrDefault(x => x.SkiveNummer == Skive.SkiveNummer); if (funnetSkive != null) { if (funnetSkive.Skytter != null) { if (Skive.Skytter != null) { Log.Error("Skive already imported {0} Changing skytter from {1} to {2}", funnetSkive.SkiveNummer, funnetSkive.Skytter.Name, Skive.Skytter.Name); funnetSkive.Skytter = Skive.Skytter; } else { Log.Error("Skive already imported {0} Removing skytter {1} ", funnetSkive.SkiveNummer, funnetSkive.Skytter.Name); funnetSkive.Skytter = null; } } else { if (Skive.Skytter != null) { Log.Error("Skive already imported {0} setting skytter from null to {1}", funnetSkive.SkiveNummer, Skive.Skytter.Name); funnetSkive.Skytter = Skive.Skytter; } } } else { funnetLag.SkiverILaget.Add(Skive); } } else { retColl.Add(currentLag); } } } } return(retColl); }
private Lag UpdateTeam(Lag foundTeam, Lag inputlag) { foundTeam.LagTid = inputlag.LagTid; foundTeam.MaxSkiveNummer = inputlag.MaxSkiveNummer; foundTeam.OrionHoldId = inputlag.OrionHoldId; foreach (var skive in inputlag.SkiverILaget) { if (skive.SkiveNummer <= 0) { Log.Warning("Fant Lag med tomt skivenr"); continue; } var foundSKive = foundTeam.SkiverILaget.Find(x => x.SkiveNummer == skive.SkiveNummer); if (foundSKive == null) { Log.Info("Fant ikke skive nr {0} lag til lag nr {1}", skive.SkiveNummer, foundTeam.LagNummer); foundSKive = new Skiver(skive); foundTeam.SkiverILaget.Add(foundSKive); } if (skive.Skytter != null) { if (skive.Skytter.SkytterNr == "0" && string.IsNullOrEmpty(skive.Skytter.Name)) { foundSKive.Free = true; foundSKive.Skytter = null; foundSKive.SkytterGuid = null; } else { var foundSkytter = m_Skyttere.Find(y => y.SkytterNr == skive.Skytter.SkytterNr); if (foundSkytter != null) { UpdateSkytter(foundSkytter, skive.Skytter); foundSKive.Skytter = null; foundSKive.SkytterGuid = foundSkytter.Id; } else { var nySkytter = new Skytter(skive.Skytter); foundSKive.Skytter = null; foundSKive.SkytterGuid = nySkytter.Id; m_Skyttere.Add(nySkytter); Log.Info("La til ny skytter Lag={0} skive{1} navn={2}", foundTeam.LagNummer, foundSKive.SkiveNummer, nySkytter.Name); } } } else { if (foundSKive.SkytterGuid != null) { var foundSkytter = m_Skyttere.Find(y => y.Id == foundSKive.SkytterGuid); if (foundSkytter != null) { Log.Error( "Remove skytter = {0} nr={1} from Lag={2} skive={3}", foundSkytter.Name, foundSkytter.SkytterNr, foundTeam.LagNummer, foundSKive.SkiveNummer); } foundSKive.Skytter = null; } foundSKive.SkytterGuid = null; } //var newSKive = new Skiver(skive); //foundTeam.SkiverILaget.Add(newSKive); } return(foundTeam); }
public ResultRowViewModel(int lagNummer, int skiveNummer, Skytter coSkytter = null, List <Resultat> result = null) { this.LagNummer = lagNummer; this.SkiveNummer = skiveNummer; if (coSkytter != null) { this.Name = coSkytter.Name; this.SkytterNr = coSkytter.SkytterNr; this.Klasse = coSkytter.Klasse; this.Skytterlag = coSkytter.Skytterlag; } if (result != null && result.Count > 0) { foreach (var res in result) { int i = 0; foreach (var serie in res.Serier) { if (!serie.Valid) { continue; } i++; if (i == 1) { int sum = res.TotalSum(); this.Res1 = sum.ToString(); } else { int sum = res.FeltSum(i); int sum2 = res.FeltInnerSum(i); if (i == 2) { this.Res2 = string.Format("{0}/{1}", sum, sum2); } else if (i == 3) { this.Res3 = string.Format("{0}/{1}", sum, sum2); } else if (i == 4) { this.Res4 = string.Format("{0}/{1}", sum, sum2); } else if (i == 5) { this.Res5 = string.Format("{0}/{1}", sum, sum2); } else if (i == 6) { this.Res6 = string.Format("{0}/{1}", sum, sum2); } } } int totSum = 0; int totSumInner = 0; totSum = totSum + res.FeltSum(); totSumInner = totSumInner + res.FeltInnerSum(); this.Total = string.Format("{0}/{1}", totSum, totSumInner); } } }