public int CompareTo(object obj) { if (obj == null) { return(1); } Megrendelo m = obj as Megrendelo; if (m != null) { return((this.OsszTerulet).CompareTo(m.OsszTerulet)); } else { throw new ArgumentException("A megadott objektum nem Megrendelo tipusu."); } }
// egy adott megrendelőt szolgál ki; ha az összes telkét sikerült lefedni, igazzal tér vissza public bool AktMegrendeloKiszolgalasa(Megrendelo M) { int i = 0; int j = 1; ZoldTerulet z; ElkeszultTeruletek = new LancoltLista <ZoldTerulet>(); LancoltLista <IGyepElem> kivettGyepElemek = new LancoltLista <IGyepElem>(); while (i < M.FeluletekSzama) { z = Teruletek.GetAktElem(j); // a korábban sorbarendezett Megrendelők ID-i alapján keresi ki a felületek láncolt listájából a lefedendő felületet if (z.MegrendeloID == M.ID && AktTeruletLefedo(z, kivettGyepElemek)) { Teruletek.Torles(z); ElkeszultTeruletek.BeszurCsokkenoSorrendben(z.Terulet, z); i++; } else { if (z.MegrendeloID == M.ID) { return(false); } j++; } } if (i >= M.FeluletekSzama) { OnMegrendelesElkeszult(ElkeszultTeruletek); return(true); } ListaElemeketAtrak(kivettGyepElemek, Elemek); return(false); }