/// <summary> /// Ova funkcija učitava argumente iz komandne linije /// </summary> /// <param name="args">Polje argumenata</param> /// <returns>True ako je sve dobro učitano, inače False</returns> public static bool ReadArgs(string[] args) { ArgumentHandler arguments = ArgumentHandler.GetInstance(); try { if (args.Length < 8) { Console.WriteLine("Nisu upisani svi argumenti!"); return(false); } #region Učitaj generator slučajnog broja int randomSeed = Int32.Parse(args[0]); if (randomSeed < 100) { Console.WriteLine("Generator slučajnog broja mora imati bar 3 znamenke!"); return(false); } arguments.AddArgument("RandomSeed", "int", randomSeed, true); #endregion #region Učitaj maksimalni broj tema int maxThemeNumber = Int32.Parse(args[1]); if (maxThemeNumber <= 0 || maxThemeNumber > 10) { Console.WriteLine("Maksimalni broj tema mora biti u rangu 1-10!"); return(false); } arguments.AddArgument("MaxThemeNumber", "int", maxThemeNumber, true); #endregion #region Učitaj maksimalni broj tema po natjecatelju int maxThemeNumberPerCompetitor = Int32.Parse(args[2]); if (maxThemeNumberPerCompetitor <= 0 || maxThemeNumberPerCompetitor > maxThemeNumber) { Console.WriteLine("Maksimalni broj tema po natjecatelju mora biti veći od 0 i manji ili jedna maksimalnom broju tema!"); return(false); } arguments.AddArgument("MaxThemeNumberPerCompetitor", "int", maxThemeNumberPerCompetitor, true); #endregion #region Učitaj maksimalni broj kategorija po natjecatelju int maxCategoryNumberPerCompetitor = Int32.Parse(args[3]); if (maxCategoryNumberPerCompetitor <= 0 || maxCategoryNumberPerCompetitor > 3) { Console.WriteLine("Maksimalni broj kategorija po natjecatelju mora biti u rangu 1-3!"); return(false); } arguments.AddArgument("MaxCategoryNumberPerCompetitor", "int", maxCategoryNumberPerCompetitor, true); #endregion #region Učitaj maksimalni broj natjecatelja int maxCompetitorNumber = Int32.Parse(args[4]); if (maxCompetitorNumber < 0) { Console.WriteLine("Maksimalni broj natjecatelja ne smije biti manji od 0"); return(false); } arguments.AddArgument("MaxCompetitorNumber", "int", maxCompetitorNumber, true); #endregion #region Učitaj broj članova žiria int juryNumber = Int32.Parse(args[5]); if (maxCompetitorNumber <= 0) { Console.WriteLine("Maksimalni broj kategorija po natjecatelju mora biti veći od 0!"); return(false); } arguments.AddArgument("JuryNumber", "int", juryNumber, true); #endregion #region Učitaj naziv klase bodovanja string scoringClass = args[6]; arguments.AddArgument("ScoringClass", "string", scoringClass, true); #endregion #region učitaj naziv datoteke u koju se spremaju svi rezultati i tablice bodova string resultFile = args[7]; arguments.AddArgument("ResultFile", "string", resultFile, true); #endregion } catch { Console.WriteLine("Došlo je do nepoznate pogreške"); return(false); } return(true); }