Esempio n. 1
0
        public Skiver FinnLedigSkive(int forsteSkive)
        {
            if (this.SkiverILaget.Count == 0)
            {
                var skive = new Skiver(forsteSkive);
                this.SkiverILaget.Add(skive);
                return(skive);
            }


            foreach (var skive in this.SkiverILaget)
            {
                if (skive.SkiveNummer >= forsteSkive)
                {
                    if (skive.Skytter == null)
                    {
                        return(skive);
                    }
                }
            }

            if (forsteSkive <= this.maxSkiveriLaget)
            {
                var skive = new Skiver(forsteSkive);
                this.SkiverILaget.Add(skive);
                return(skive);
            }

            return(null);
        }
Esempio n. 2
0
        public Skiver FinnLedigSkive( int  forsteSkive)
        {
            if (this.SkiverILaget.Count == 0)
            {
                var skive = new Skiver(forsteSkive);
                this.SkiverILaget.Add(skive);
                return skive;
            }

            
            foreach (var skive in this.SkiverILaget)
            {
                if(skive.SkiveNummer >= forsteSkive)
                {
                    if (skive.Skytter == null)
                    {
                        return skive;
                    }
                }
            }

            if (forsteSkive <= this.maxSkiveriLaget)
            {
                var skive = new Skiver(forsteSkive);
                this.SkiverILaget.Add(skive);
                return skive;
            }

            return null;
        }
Esempio n. 3
0
 public Skiver(Skiver copy)
 {
     this.SkiveNummer = copy.SkiveNummer;
     this.Free = copy.Free;
     if (copy.Skytter != null)
     {
         this.Skytter = new Skytter(copy.Skytter);
         this.SkytterGuid = copy.Skytter.Id;
     }
     else
     {
         this.SkytterGuid = null;
     }
 }
Esempio n. 4
0
 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;
     }
     
 }
Esempio n. 5
0
 public Skiver(Skiver copy)
 {
     this.SkiveNummer = copy.SkiveNummer;
     this.Free        = copy.Free;
     if (copy.Skytter != null)
     {
         this.Skytter     = new Skytter(copy.Skytter);
         this.SkytterGuid = copy.Skytter.Id;
     }
     else
     {
         this.SkytterGuid = null;
     }
 }
Esempio n. 6
0
        public Skiver GetSkiveNr(int skiveNr)
        {
            foreach (var skive in this.SkiverILaget)
            {
                if (skive.SkiveNummer == skiveNr)
                {
                    return(skive);
                }
            }
            Skiver sk = new Skiver(skiveNr);

            this.SkiverILaget.Add(sk);
            this.SkiverILaget = this.SkiverILaget.OrderBy(x => x.SkiveNummer).ToList();

            return(sk);
        }
Esempio n. 7
0
        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;
        }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
        public Skiver GetSkiveNr(int skiveNr)
        {
            foreach (var skive in this.SkiverILaget)
            {
                if (skive.SkiveNummer == skiveNr)
                {
                        return skive;
                }
            }
            Skiver sk= new Skiver(skiveNr);

            this.SkiverILaget.Add(sk);
            this.SkiverILaget = this.SkiverILaget.OrderBy(x => x.SkiveNummer).ToList();
            
            return sk;
        }