/** Extract from zip file to tmp directory */ private static void ExtractFiles(string competitionName) { string zipFilePath = ImagePaths.GetZipFile(competitionName); string destination = ImagePaths.GetExtractDirectory(competitionName); if (Directory.Exists(destination) == false) { ZipFile.ExtractToDirectory(zipFilePath, destination); } }
internal static AbstractCompetition Load(string competitionFileName) { string competitionDirectory = ImagePaths.GetExtractDirectory(competitionFileName); AbstractCompetition competition = null; try { // Load image order details XmlDocument orderingDocument = new XmlDocument(); orderingDocument.Load(competitionDirectory + "/" + CONTROL_FILENAME); XmlNode rootNode = orderingDocument.FirstChild; string competitionStyle = rootNode["Style"].InnerText; string clubName = rootNode["Club"].InnerText; string trophyName = rootNode["Trophy"].InnerText; string competitionKey = rootNode["CompKey"].InnerText; string resultsKey = rootNode["ResultsKey"].InnerText; bool scoring = rootNode["Scoring"].InnerText.ToLower() == "true"; switch (competitionStyle.ToLower()) { case "panel": competition = LoadPanelCompetition(competitionFileName, competitionDirectory, rootNode, clubName, trophyName, competitionKey, resultsKey); break; default: competition = LoadSingleImageCompetition(competitionFileName, competitionDirectory, rootNode, clubName, trophyName, scoring, competitionKey, resultsKey); break; } } catch (Exception e) { string clubName = "Competition zip file broken"; string trophyName = e.Message; competition = new Competition(competitionFileName, competitionDirectory, clubName, trophyName, null, null); } return(competition); }