public SkiverViewModel(int lagNummer, Skiver skive) { m_skive = skive; this.LagNummer = lagNummer; this.SkiveNummer = skive.SkiveNummer; if (skive.Skytter != null) { SkytterNr = skive.Skytter.SkytterNr; Name = skive.Skytter.Name; Skytterlag = skive.Skytter.Skytterlag; Klasse = skive.Skytter.Klasse; } }
public List <Lag> ConvertToLeonLag(List <Lag> inputFomLeon) { List <Lag> OrionLag = new List <Lag>(); var inputFomLeonSorted = inputFomLeon.OrderBy(x => x.LagNummer); foreach (var res in inputFomLeonSorted) { res.SkiverILaget = res.SkiverILaget.OrderBy(x => x.SkiveNummer).ToList(); } foreach (var res in inputFomLeonSorted) { Lag newres = new Lag(); newres.OrionHoldId = res.OrionHoldId; newres.LagTid = res.LagTid; foreach (var skive in res.SkiverILaget) { if (skive.SkiveNummer <= 0) { Log.Error("Fant skive uten nr"); } int StartLeonLag = res.LagNummer; int Leonserienr = 0; int LeonLagNr; int leonSkivenr; if (skive.SkiveNummer <= m_AntallSkyttereILaget) { StartLeonLag = res.LagNummer; LeonLagNr = res.LagNummer; leonSkivenr = skive.SkiveNummer; Leonserienr = 1; } else { int brok = (skive.SkiveNummer - 1) / m_AntallSkyttereILaget; Leonserienr = brok + 1; LeonLagNr = StartLeonLag - brok; leonSkivenr = m_AntallSkyttereILaget - skive.SkiveNummer % this.m_AntallSkyttereILaget; } var funnetLag = OrionLag.FirstOrDefault(x => x.LagNummer == LeonLagNr); if (funnetLag != null) { Log.Trace("Fant lagnr {0} ut fra {1}", LeonLagNr, res.LagNummer); } else { funnetLag = new Lag(LeonLagNr, res.OrionHoldId, m_AntallSkyttereILaget); funnetLag.LagTid = res.LagTid; OrionLag.Add(funnetLag); } var funnetSkive = funnetLag.SkiverILaget.FirstOrDefault(x => x.SkiveNummer == leonSkivenr); if (funnetSkive == null) { funnetSkive = new Skiver { SkiveNummer = leonSkivenr }; if (skive.Skytter != null) { funnetSkive.Skytter = new Skytter(skive.Skytter); funnetSkive.SkytterGuid = skive.Skytter.Id; } funnetLag.SkiverILaget.Add(funnetSkive); } else { if (funnetSkive.Skytter != null) { if (skive.Skytter != null) { if (skive.Skytter.SkytterNr != funnetSkive.Skytter.SkytterNr) { Log.Error("Funnet feil i skytter fra lag {0}, skive {1} fant={2} har={3}", res.LagNummer, skive.SkiveNummer, funnetSkive.Skytter.SkytterNr, skive.Skytter.SkytterNr); } } } else { if (skive.Skytter != null) { funnetSkive.Skytter = new Skytter(skive.Skytter); funnetSkive.SkytterGuid = skive.Skytter.Id; } } } } } return(OrionLag); }
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); }