public void ProcessFiles(string[] filenames) { //parsiranje svih fajlova u kladionice string[] lines; foreach (string filename in filenames) { Kladionica k = new Kladionica(Path.GetFileNameWithoutExtension(filename)); lines = File.ReadAllText(filename).Replace(",", ".").Split('\n'); k.LoadData(lines); kladionice.Add(k); } //uzima se kladionica sa najvise utakmica i utakmice se assigne-uju u masterKladionici Kladionica kladionicaSaNajviseUtakmica = kladionice.OrderByDescending(k => k.BrojUtakmica).First(); foreach (Utakmica u in kladionicaSaNajviseUtakmica.SveUtakmice) { u.Id = idGenerator++; kladionicaSaNajviseUtakmica.DodajUtakmicuUSortirane(u); masterKladionica.DodajUtakmicuUSortirane(u); masterKladionica.DodajUtakmicuUSve(u); } kladionicaSaNajviseUtakmica.Processed = true; //obradjuju se ostale kladionice foreach (Kladionica k in kladionice) { if (k.Processed) { continue; } int id; foreach (Utakmica u in k.SveUtakmice) { if (TryFindMatchInMaster(u, out id)) { u.Id = id; //TODO: pogledati da li ima vec pod tim IDjem iz te kladionice u sortiranim //ako ima uporediti postojecu i ovu sa masterom....koja bolje pase ta se assignuje, a druga se dodaje u master k.DodajUtakmicuUSortirane(u); } else { u.Id = idGenerator++; masterKladionica.DodajUtakmicuUSortirane(u); masterKladionica.DodajUtakmicuUSve(u); k.DodajUtakmicuUSortirane(u); } } k.Processed = true; } }
public Processor() { masterKladionica = new Kladionica("MasterKladionica"); }