/// <summary> /// Prikuplja sve instance termina koji se odžavaju u ovoj učionici. /// </summary> /// <param name="classroomId">id učionice za koju se prikupljaju termini</param> /// <returns>Lista termina koji se odžavaju u ovoj učionici</returns> public List <MyTermin> GetTerminsInClassroom(string classroomId) { List <MyTermin> retList = new List <MyTermin>(); if (!TerminsByClassrooms.ContainsKey(classroomId)) { AddClassroom(classroomId); return(retList); // nema rezultata - prazna lista } List <string> invalidIds = new List <string>(); foreach (var id in TerminsByClassrooms[classroomId]) { // bagovito je.. ovo okalšava život.. if (TerminsByIds.ContainsKey(id)) { retList.Add(TerminsByIds[id]); } else { invalidIds.Add(id); } } foreach (var invalidId in invalidIds) { TerminsByClassrooms[classroomId].Remove(invalidId); } return(retList); }
/// <summary> /// Brisanje učionice i svih termina iz "baze". /// </summary> /// <param name="id">id učionice koja se briše</param> public void RemoveClassroom(string id) { foreach (var terminId in TerminsByClassrooms[id]) { TerminsByIds.Remove(terminId); } TerminsByClassrooms.Remove(id); }
public void AddTermin(MyTermin termin) { try { termin.Id = NextId(); TerminsByIds.Add(termin.Id, termin); if (!TerminsByClassrooms.ContainsKey(termin.InClassroom.Id)) { TerminsByClassrooms.Add(termin.InClassroom.Id, new List <string>() { termin.Id }); } else { TerminsByClassrooms[termin.InClassroom.Id].Add(termin.Id); } if (!TerminsBySubjects.ContainsKey(termin.ForSubject.Id)) { TerminsBySubjects.Add(termin.ForSubject.Id, new List <string>() { termin.Id }); } else { TerminsBySubjects[termin.ForSubject.Id].Add(termin.Id); } } catch (Exception e) { Console.WriteLine("Neuspjeli pokusaj dodavanja termina {0}<{1}> u ucionicu {2}", termin.HeaderText, termin.Id, termin.InClassroom.Id); Console.WriteLine("Razlog: " + e.Message + "\n"); //throw; } }
public void AddClassroom(string classroomId) { TerminsByClassrooms.Add(classroomId, new List <string>()); }