private void btnOpenProject_ItemClick(object sender, ItemClickEventArgs e)
{
//let the user select a project from the Project folder. If none are present, let the user know
if (!Directory.Exists(m_appSettings.ProjectFolder)) Directory.CreateDirectory(m_appSettings.ProjectFolder);
System.Data.DataTable ValidProjects = new System.Data.DataTable();
ValidProjects.Columns.Add("Projectname");
ValidProjects.Columns.Add("NumberBackups");
ValidProjects.Columns.Add("NumberTransactions");
ValidProjects.Columns.Add("DateTimeModified");
ValidProjects.Columns.Add("Version");
string[] projects = Directory.GetDirectories(m_appSettings.ProjectFolder);
// filter for folders with a projectproperties.xml file
foreach (string project in projects)
{
string[] projectfiles = Directory.GetFiles(project, "projectproperties.xml");
if (projectfiles.Length > 0)
{
System.Data.DataTable projectprops = new System.Data.DataTable("T5PROJECT");
projectprops.Columns.Add("CARMAKE");
projectprops.Columns.Add("CARMODEL");
projectprops.Columns.Add("CARMY");
projectprops.Columns.Add("CARVIN");
projectprops.Columns.Add("NAME");
projectprops.Columns.Add("BINFILE");
projectprops.Columns.Add("VERSION");
projectprops.ReadXml((string)projectfiles.GetValue(0));
// valid project, add it to the list
if (projectprops.Rows.Count > 0)
{
string projectName = projectprops.Rows[0]["NAME"].ToString();
ValidProjects.Rows.Add(projectName, GetNumberOfBackups(projectName), GetNumberOfTransactions(projectName), GetLastAccessTime(projectprops.Rows[0]["BINFILE"].ToString()), projectprops.Rows[0]["VERSION"].ToString());
}
}
}
if (ValidProjects.Rows.Count > 0)
{
frmProjectSelection projselection = new frmProjectSelection();
projselection.SetDataSource(ValidProjects);
if (projselection.ShowDialog() == DialogResult.OK)
{
string selectedproject = projselection.GetProjectName();
if (selectedproject != "")
{
OpenProject(selectedproject);
}
}
}
else
{
frmInfoBox info = new frmInfoBox("No projects were found, please create one first!");
}
}