Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        public LagIMatch LeggTil(Lag lag)
        {
            var lagIMatch = new LagIMatch
            {
                Lag = lag,
                Match = this
            };
            LeggTil(lagIMatch);

            return lagIMatch;
        }
Пример #3
0
        public LagIMatch LeggTil(Lag lag)
        {
            var lagIMatch = new LagIMatch
            {
                Lag   = lag,
                Match = this
            };

            LeggTil(lagIMatch);

            return(lagIMatch);
        }
Пример #4
0
        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;
        }
Пример #5
0
        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
        }
Пример #6
0
        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();
        }