public LagPanel(Lag aLag) { mLag = aLag; InitializeComponent(); BackColor = SystemColors.Control; }
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"); }
private void AddOrUpdate(Lag lag, Match match, DataContext context, MatchImport.ExcelMatch excelMatch, List <Vaapen> våpen) { var existing = (from l in context.Lag where l.LagId == lag.LagId select l).FirstOrDefault(); if (existing == null) { context.Lag.Add(lag); } else { existing.Navn = lag.Navn; existing.HemmeligKode = lag.HemmeligKode; existing.Farge = lag.Farge; } if (!match.DeltakendeLag.Any(x => x.Lag.LagId == lag.LagId)) { var lagIMatch = match.LeggTil(existing ?? lag); // Legg til våpen bare på nye lag i matcher (dvs. ikke få flere våper ved flere importer) var felle = våpen.Single(x => x.VaapenId == Constants.Våpen.Felle); for (int i = 0; i < excelMatch.PrLagFelle.GetValueOrDefault(); i++) { lagIMatch.LeggTilVåpen(felle); } var bombe = våpen.Single(x => x.VaapenId == Constants.Våpen.Bombe); for (int i = 0; i < excelMatch.PrLagBombe.GetValueOrDefault(); i++) { lagIMatch.LeggTilVåpen(bombe); } } }
private List <Lag> LesFra(ExcelWorksheet excelWorksheet) { var lagListe = new Dictionary <string, Lag>(); var sheet = excelWorksheet; for (int row = 2; row <= sheet.Dimension.End.Row; row++) { var lag = new Lag { LagId = sheet.GetValue(ExcelSheet.Lag.LagId, row), Navn = sheet.GetValue(ExcelSheet.Lag.Navn, row), HemmeligKode = sheet.GetValue(ExcelSheet.Lag.HemmeligKode, row), Farge = sheet.GetValue(ExcelSheet.Lag.Farge, row), Ikon = sheet.GetValue(ExcelSheet.Lag.Ikon, row), }; // Siste endring gjelder if (lagListe.ContainsKey(lag.LagId)) { lagListe.Remove(lag.LagId); } lagListe.Add(lag.LagId, lag); } return(lagListe.Values.ToList()); }
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 static void Main(string[] args) { StreamReader lagFil = new StreamReader(args[0], Encoding.Default); StreamReader resFil = new StreamReader(args[1], Encoding.Default); Dictionary <string, Lag> tab = new Dictionary <string, Lag> (StringComparer.CurrentCultureIgnoreCase); List <Lag> list = new List <Lag>(); string s; while ((s = lagFil.ReadLine()) != null) { Lag g = new Lag(s); list.Add(g); tab.Add(s, g); } char[] gr = { ' ', '\t' }; while ((s = resFil.ReadLine()) != null) { string[] a = s.Split(gr, StringSplitOptions.RemoveEmptyEntries); Lag lag1 = tab[a[0]]; Lag lag2 = tab[a[1]]; Lag.RegistreraMatch(lag1, lag2, int.Parse(a[2]), int.Parse(a[3])); } list.Sort(); foreach (Lag l in list) { Console.WriteLine(l); } }
/// <summary> /// 更正globaltime /// </summary> /// <param name="requestTime">c2s时候的localtime</param> /// <param name="globalTime">s的</param> /// <returns></returns> public Lag Sync(int requestTime, int globalTime) { Lag res = new Lag(); long now = GetTime(); int localTime = (int)(now - _startTime); int lag = (int)(localTime - requestTime); // c -> s -> 花费的时间 int elapseFromLastSync = localTime - _timeSync; if (localTime < requestTime) { // invalid sync return(res); } if (_timeElapse < 0 || elapseFromLastSync < 0) { // first time sync _timeElapse = 0; _timeShift = 0; _timeSync = localTime; _estimateFrom = globalTime; _estimateTo = globalTime + lag; } else { int estimate = globalTime + lag / 2; _estimateFrom += elapseFromLastSync; _estimateTo += elapseFromLastSync; int estimateLast = _estimateFrom + (_estimateTo - _estimateFrom) / 2; _timeElapse += elapseFromLastSync; _timeShift += estimate - estimateLast; _timeSync = localTime; if (estimate < _estimateFrom || estimate > _estimateTo) { _estimateFrom = globalTime; _estimateTo = globalTime + lag; } else { if (globalTime > _estimateFrom) { _estimateFrom = globalTime; } if (globalTime + lag < _estimateTo) { _estimateTo = globalTime + lag; } } } res.L = lag / 2; if (_timeShift == 0 || _timeElapse <= 0) { res.E = 0; } else { res.E = (double)(_timeShift / _timeElapse); } return(res); }
public static Series <TKey, (TValue, (TKey, TValue)), Lag <TKey, TValue, TCursor> > Lag <TKey, TValue, TCursor>( this ContainerSeries <TKey, TValue, TCursor> series, int lag = 1, int step = 1) where TCursor : ISpecializedCursor <TKey, TValue, TCursor> { var cursor = new Lag <TKey, TValue, TCursor>(series.GetContainerCursor(), lag + 1, step); return(cursor.Source); }
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); }
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); }
protected override void Dispose(bool disposing) { if (disposing) { mLag = null; toolTip.RemoveAll(); if (components != null) { components.Dispose(); } } base.Dispose(disposing); }
static void Load(Client player, string[] cmd, int iarg) { player.TellSystem(Chat.Pink + "CPU: ", Chat.White + Lag.ServerLoad(true)); var mu = Lag.ServerMemoryUsage(); if (mu == null) { player.TellSystem(Chat.Pink, "Error getting memory status"); } else { player.TellSystem(Chat.Pink + "Memory: ", Chat.White + mu.Quota.ToString("0.0%") + " " + mu.UsedGB.ToString("0.000") + " / " + mu.TotalGB.ToString("0.000") + " GB"); } }
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 void AddCurse(float severity, GameObject player) // la sévérité commence autour de 0.2 et fini proche de 10-20 probablement pas trop certain tho { Effect curse; int randomCurse = Random.Range(0, 4); if (AlchemyValues.potionProgress >= 100) { AlchemyValues.potionProgress = 100; curse = new Death(); } else { switch (randomCurse) { case 0: if (severity >= 0.4) { severity = 0.4f; } curse = new Slow((2 * severity) + 0.05f); break; case 1: curse = new Sheep((4 * severity) + 3); break; case 2: curse = new Pacifsm((1 * severity) + 0.05f); break; case 3: curse = new Lag(3 + (int)severity); break; default: curse = new Sheep(4 * severity); break; } } playerEffects[int.Parse(player.name.Substring(1))].Add(curse); curse.Invoke(player); GameObject.Find("CurseDisplay").GetComponent <CurseDisplayer>().SetCurseDisplay(curse); }
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); }
public void OpprettNyttLag(Guid matchId, string hemmeligKode, string navn) { using (var context = _dataContextFactory.Create()) { var match = context.Matcher.Single(x => x.MatchId == matchId); var lag = new Lag { LagId = Guid.NewGuid().ToString(), Navn = navn, HemmeligKode = hemmeligKode }; match.LeggTil(lag); context.SaveChanges(); } _tilgangsKontroll.Nullstill(); _gameStateService.Calculate(); // For å få laget med på resultatlista }
public List <Lag> ConvertToOrionLag(List <Lag> inputFomLeon) { List <Lag> OrionLag = new List <Lag>(); int StartSkytter = 0; foreach (var leonLag in inputFomLeon) { int orionHoldId = leonLag.OrionHoldId; foreach (var skive in leonLag.SkiverILaget) { var skivenr = skive.SkiveNummer - 1; int skytterNr = (leonLag.LagNummer - 1) * m_AntallSkyttereILaget + skivenr; int StartLagNr = skytterNr / m_AntallSkyttereILaget + 1; int forsteSkive = (skytterNr) % m_AntallSkyttereILaget; int hold = 0; while (hold < m_AntallHold) { int LagNr = StartLagNr + hold; Lag lag = this.GetLagNr(OrionLag, LagNr, orionHoldId, m_AntallSkiver); int SkiveNr = (hold * m_AntallSkyttereILaget) + skive.SkiveNummer; //SkiveNr = SkiveNr+ skive.SkiveNummer -1; var newSkive = lag.GetSkiveNr(SkiveNr); if (skive.Skytter != null) { newSkive.Skytter = new Skytter(skive.Skytter); } hold++; Log.Info("Convert from {0} {1} to {2} {3}", leonLag.LagNummer, skive.SkiveNummer, lag.LagNummer, SkiveNr); } } } return(OrionLag); }
public static Lag SettOppEtLagMedDeltakere(int lagIndex, int antallDeltakere, string prefix = "Lag") { var lag = new Lag { LagId = prefix + string.Format("{0}", lagIndex), Navn = prefix + string.Format("Navn{0}", lagIndex), Farge = prefix + string.Format("Farge{0}", lagIndex), HemmeligKode = prefix + string.Format("HemmeligKode{0}", lagIndex), Ikon = prefix + string.Format("Ikon{0}.gif", lagIndex), }; //lag.HemmeligKode = lag.LagId; for (int i = 1; i <= antallDeltakere; i++) { lag.LeggTilDeltaker(new Deltaker(string.Format("{0}-{1}", lag.LagId, i), string.Format("{0}-{1}Navn", lag.LagId, i)) { Kode = "Kode" + lagIndex + "_" + i }); } return(lag); }
public LagViewModel(Lag lag) { m_lag = lag; }
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 int Add(Lag lag) { throw new NotImplementedException(); }
public bool UpdateDataBaseFromLeon(List <Lag> inputFomLeon, bool initCom) { try { bool flush = false; if (initCom) { this.m_LagList.Clear(); this.m_Skyttere.Clear(); this.m_Resultater.Clear(); if (inputFomLeon.Count > 0) { foreach (var inputel in inputFomLeon) { Lag currentLag = null; var foundTeam = this.m_LagList.Find(x => x.LagNummer == inputel.LagNummer); if (foundTeam != null) { currentLag = UpdateTeam(foundTeam, inputel); flush = true; } else { currentLag = InsertNewTeam(inputel); flush = true; } } if (flush) { FlushDatabase(); } return(true); } return(false); } if (inputFomLeon.Count < 10) { var inputel = inputFomLeon[0]; var foundTeam = this.m_LagList.Find(x => x.LagNummer == inputel.LagNummer); Lag currentLag = null; if (foundTeam != null) { currentLag = UpdateTeam(foundTeam, inputel); flush = true; } else { currentLag = InsertNewTeam(inputel); flush = true; } foreach (var skive in inputel.SkiverILaget) { UpdateSkytterByOrionId(skive.Skytter); UpdateSkytterTotalSum(skive.Skytter); } if (flush) { FlushDatabase(); } return(true); } return(false); } catch (Exception e) { Log.Error(e, "Error"); return(false); } }
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 List <Lag> GenererLag(List <InputData> data, LagGeneratorSpec spec) { try { List <Lag> retVal = new List <Lag>(); if (data == null) { return(retVal); } if (data.Count == 0) { return(retVal); } int StartSkytter = 0; int linje = 0; foreach (var skytterIn in data) { linje++; int hold = 0; int LagNr = StartSkytter / spec.antallskyttereilaget + 1; int forsteSkive = StartSkytter % spec.antallskyttereilaget + 1; while (hold < spec.antallHold) { Lag lag = this.GetLagNr(retVal, LagNr, spec.OrionHoldId, spec.antallSkiver); int SkiveNr = (hold * spec.antallskyttereilaget) + forsteSkive; if (lag == null) { Log.Error(string.Format(" Fant ikke Lag {0} linje={1}", LagNr, linje)); break; } var skive = lag.FinnLedigSkive(SkiveNr); if (skive == null) { Log.Error(string.Format(" Fant ikke ledig skive ={0} Lag={1} linje={2}", SkiveNr, LagNr, linje)); break; } skive.Skytter = new Skytter() { Klasse = skytterIn.Klasse, Name = skytterIn.Name, Skytterlag = skytterIn.Skytterlag, SkytterNr = skytterIn.SkytterNr.ToString(), SkytterlagNr = skytterIn.SkytterlagNr }; if (spec.avbrekk) { LagNr = LagNr + 2; } else { LagNr = LagNr + 1; } hold++; } StartSkytter++; } return(retVal); } catch (Exception e) { Log.Error(e, "Error"); throw; } }
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 int Add(Lag lag) { entities.Lag.AddObject(lag); entities.SaveChanges(); return lag.Id; }