Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
 public void AddClassroom(string classroomId)
 {
     TerminsByClassrooms.Add(classroomId, new List <string>());
 }