コード例 #1
0
        /// <summary>
        ///     Copies the click.
        /// </summary>
        /// <param name="item">The history item.</param>
        private void CopyClick(PlatformHistoryItem item)
        {
            const string format = @"Timestamp:             {0}
Tenant Id:             {1}
Tenant Name:           {2}
Package Id:            {3}
Package Name:          {4}
Operation:             {5}
Machine:               {6}
User:                  {7}
Process:               {8}
Arguments:             {9}
Exception:
{10}";

            RetryHandler.Retry(() =>
            {
                Clipboard.SetData(DataFormats.Text, string.Format(format, item.Timestamp, item.TenantId, item.TenantName, item.PackageId.ToString("B"), item.PackageName, item.Operation, item.Machine, item.User, item.Process, item.Arguments, item.Exception));
                PluginSettings.Channel.SendMessage(new StatusTextMessage(@"Data copied to clipboard...", 2000).ToString( ));
            }, exceptionHandler: e => PluginSettings.EventLog.WriteException(e));
        }
コード例 #2
0
        /// <summary>
        ///     Loads the history.
        /// </summary>
        private void LoadHistory( )
        {
            var databaseManager = new DatabaseManager(PluginSettings.DatabaseSettings);

            const string commandText = @"--ReadiMon - LoadHistory
SELECT
    [Timestamp],
    [TenantName],
    [TenantId],
    [PackageId],
    [PackageName],
    [Operation],
    [Machine],
    [User],
    [Process],
    [Arguments],
    [Exception]
FROM [dbo].[PlatformHistory]";

            try
            {
                using (IDbCommand command = databaseManager.CreateCommand(commandText))
                {
                    using (var reader = command.ExecuteReader( ))
                    {
                        var historyItems = new List <PlatformHistoryItem>( );

                        var tenants = new HashSet <string>( );

                        do
                        {
                            do
                            {
                                while (reader.Read( ))
                                {
                                    var timestamp   = reader.GetDateTime(0, DateTime.MinValue);
                                    var tenantName  = reader.GetString(1, "");
                                    var tenantId    = reader.GetInt64(2, 0);
                                    var packageId   = reader.GetGuid(3, Guid.Empty);
                                    var packageName = reader.GetString(4, "");
                                    var operation   = reader.GetString(5, "Unknown");
                                    var machine     = reader.GetString(6, "");
                                    var user        = reader.GetString(7, "");
                                    var process     = reader.GetString(8, "");
                                    var args        = reader.GetString(9, "");
                                    var err         = reader.GetString(10, "");

                                    var historyItem = new PlatformHistoryItem
                                    {
                                        Timestamp   = timestamp.ToLocalTime( ),
                                        TenantName  = tenantName,
                                        TenantId    = tenantId,
                                        PackageId   = packageId,
                                        PackageName = packageName,
                                        Operation   = operation,
                                        Machine     = machine,
                                        User        = user,
                                        Process     = process,
                                        Arguments   = args,
                                        Exception   = err,
                                        IsError     = !string.IsNullOrEmpty(err)
                                    };

                                    tenants.Add(tenantName);

                                    historyItems.Add(historyItem);
                                }
                            }while (reader.NextResult( ));
                        }while (reader.NextResult( ));

                        HistoryItems = historyItems.OrderByDescending(x => x.Timestamp).ToList( );

                        TenantFilters = new List <FilterObject>( );

                        foreach (string ten in tenants.OrderBy(k => k))
                        {
                            TenantFilters.Add(new FilterObject(ten, string.IsNullOrEmpty(ten) ? "<empty>" : ten, true, TenantFilterUpdate));
                        }

                        OnPropertyChanged("TenantFilters");

                        FilteredHistoryItems = new List <PlatformHistoryItem>(HistoryItems);
                    }
                }
            }
            catch (Exception exc)
            {
                PluginSettings.EventLog.WriteException(exc);
            }
        }