private void _deleteButton_Click(object sender, EventArgs e) { if (_foldersDataGridView.SelectedRows.Count > 0) { RecFolder folder = _foldersDataGridView.SelectedRows[0].DataBoundItem as RecFolder; _folders.Remove(folder); _foldersBindingSource.ResetBindings(false); } }
private void _openButton_Click(object sender, EventArgs e) { if (_foldersDataGridView.SelectedRows.Count > 0) { try { RecFolder folder = _foldersDataGridView.SelectedRows[0].DataBoundItem as RecFolder; ProcessStartInfo startInfo = new ProcessStartInfo(folder.Folder); startInfo.WindowStyle = ProcessWindowStyle.Normal; startInfo.UseShellExecute = true; System.Diagnostics.Process.Start(startInfo); } catch (Exception ex) { MessageBox.Show(this, ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/// <summary> /// Parses one row in <see cref="System.Data.Common.DbDataReader"/> into /// a new instance of <see cref="Paths.Common.Records.RecFolder"/>. /// </summary> /// <param name="dataReader">The data reader.</param> /// <returns>A new instance of <see cref="Paths.Common.Records.RecFolder"/>.</returns> public static RecFolder ParseFolder( DbDataReader dataReader ) { var record = new RecFolder { Factory = dataReader[0].Cast<string>(), Project = dataReader[1].Cast<string>(), ConnectionId = dataReader[2].Cast<int>(), FolderPath = dataReader[3].Cast<string>() }; return record; }
/// <summary> /// Load all records of the same factory and project as the supplied record. /// </summary> /// <param name="record">A record with factory and project set.</param> /// <returns>A list of all mathcing records.</returns> public List<RecFolder> LoadFolder( RecFolder record ) { ImpactQuery query = new ImpactQuery() { Select = { ImpFolder.Factory, ImpFolder.Project, ImpFolder.ConnectionId, ImpFolder.FolderPath, }, From = { ImpFolder.As( "T1" ) }, Where = { ImpFolder.Factory.Equal( record.Factory ), ImpFolder.Project.Equal( record.Project ) } }; string statement = query.ToString(); List<RecFolder> result; using( ImpactDatabase database = new ImpactDatabase() ) { result = database.GetAll( statement, ParseFolder ); } return result; }