private void _tildelpoint(Match match, int antal, int[] point)
        {
            _points = point;
            SortedList <string, Loeber> toploebere = new SortedList <string, Loeber>();

            int    n = 0; // tildelte point
            double p = 0.0;

            IList <Loeber> loebereK1       = new List <Loeber>();
            IList <Loeber> loebereK2       = new List <Loeber>();
            IList <Loeber> loebereRestrict = new List <Loeber>();

            List <string> tider = new List <string>();

            // for gennemførte løbere fra de 2 klubber i matchen
            var matchloebere = Loebere.Where(item => ((item.Value.Klub == match.Klub1 && !match.Klub1.Udeblevet) || (item.Value.Klub == match.Klub2 && !match.Klub2.Udeblevet)) && item.Value.IsStatusOK);

            foreach (var kv in matchloebere)
            {
                Loeber l = kv.Value;

                // lav kun beregningen 1 gang for hver tid
                if (!tider.Contains(l.Tid))
                {
                    tider.Add(l.Tid);

                    // noter om vi allerede har restrictioner
                    bool restrict = loebereRestrict.Count > 0;

                    // find alle løbere med denne tid og foretag beregning hvis der er nogle
                    var loebereMedSammeTid = matchloebere.Where(pair => pair.Value.Tid == l.Tid);

                    foreach (var samme in loebereMedSammeTid)
                    {
                        bool   tildel = false;
                        Loeber ll     = samme.Value;

                        // afgør om en løber er kandidat til at få point
                        if (ll.Klub == match.Klub1)
                        {
                            if (loebereK1.Count < antal)
                            {
                                // fra klub1 og under antal har fået tildelt point
                                tildel = true;
                            }
                        }
                        else if (ll.Klub == match.Klub2)
                        {
                            if (loebereK2.Count < antal)
                            {
                                // fra klub2 og under antal har fået tildelt point
                                tildel = true;
                            }
                        }

                        if (tildel)
                        {
                            // hvis der er points at tildele så gør det
                            if (n < point.Length)
                            {
                                p = point[n];
                            }
                            else
                            {
                                p = 0.0;
                            }

                            // giv antal point
                            ll.SetPoint(match, p);

                            // noter hvem der har fået point
                            toploebere.Add(samme.Key, samme.Value);

                            if (ll.Klub == match.Klub1)
                            {
                                loebereK1.Add(ll);
                            }
                            else
                            {
                                loebereK2.Add(ll);
                            }

                            n++;
                        }
                    }
                }
            }

            // fordel point for pointgivende løbere med samme tid
            // løbere med samme tid på tværs af klubber, skal dele de point som
            // en eller flere har fået jvf placering (som vil være tilfældig da de alle har samme tid)
            // loop over løbere som er sorteret på tid
            // for hver ny tid
            // hvis en løber har samme tid som den foregående startes en beregning
            // for alle løbere med denne tid. alle deres point summeres og fordeles på antallet af løbere
            tider.Clear();
            foreach (Loeber l in toploebere.Values)
            {
                // lav kun beregningen 1 gang for hver tid
                if (!tider.Contains(l.Tid))
                {
                    tider.Add(l.Tid);

                    // find alle løbere med denne tid og foretag beregning hvis der er nogle
                    var loebereMedSammeTid = toploebere.Where(kv => kv.Value.Tid == l.Tid);
                    int cntP = loebereMedSammeTid.Count();
                    if (cntP > 1)
                    {
                        // summer point tildelt for dene match
                        double sumP = 0;
                        foreach (KeyValuePair <string, Loeber> kv in loebereMedSammeTid)
                        {
                            sumP += kv.Value.GetPoint(match);
                        }

                        // fordel points på alle med samme match
                        foreach (KeyValuePair <string, Loeber> kv in loebereMedSammeTid)
                        {
                            kv.Value.SetPoint(match, sumP / cntP);
                        }
                    }
                }
            }
        }