Пример #1
0
        /// <summary>
        /// Csak is a delegate miatt lett létrehozva a feladat szerint.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        internal Versenyzo AlertRemoval(string id)
        {
            VersenyzoKezelo.ListElement currentElement = _FirstElement; // Vesszük az első elemet

            // Addig megyünk amíg a jelenlegi elemünk nem null, és az érték nem egyezik a megadottal.
            while (currentElement != null)
            {
                VersenyBrigad             brigad  = currentElement.ElementValue;
                VersenyBrigad.ListElement element = brigad.FirstElement;
                while (element != null)
                {
                    Versenyzo v2 = element.ElementValue;
                    if (v2.VersenyzoAzonosito == id)
                    {
                        return(v2);
                    }
                    if (element.LastElement)
                    {
                        break;
                    }
                    element = element.NextElement;
                }

                currentElement = currentElement.NextElement; // Vesszük a következő elemet
            }
            return(null);
        }
Пример #2
0
        /// <summary>
        /// Ezt a methodot úgy írtam meg, hogy az összes brigádot végig nézi egy adott versenyzőért, és ha megtalálja törli.
        /// Nem feltétlenül szükséges a használata, csak előre megcsináltam ha esetleg kellene.
        /// </summary>
        /// <param name="v"></param>
        public bool VersenyzoTorol(string id)
        {
            VersenyzoKezelo.ListElement currentElement = _FirstElement; // Vesszük az első elemet

            // Addig megyünk amíg a jelenlegi elemünk nem null, és az érték nem egyezik a megadottal.
            while (currentElement != null)
            {
                VersenyBrigad             brigad  = currentElement.ElementValue;
                VersenyBrigad.ListElement element = brigad.FirstElement;
                while (element != null)
                {
                    Versenyzo v2 = element.ElementValue;
                    if (v2.VersenyzoAzonosito == id)
                    {
                        brigad.Remove(v2);
                        if (brigad.FirstElement == null)
                        {
                            VersenyBrigadDelete(brigad);
                        }
                        else
                        {
                            // Ha véletlenül az első elem kerülne törlésre frissítsük az kulcs értéket a legkisebbre.
                            // Így megtartjuk, hogy a brigádok mindíg a legkisebb azonosítószámmal vannak feltüntetve.
                            if (brigad.FirstElement != null)
                            {
                                this._FirstElement.Key = brigad.FirstElement.Key;
                            }
                        }

                        return(true);
                    }
                    if (element.LastElement)
                    {
                        break;
                    }
                    element = element.NextElement;
                }

                currentElement = currentElement.NextElement; // Vesszük a következő elemet
            }

            return(false);
        }