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); } } }
public void Opprett_testspill_før_BBR() { Opprett_Våpen(); Opprett_Arrangørlag(); Opprett_Demolag(); using (var context = _dataContextFactory.Create()) { var match = new Match { MatchId = Guid.NewGuid(), Navn = "Utvikling", StartTid = new DateTime(2015, 11, 01, 10, 00, 00), SluttTid = new DateTime(2015, 11, 06, 10, 00, 00) }; if (context.Matcher.Any(x => x.Navn == match.Navn)) return; var leggTilLag = context.Lag.Where(x => x.LagId.StartsWith("SUPPORT") || x.LagId.StartsWith("BBR")).ToList(); foreach (var lag in leggTilLag) { var deltakelse = match.LeggTil(lag); var våpen = context.Våpen.ToList(); deltakelse.LeggTilVåpen(våpen[0]); deltakelse.LeggTilVåpen(våpen[1]); } context.Matcher.Add(match); foreach (var post in new PostFactory().Les(Constants.Område.Oscarsborg)) { post.HemmeligKode = post.Navn.Replace(" ", string.Empty); post.Navn = "Test" + post.Navn; post.Omraade = "Testrunde"; context.Poster.Add(post); var postIMatch = new PostIMatch { Match = match, Post = post, PoengArray = post.DefaultPoengArray, SynligFraTid = match.StartTid, SynligTilTid = match.SluttTid }; match.Poster.Add(postIMatch); } context.SaveChanges(); } }
public void Opprett_spill_videre() { //Opprett_Våpen(); //Opprett_Arrangørlag(); //Opprett_LagForHelga(); using (var context = _dataContextFactory.Create()) { var match = new Match() { MatchId = Guid.NewGuid(), Navn = "Bouvet Battle Royale 2015 - nachpiel", StartTid = new DateTime(2015, 11, 07, 15, 00, 00), SluttTid = new DateTime(2045, 11, 07, 15, 00, 00) }; if (context.Matcher.Any(x => x.Navn == match.Navn)) return; var leggTilLag = context.Lag.Where(x => x.LagId.StartsWith("SUPPORT") || x.LagId.StartsWith("JAVA_") || x.LagId.StartsWith("MS_")).ToList(); foreach (var lag in leggTilLag) { var deltakelse = match.LeggTil(lag); var våpen = context.Våpen.ToList(); deltakelse.LeggTilVåpen(våpen[0]); deltakelse.LeggTilVåpen(våpen[1]); } context.Matcher.Add(match); foreach (var post in new PostFactory().Les(Constants.Område.Oscarsborg)) { context.Poster.Add(post); var postIMatch = new PostIMatch { Match = match, Post = post, PoengArray = post.DefaultPoengArray, SynligFraTid = match.StartTid, SynligTilTid = match.SluttTid }; if (post.Latitude < 59.67700) postIMatch.SynligFraTid = match.SluttTid; match.Poster.Add(postIMatch); } context.SaveChanges(); } }