private void LoadResults(Lag mSelectedLag) { if (mSelectedLag == null) { ChosenLag = null; this.OnPropertyChanged("ChosenLag"); return; } var nyttLag = m_databaseService.GetLag(mSelectedLag.LagNummer); m_chosenLag = new ObservableCollection<ResultRowViewModel>(); foreach (var skive in nyttLag.SkiverILaget) { if (skive.SkytterGuid != null) { var results = m_databaseService.GetResultsForSkytter(skive.SkytterGuid.Value); m_chosenLag.Add(new ResultRowViewModel(mSelectedLag.LagNummer, skive.SkiveNummer, skive.Skytter, results)); } else { m_chosenLag.Add(new ResultRowViewModel(mSelectedLag.LagNummer, skive.SkiveNummer)); } } this.OnPropertyChanged("ChosenLag"); }
public Lag(Lag copy) { this.SkiverILaget = new List <Skiver>(); this.LagNummer = copy.LagNummer; this.LagTid = copy.LagTid; this.MaxSkiveNummer = copy.MaxSkiveNummer; this.OrionHoldId = copy.OrionHoldId; foreach (var skive in copy.SkiverILaget) { this.SkiverILaget.Add(new Skiver(skive)); } }
public Lag(Lag copy) { this.SkiverILaget = new List<Skiver>(); this.LagNummer = copy.LagNummer; this.LagTid = copy.LagTid; this.MaxSkiveNummer = copy.MaxSkiveNummer; this.OrionHoldId = copy.OrionHoldId; foreach (var skive in copy.SkiverILaget) { this.SkiverILaget.Add(new Skiver(skive)); } }
private Lag GetLagNr(List<Lag> retVal, int lagNr, int orionHoldId, int maxSkiveriLaget) { var foudLag = retVal.FirstOrDefault(x => x.LagNummer == lagNr); if (foudLag == null) { foudLag = new Lag(lagNr, orionHoldId, maxSkiveriLaget); retVal.Add(foudLag); } return foudLag; }
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> GetLag() { List<Lag> lagRes= new List<Lag>(); try { IniDatabase(); foreach (var lag in m_LagList) { var lagdef=m_LagDefinitionList.Find(x => x.LagNummer == lag.LagNummer); Lag cpy = new Lag(lag); if (lagdef != null) { cpy.LagTid = lagdef.LagTid; } foreach (var skive in lag.SkiverILaget) { if (skive.SkytterGuid != null) { var skytt = m_Skyttere.Find(y => y.Id == skive.SkytterGuid); if (skytt != null) { var skiveFunnet = cpy.SkiverILaget.Find(ak => ak.SkiveNummer == skive.SkiveNummer); if (skiveFunnet != null) { skiveFunnet.Skytter = new Skytter(skytt); skiveFunnet.SkytterGuid = skytt.Id; skiveFunnet.Skytter.Id= skytt.Id; } } } } lagRes.Add(cpy); } } catch (Exception e) { Log.Error(e, "GetLag"); } return lagRes; }
public Lag GetLag(int lagNr) { Lag funnetLag = null; try { IniDatabase(); var searchLag = m_LagList.Find(x => x.LagNummer == lagNr); if (searchLag == null) { return null; } funnetLag = new Lag(searchLag); var lagdef = m_LagDefinitionList.Find(x => x.LagNummer == lagNr); if (lagdef != null) { funnetLag.LagTid = lagdef.LagTid; } foreach (var skive in funnetLag.SkiverILaget) { if (skive.SkytterGuid != null) { var skytt = m_Skyttere.Find(y => y.Id == skive.SkytterGuid); if (skytt != null) { var skiveFunnet = searchLag.SkiverILaget.Find(ak => ak.SkiveNummer == skive.SkiveNummer); if (skiveFunnet != null) { skiveFunnet.Skytter = new Skytter(skytt); skiveFunnet.SkytterGuid = skytt.Id; skiveFunnet.Skytter.Id = skytt.Id; } } } } return funnetLag; } catch (Exception e) { Log.Error(e, "GetLag"); } return funnetLag; }
public Lag GetLeonLagWithSum(int lag) { var funnetLag = m_LagList.Find(x => x.LagNummer == lag); Lag nyttLag = null; if (funnetLag != null) { nyttLag = new Lag(funnetLag); foreach (var lagskive in funnetLag.SkiverILaget) { var nyskive = nyttLag.SkiverILaget.Find(x => x.SkiveNummer == lagskive.SkiveNummer); if (nyskive == null) { continue; } if (lagskive.SkytterGuid != null) { var skytter=m_Skyttere.Find(y => y.Id == lagskive.SkytterGuid); if (skytter == null) { continue; } nyskive.Skytter = new Skytter(skytter); nyskive.SkytterGuid = skytter.Id; nyskive.Skytter.TotalSum = 0; var res = m_Resultater.Find(z => z.SkytterId == lagskive.SkytterGuid); if (res != null) { nyskive.Skytter.TotalSum = res.TotalSum(); nyskive.Skytter.TotalFeltSum = res.FeltSum(); } } } } return nyttLag; }
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; }
private Lag InsertNewTeam(Lag inputel) { if (inputel == null) { return null; } var insert = new Lag(inputel); List<Skiver> feilvalidertSkive=new List<Skiver>(); foreach (var skive in insert.SkiverILaget) { if (skive.SkiveNummer <= 0) { feilvalidertSkive.Add(skive); Log.Warning("Fant Lag med tomt skivenr ved insett av nytt lag lag={0}", insert.LagNummer); continue; } if (skive.Skytter != null) { if (skive.Skytter.SkytterNr == "0" && string.IsNullOrEmpty(skive.Skytter.Name)) { skive.Free = true; skive.Skytter = null; skive.SkytterGuid = null; } else { var foundSkytter = m_Skyttere.Find(y => y.SkytterNr == skive.Skytter.SkytterNr); if (foundSkytter != null) { UpdateSkytter(foundSkytter, skive.Skytter); skive.Skytter = null; skive.SkytterGuid = foundSkytter.Id; } else { m_Skyttere.Add(skive.Skytter); skive.SkytterGuid = skive.Skytter.Id; skive.Skytter = null; } } } } foreach (var delSKive in feilvalidertSkive) { insert.SkiverILaget.Remove(delSKive); } m_LagList.Add(insert); return insert; }
public void GenerateFilesButtonBase_OnClick(object sender, RoutedEventArgs routedEventArgs) { if(string.IsNullOrEmpty(m_filePath)) { return; } if (!Directory.Exists(m_filePath)) { MessageBox.Show(string.Format("Path Does not exsist{0}", m_filePath),"Error",MessageBoxButton.OK,MessageBoxImage.Error); } Collection<Lag> lagCollection = new Collection<Lag>(); foreach (var lag in LagKilde) { var nyttLag = new Lag(lag); lagCollection.Add(nyttLag); } foreach (var skive in Skiver) { var lagFunnet = lagCollection.FirstOrDefault(x => x.LagNummer == skive.LagNummer); var funnetSkive = lagFunnet.SkiverILaget.FirstOrDefault(x => x.SkiveNummer == skive.SkiveNummer); if (funnetSkive.Skytter != null) { funnetSkive.Skytter = new Skytter(funnetSkive.Skytter); } funnetSkive.Free = funnetSkive.Free; } m_databaseService.StoreToDatabase(lagCollection, this.m_filePath); }
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; }
public LagViewModel(Lag lag) { m_lag = lag; }