private void AddEventGridEntry(FileSystemEvent fileSystemEvent)
        {
            Bitmap eventIcon;
            Color eventColor;
            string eventString;

            switch (fileSystemEvent.EventType)
            {
                case FileSystemEventType.Created:
                    eventIcon = Resources.EventCreatedBitmap;
                    eventColor = Color.Green;
                    eventString = "Created";
                    break;
                case FileSystemEventType.Deleted:
                    eventIcon = Resources.EventDeletedBitmap;
                    eventColor = Color.Red;
                    eventString = "Deleted";
                    break;
                case FileSystemEventType.Renamed:
                    eventIcon = Resources.EventRenamedBitmap;
                    eventColor = Color.Orange;
                    eventString = "Renamed";
                    break;
                default:
                    eventIcon = Resources.EventModifiedBitmap;
                    eventColor = Color.Blue;
                    eventString = "Modified";
                    break;
            }

            string fileNameColumnValue =
                (fileSystemEvent.EventType != FileSystemEventType.Renamed)
                    ? fileSystemEvent.NewFileName
                    : string.Format("{0} > {1}", fileSystemEvent.OldFileName, fileSystemEvent.NewFileName);
            int newRowIndex = gridEvents.Rows.Add(eventIcon, fileSystemEvent.EventDate.ToString("dd.MM.yyyy HH:mm:ss.ff"), eventString, fileNameColumnValue);
            gridEvents[colEventType.Index, newRowIndex].Style.ForeColor = eventColor;
        }
        private void LoadEventsFromDatabase()
        {
            const string eventSelectQueryText =
                @"select * from FileSystemEvent where FolderTraceGUID = @FolderTraceGUID order by FileSystemEventDate desc";

            gridEvents.Rows.Clear();
            if (ActiveFolderTrace != null)
            {
                QueryParameterSet queryParameters = new QueryParameterSet();
                queryParameters.Add("@FolderTraceGUID", ActiveFolderTrace.GUID.ToString());
                IQueryResult queryResult = DataProvider.Database.Query(eventSelectQueryText, queryParameters, true);

                int rowCount = queryResult.Rows.Count;
                for (int i = 0; i < gridTraces.Rows.Count; i++)
                {
                    if (gridTraces.Rows[i].Tag == ActiveFolderTrace)
                    {
                        gridTraces[colTraceEventCount.Index, i].Value = rowCount;
                    }
                }

                for (int i = 0; i < rowCount; i++)
                {
                    int eventType = Convert.ToInt32(queryResult[i]["FileSystemEventType"]);
                    DateTime eventDate = Convert.ToDateTime(queryResult[i]["FileSystemEventDate"]);
                    string oldName = Convert.ToString(queryResult[i]["FileSystemEventOldName"]);
                    string newName = Convert.ToString(queryResult[i]["FileSystemEventNewName"]);

                    FileSystemEvent fsEvent = new FileSystemEvent((FileSystemEventType)eventType, oldName, newName, eventDate);
                    AddEventGridEntry(fsEvent);
                }
            }
        }