public Registration(Competitor competitor, Theme theme, string category, IFotoaparat camera, Photo photo)
        {
            RegistrationHandler registrationHandler = RegistrationHandler.GetInstance();
            id = "PRIJAVA " + registrationHandler.Counter.ToString();
            registrationHandler.Counter++;

            disqualified = false;
            this.competitor = competitor;
            this.theme = theme;
            this.category = category;
            this.camera = camera;
            this.photo = photo;
        }
        /// <summary>
        /// Funkcija koja generira teme za natječaj
        /// </summary>
        /// <param name="numberOfThemes">Broj tema koji treba generirati</param>
        /// <returns>Lista slučajno odabranih tema</returns>
        private List<Theme> GenerateThemes(int numberOfThemes)
        {
            #region Pronalazak direktorija s temama
            string directoryLocation = DirectoryLocator.GetDirectory("Themes", Directory.GetCurrentDirectory(), 0, 3);
            if (string.Equals("ERROR", directoryLocation))
            {
                Console.WriteLine("Niti jedna tema nije učitana!");
                return null;
            }
            #endregion

            #region Učitavanje kandidata za teme
            List<Theme> listOfCandidates = new List<Theme>();
            List<string> listOfThemeNames = new List<string>();
            string[] files = Directory.GetFiles(directoryLocation);

            foreach (string file in files)
            {
                Console.WriteLine("Učitavam teme iz " + file);
                string[] lines = System.IO.File.ReadAllLines(file);

                foreach(string line in lines)
                {
                    if (listOfThemeNames.Contains(line) || string.Equals(line, ""))
                        continue;

                    Theme newTheme = new Theme(line);
                    listOfCandidates.Add(newTheme);
                    listOfThemeNames.Add(line);
                }
            }
            #endregion

            #region Odabir tema za natječaj
            List<Theme> resultList = new List<Theme>();
            Randomizer rnd = Randomizer.GetInstance();
            while (resultList.Count < numberOfThemes)
            {
                int themeIndex = rnd.GetNumber(0, listOfCandidates.Count);
                Theme randomTheme = listOfCandidates[themeIndex];
                resultList.Add(randomTheme);
                listOfCandidates.Remove(randomTheme);
            }
            #endregion

            return resultList;
        }