private static AbstractCompetition LoadPanelCompetition(string competitionFileName, string competitionDirectory, XmlNode rootNode, string clubName, string trophyName, string competitionKey, string resultsKey) { AbstractCompetition competition = new PanelCompetition(competitionFileName, competitionDirectory, clubName, trophyName, competitionKey, resultsKey); XmlNode panelsNode = rootNode["Panels"]; int panelPosition = 1; var panelList = new List <CompetitionPanel>(); foreach (XmlNode eachPanelNode in panelsNode.ChildNodes) { CompetitionPanel eachPanel = new CompetitionPanel(competition, eachPanelNode, panelPosition); int imagePosition = 1; foreach (XmlNode eachImageNode in eachPanelNode.ChildNodes) { CompetitionImage eachImage = new CompetitionImage(competition, eachImageNode, imagePosition); eachPanel.AddImage(eachImage); imagePosition++; } CompetitionFactory.WritePanelLayoutImage(competitionFileName, competitionDirectory, eachPanel); panelList.Add(eachPanel); panelPosition++; } ((PanelCompetition)competition).SetPanels(panelList); return(competition); }
internal static List <CompetitionImage> GetHeldPanels(PanelCompetition competition, string competitionName) { List <CompetitionImage> heldImages = new List <CompetitionImage>(); string databaseFilePath = ImagePaths.GetDatabaseFile(competitionName); SQLiteConnection dbConnection = new SQLiteConnection("DataSource=" + databaseFilePath + ";Version=3;"); dbConnection.Open(); string sql = "SELECT name FROM held_images"; SQLiteCommand cmd = new SQLiteCommand(sql, dbConnection); SQLiteDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { CompetitionPanel competitionPanel = competition.GetImagePanelById(reader.GetString(0)); heldImages.Add(competitionPanel.GetPanelImage()); } } dbConnection.Close(); return(heldImages); }