// czysci referencje u siebie, w kliencie i w tlumaczu. public void ArchiwizujZlecenie(ZlecenieBiezace z) { ///////////////////// if (ListaZlecenBiezacychPrzydzielonych.Contains(z)) { // ListaZlecenBiezacychPrzydzielonych. } // ... uzupełnic funkcje usuwajaca referencje u klienta ///////////////////////// // usuwa w tlumaczach referencje do zlecenia foreach (RolaTlumacz t in ListaTlumaczy) { if (t.ListaWykonywanychZlecen.Contains(z)) { t.ListaWykonywanychZlecen.Remove(z); } } z.Archiwizuj(); // usuwamy referencje u siebie ListaZlecenBiezacychPrzydzielonych.Remove(z); }
// GUI ma wyciągnąć zlecenia nie przydzielone, dlakazdego wyświetlić liste dokumentow i tłumaczy z listy. wyswietlic je pracownikowi, pracownik ma wybrac które chce przydzielić // i nastepnie Controller zwroci mi pare, zlecenieBiezace, Tlumacz public void PrzydzielZlecenie(ZlecenieBiezace zlecenie, LinkedList <RolaTlumacz> tlumacze) { // jak wyjac obiekt po kluczu z mapy? zrobilem to Enumeratorem ale na to powinna byc jedna metoda System.Collections.IDictionaryEnumerator enumerator; enumerator = ListaZlecenBiezacychNieprzydzielonych.GetEnumerator(); while (enumerator.MoveNext()) { if (enumerator.Key.Equals(zlecenie)) { ListaZlecenBiezacychPrzydzielonych.Add(enumerator.Key, enumerator.Value); ListaZlecenBiezacychNieprzydzielonych.Remove(enumerator.Key); // dodajemy tlumaczom referencje do zlecenia, bardziej szczegolowym podzialem dokuemntu i przydzialem dokumentow zajmie sie inna grupa foreach (RolaTlumacz t in tlumacze) { t.ListaWykonywanychZlecen.AddLast(zlecenie); } } } }