//A tárolt cimeket sorbarendezi, majd végig megy rajta egy ciklussal és //átpakolja az Utvonaltervbe, a már rendezett sorrendben public Utvonalterv UtvonalTervezes(Rendelesek rendelesek, int feldolgozandoRendelesekSzama) { Utvonalterv utvonalterv = new Utvonalterv(); List <Rendeles> rendezendoRendelesek = new List <Rendeles> (); for (int i = 0; i < feldolgozandoRendelesekSzama; i++) { Rendeles r = rendelesek.RendelestKivesz(); if (r != null) { rendezendoRendelesek.Add(r); } } IComparer <Rendeles> comparer = new CimHasonlito(); rendezendoRendelesek.Sort(comparer); foreach (Rendeles item in rendezendoRendelesek) { utvonalterv.RendelesHozzaadas(item); } return(utvonalterv); }
public Futar(string FutarNev, Color JeloloSzin) { aktualisAllapot = FutarAllapot.varakozik; szallitasiSorrend = new Utvonalterv(); this.FutarNev = FutarNev; this.JeloloSzin = JeloloSzin; }
public void Main(PizzakiszallitasMainForm form, CityVisual CV) { Utvonalterv megtervezettUtvonal = null; Futar szabadFutar = null; Rendeles aktualisRendeles = null; FutarAllapot aktualisFutarAllapot = FutarAllapot.varakozik; string message = ""; int rendelesekSzama = 0; int KovetkezoFutarIndex = 0; rendelesekSzama = rendelesek.RendelesekSzama(); for (int i = 0; i < rendelesekSzama; i++) { megtervezettUtvonal = iroda.UtvonalTervezes(rendelesek, 2); if (megtervezettUtvonal.UtvonalAltalTartalmazottRendelesekSzama() == 0) { break; } szabadFutar = futarok.KovetkezoFutar(KovetkezoFutarIndex); KovetkezoFutarIndex = Futarok.KovetkezoIndex(KovetkezoFutarIndex, futarok.FutarokSzama()); if (szabadFutar != null) { aktualisFutarAllapot = szabadFutar.getFutarAllapot(); message = szabadFutar.GetFutarNev() + " állapota: " + aktualisFutarAllapot.ToString(); form.AppendLineToOutput(message); System.Threading.Thread.Sleep(2 * 1000); szabadFutar.UtvonaltervetFelvesz(megtervezettUtvonal); aktualisFutarAllapot = iroda.FutartIndit(szabadFutar); message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.getFutarAllapot().ToString(); form.AppendLineToOutput(message); System.Threading.Thread.Sleep(2 * 1000); while ((aktualisRendeles = szabadFutar.getSzallitasiSorrend().KovetkezoRendeles()) != null) { CV.VisitCity(szabadFutar, aktualisRendeles); message = "\t" + szabadFutar.GetFutarNev() + " tartózkodási helye: " + aktualisRendeles.RendelesiCim().ToString(); form.AppendLineToOutput(message); System.Threading.Thread.Sleep(2 * 1000); } message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.VisszafeleMegy().ToString(); form.AppendLineToOutput(message); System.Threading.Thread.Sleep(2 * 1000); message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.VisszatertFutar().ToString(); form.AppendLineToOutput(message); System.Threading.Thread.Sleep(2 * 1000); } } return; }
public void UtvonaltervetFelvesz(Utvonalterv utvonalterv) { this.szallitasiSorrend = utvonalterv; return; }