diff --git a/.editorconfig b/.editorconfig index ea23c51..76e8335 100644 --- a/.editorconfig +++ b/.editorconfig @@ -405,6 +405,9 @@ dotnet_diagnostic.MA0044.severity = error dotnet_diagnostic.MA0052.severity = error dotnet_diagnostic.SA1139.severity = error dotnet_diagnostic.SA1316.severity = error +dotnet_diagnostic.SA1204.severity = none +dotnet_diagnostic.SA1623.severity = silent +dotnet_diagnostic.SA1615.severity = silent [*.{cs,vb}] dotnet_style_operator_placement_when_wrapping = beginning_of_line diff --git a/Analogy.Interfaces.UnitTests/Analogy.Interfaces.UnitTests.csproj b/Analogy.Interfaces.UnitTests/Analogy.Interfaces.UnitTests.csproj index c4d1aa4..d98ebec 100644 --- a/Analogy.Interfaces.UnitTests/Analogy.Interfaces.UnitTests.csproj +++ b/Analogy.Interfaces.UnitTests/Analogy.Interfaces.UnitTests.csproj @@ -6,7 +6,7 @@ - + diff --git a/Analogy.Interfaces.UnitTests/AnalogyInterfaceUnitTests.cs b/Analogy.Interfaces.UnitTests/AnalogyInterfaceUnitTests.cs index efc6fc3..086661b 100644 --- a/Analogy.Interfaces.UnitTests/AnalogyInterfaceUnitTests.cs +++ b/Analogy.Interfaces.UnitTests/AnalogyInterfaceUnitTests.cs @@ -15,7 +15,6 @@ public void TestAnalogyLogMessageIsNotNull() Assert.IsNotNull(message.MethodName); Assert.IsNotNull(message.Module); Assert.IsNotNull(message.User); - } [TestMethod] public void TestAdditionalProperties() @@ -25,8 +24,6 @@ public void TestAdditionalProperties() message.AddOrReplaceAdditionalProperty("test", "test"); Assert.IsNotNull(message.AdditionalProperties.Count == 1); Assert.IsNotNull(message.AdditionalProperties["test"] == "test"); - - } public void TestAnalogyMessagesTypes() { @@ -37,4 +34,4 @@ public void TestAnalogyMessagesTypes() IAnalogyLogMessage m5 = new AnalogyCriticalMessage("text", "Source"); } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces.sln b/Analogy.Interfaces.sln index 3f76116..b04f3b1 100644 --- a/Analogy.Interfaces.sln +++ b/Analogy.Interfaces.sln @@ -9,6 +9,8 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{62E073E4-94B9-4988-9FBB-5E43EE641028}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig + Directory.Build.props = Directory.Build.props + .github\workflows\dotnetcore.yml = .github\workflows\dotnetcore.yml EndProjectSection EndProject Global diff --git a/Analogy.Interfaces/Analogy.Interfaces.csproj b/Analogy.Interfaces/Analogy.Interfaces.csproj index 4665a93..fbfaff3 100644 --- a/Analogy.Interfaces/Analogy.Interfaces.csproj +++ b/Analogy.Interfaces/Analogy.Interfaces.csproj @@ -1,7 +1,7 @@  - net7.0-windows;net6.0-windows;net48;net471 + net8.0-windows;net7.0-windows;net6.0-windows;net48;net471 true true true @@ -15,12 +15,12 @@ Analogy.Interfaces Analogy.Interfaces Analogy.LogViewer.Interfaces - 5.0.3.0 + 6.0.0 Lior Banai Analogy.LogViewer.Interfaces MIT - Lior Banai @ 2018-2023 + Lior Banai @ 2018-2024 icon.png enable latest @@ -30,16 +30,6 @@ Analogy.LogViewer true - - - true - - - - false - true - - True @@ -48,21 +38,7 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + diff --git a/Analogy.Interfaces/AnalogyLogMessageCustomEqualityComparer.cs b/Analogy.Interfaces/AnalogyLogMessageCustomEqualityComparer.cs index 309181f..ba928eb 100644 --- a/Analogy.Interfaces/AnalogyLogMessageCustomEqualityComparer.cs +++ b/Analogy.Interfaces/AnalogyLogMessageCustomEqualityComparer.cs @@ -42,7 +42,7 @@ public bool Equals(IAnalogyLogMessage? x, IAnalogyLogMessage? y) return false; } - if (CompareText && ((x.Text is not null && y.Text is null) || x.Text is null && y.Text is not null) || + if ((CompareText && ((x.Text is not null && y.Text is null) || (x.Text is null && y.Text is not null))) || ((x.Text is not null && y.Text is not null) && !x.Text.Equals(y.Text))) { return false; @@ -99,12 +99,12 @@ public bool Equals(IAnalogyLogMessage? x, IAnalogyLogMessage? y) } if (CompareParameters) { - if (x.AdditionalProperties is null && y.AdditionalProperties != null || - x.AdditionalProperties != null && y.AdditionalProperties is null) + if ((x.AdditionalProperties is null && y.AdditionalProperties != null) || + (x.AdditionalProperties != null && y.AdditionalProperties is null)) { return false; } - return x.AdditionalProperties is null && y.AdditionalProperties is null || + return (x.AdditionalProperties is null && y.AdditionalProperties is null) || x.AdditionalProperties.SequenceEqual(y.AdditionalProperties); } @@ -142,7 +142,7 @@ public int GetHashCode(IAnalogyLogMessage obj) hashCode = (hashCode * 397) ^ (obj.FileName != null ? obj.FileName.GetHashCode() : 0); } if (CompareLineNumber) - { hashCode = (hashCode * 397) ^ (int) obj.LineNumber; } + { hashCode = (hashCode * 397) ^ (int)obj.LineNumber; } if (CompareClass) { @@ -170,7 +170,7 @@ public int GetHashCode(IAnalogyLogMessage obj) } if (CompareParameters) { - if (obj.AdditionalProperties != null && obj.AdditionalProperties.Any()) + if (obj.AdditionalProperties is { Count: > 0 }) { foreach (var parameter in obj.AdditionalProperties) { @@ -187,4 +187,4 @@ public int GetHashCode(IAnalogyLogMessage obj) } } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/AnalogyLogMessageCustomEqualityOptedInComparer.cs b/Analogy.Interfaces/AnalogyLogMessageCustomEqualityOptedInComparer.cs index 7de7fb2..488a382 100644 --- a/Analogy.Interfaces/AnalogyLogMessageCustomEqualityOptedInComparer.cs +++ b/Analogy.Interfaces/AnalogyLogMessageCustomEqualityOptedInComparer.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Analogy.Interfaces { @@ -25,7 +22,6 @@ public class AnalogyLogMessageCustomEqualityOptedInComparer : IEqualityComparer< public AnalogyLogMessageCustomEqualityOptedInComparer() { - } public AnalogyLogMessageCustomEqualityOptedInComparer(bool compareDate, bool compareId, bool compareText, @@ -71,7 +67,7 @@ public bool Equals(IAnalogyLogMessage? x, IAnalogyLogMessage? y) return false; } - if (CompareText && ((x.Text is not null && y.Text is null) || x.Text is null && y.Text is not null) || + if ((CompareText && ((x.Text is not null && y.Text is null) || (x.Text is null && y.Text is not null))) || ((x.Text is not null && y.Text is not null) && !x.Text.Equals(y.Text))) { return false; @@ -128,12 +124,12 @@ public bool Equals(IAnalogyLogMessage? x, IAnalogyLogMessage? y) } if (CompareParameters) { - if (x.AdditionalProperties is null && y.AdditionalProperties != null || - x.AdditionalProperties != null && y.AdditionalProperties is null) + if ((x.AdditionalProperties is null && y.AdditionalProperties != null) || + (x.AdditionalProperties != null && y.AdditionalProperties is null)) { return false; } - return x.AdditionalProperties is null && y.AdditionalProperties is null || + return (x.AdditionalProperties is null && y.AdditionalProperties is null) || x.AdditionalProperties.SequenceEqual(y.AdditionalProperties); } @@ -199,7 +195,7 @@ public int GetHashCode(IAnalogyLogMessage obj) } if (CompareParameters) { - if (obj.AdditionalProperties != null && obj.AdditionalProperties.Any()) + if (obj.AdditionalProperties != null && obj.AdditionalProperties.Count > 0) { foreach (var parameter in obj.AdditionalProperties) { @@ -216,4 +212,4 @@ public int GetHashCode(IAnalogyLogMessage obj) } } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyColumnFilter.cs b/Analogy.Interfaces/DataTypes/AnalogyColumnFilter.cs index 8e6b705..d8e5e49 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyColumnFilter.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyColumnFilter.cs @@ -1,16 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Analogy.Interfaces.DataTypes +namespace Analogy.Interfaces.DataTypes { public struct AnalogyColumnFilter { public string ColumnName { get; set; } public string FilterValue { get; set; } public AnalogyColumnFilterType FilterType { get; set; } - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyColumnInfo.cs b/Analogy.Interfaces/DataTypes/AnalogyColumnInfo.cs index 699d4ea..ec3c31c 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyColumnInfo.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyColumnInfo.cs @@ -15,4 +15,4 @@ public AnalogyColumnInfo(string columnCaption, string columnName, Type columnTyp ColumnType = columnType; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyFileReadProgress.cs b/Analogy.Interfaces/DataTypes/AnalogyFileReadProgress.cs index 6b6c473..600a42e 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyFileReadProgress.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyFileReadProgress.cs @@ -3,14 +3,17 @@ public struct AnalogyFileReadProgress { public AnalogyFileReadProgressType ProgressType { get; } + /// ///Number of items processed in this report (normally one message per report). /// public long TotalProcessedInThisReport { get; } + /// ///Total processed entries (lines or messages) /// public long TotalProcessed { get; } + /// ///Total entries (lines or messages) in file /// @@ -24,4 +27,4 @@ public AnalogyFileReadProgress(AnalogyFileReadProgressType progressType, long to TotalProcessedInThisReport = totalProcessedInThisReport; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyLogMessage.cs b/Analogy.Interfaces/DataTypes/AnalogyLogMessage.cs index 8ea367e..6df2ac2 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyLogMessage.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyLogMessage.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -9,7 +8,6 @@ namespace Analogy.Interfaces { public class AnalogyLogMessage : IEquatable, IAnalogyLogMessage { - private static readonly string CurrentProcessName = Process.GetCurrentProcess().ProcessName; private static readonly int CurrentProcessId = Process.GetCurrentProcess().Id; private AnalogyRowTextType _rawTextType; @@ -29,6 +27,7 @@ public class AnalogyLogMessage : IEquatable, IAnalogyLogMessa /// Gets/Sets the log message text /// public string? Text { get; set; } + /// /// Gets/Sets the source of the log message /// @@ -54,6 +53,7 @@ public class AnalogyLogMessage : IEquatable, IAnalogyLogMessa /// public AnalogyLogClass Class { get; set; } public string? MachineName { get; set; } + /// /// Gets/Sets the log level of the message /// @@ -68,19 +68,23 @@ public class AnalogyLogMessage : IEquatable, IAnalogyLogMessa /// Gets/Sets the system process ID of message generator /// public int ProcessId { get; set; } + /// /// Gets/Sets the Thread ID of message generator /// public int ThreadId { get; set; } + /// /// Key/Value additional information for the message /// public Dictionary? AdditionalProperties { get; private set; } + /// /// The user Name for the message /// public string? User { get; set; } public static Dictionary LogMessagePropertyNames { get; set; } + /// /// The raw message text/data before formatting /// @@ -107,7 +111,6 @@ public void AddOrReplaceAdditionalProperty(string key, string value) } } - public void AddOrReplaceAdditionalProperty(string key, string value, IEqualityComparer comparer) { if (AdditionalProperties == null) @@ -148,7 +151,6 @@ public AnalogyLogMessage(string text, AnalogyLogLevel level, string? source = "" [CallerLineNumber] int lineNumber = 0) : this(text, level, AnalogyLogClass.General, source, string.Empty, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyLogMessage(string text, AnalogyLogLevel level, AnalogyLogClass logClass, string? source, @@ -202,7 +204,6 @@ public AnalogyLogMessage(string text, string rawText, AnalogyRowTextType rawText RawText = rawText; RawTextType = rawTextType; } - } public bool Equals(AnalogyLogMessage? other) @@ -224,8 +225,8 @@ public bool Equals(AnalogyLogMessage? other) User == other.User && MachineName == other.MachineName && RawTextType == other.RawTextType && RawText == other.RawText; - if (!areEqual || AdditionalProperties == null && other.AdditionalProperties != null || - AdditionalProperties != null && other.AdditionalProperties == null) + if (!areEqual || (AdditionalProperties == null && other.AdditionalProperties != null) || + (AdditionalProperties != null && other.AdditionalProperties == null)) { return false; } @@ -234,8 +235,8 @@ public bool Equals(AnalogyLogMessage? other) { return true; } - if (AdditionalProperties == null && other.AdditionalProperties != null || - AdditionalProperties != null && other.AdditionalProperties == null) + if ((AdditionalProperties == null && other.AdditionalProperties != null) || + (AdditionalProperties != null && other.AdditionalProperties == null)) { return false; } @@ -280,7 +281,7 @@ public override int GetHashCode() hashCode = (hashCode * 397) ^ ThreadId; hashCode = (hashCode * 397) ^ RawTextType.GetHashCode(); hashCode = (hashCode * 397) ^ (RawText != null ? RawText.GetHashCode() : 1); - if (AdditionalProperties != null && AdditionalProperties.Any()) + if (AdditionalProperties is { Count: > 0 }) { foreach (var parameter in AdditionalProperties) { @@ -298,7 +299,7 @@ public override string ToString() } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName PropertyName, string propertyValue)> data) + public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName PropertyName, string PropertyValue)> data) { AnalogyLogMessage m = new AnalogyLogMessage { @@ -307,7 +308,7 @@ public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName Id = Guid.Empty, Module = "Unknown", ThreadId = -1, - ProcessId = -1 + ProcessId = -1, }; foreach (var (propertyName, propertyValue) in data) { @@ -373,7 +374,7 @@ public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName continue; case AnalogyLogMessagePropertyName.Level: - if (Enum.TryParse(propertyValue, true, out AnalogyLogLevel level) && + if (Enum.TryParse(propertyValue, ignoreCase: true, out AnalogyLogLevel level) && Enum.IsDefined(typeof(AnalogyLogLevel), level)) { m.Level = level; @@ -386,7 +387,7 @@ public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName continue; case AnalogyLogMessagePropertyName.Class: - m.Class = Enum.TryParse(propertyValue, true, out AnalogyLogClass cls) && + m.Class = Enum.TryParse(propertyValue, ignoreCase: true, out AnalogyLogClass cls) && Enum.IsDefined(typeof(AnalogyLogClass), cls) ? cls : AnalogyLogClass.General; @@ -396,7 +397,7 @@ public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName m.RawText = string.IsNullOrEmpty(propertyValue) ? string.Empty : propertyValue; continue; case AnalogyLogMessagePropertyName.RawTextType: - m.RawTextType = Enum.TryParse(propertyValue, true, out AnalogyRowTextType type) && + m.RawTextType = Enum.TryParse(propertyValue, ignoreCase: true, out AnalogyRowTextType type) && Enum.IsDefined(typeof(AnalogyRowTextType), type) ? type : AnalogyRowTextType.None; @@ -409,15 +410,15 @@ public static AnalogyLogMessage Parse(IEnumerable<(AnalogyLogMessagePropertyName } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static AnalogyLogMessage Parse(IEnumerable<(string PropertyName, string propertyValue)> data) + public static AnalogyLogMessage Parse(IEnumerable<(string PropertyName, string PropertyValue)> data) { var valueTuples = data.ToList(); - var dataProperties = valueTuples.Where(p => LogMessagePropertyNames.ContainsKey(p.PropertyName)).Select(s => (LogMessagePropertyNames[s.PropertyName], s.propertyValue)).ToList(); + var dataProperties = valueTuples.Where(p => LogMessagePropertyNames.ContainsKey(p.PropertyName)).Select(s => (LogMessagePropertyNames[s.PropertyName], s.PropertyValue)).ToList(); var m = Parse(dataProperties); var dataNotProperties = valueTuples.Where(p => !LogMessagePropertyNames.ContainsKey(p.PropertyName)).ToList(); - if (dataNotProperties.Any()) + if (dataNotProperties.Count > 0) { - m.AdditionalProperties = dataNotProperties.ToDictionary(p => p.PropertyName, p => p.propertyValue); + m.AdditionalProperties = dataNotProperties.ToDictionary(p => p.PropertyName, p => p.PropertyValue); } return m; @@ -507,7 +508,6 @@ public AnalogyInformationMessage(string text, string source = "", [CallerLineNumber] int lineNumber = 0) : base(text, AnalogyLogLevel.Information, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyInformationMessage(string text, string rawText, AnalogyRowTextType rawTextType, string source = "", @@ -515,7 +515,6 @@ public AnalogyInformationMessage(string text, string rawText, AnalogyRowTextType [CallerLineNumber] int lineNumber = 0) : base(text, rawText, rawTextType, AnalogyLogLevel.Information, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } } @@ -526,16 +525,13 @@ public AnalogyErrorMessage(string text, string source = "", [CallerLineNumber] int lineNumber = 0) : base(text, AnalogyLogLevel.Error, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyErrorMessage(string text, string rawText, AnalogyRowTextType rawTextType, string source = "", [CallerMemberName] string methodName = "", [CallerFilePath] string fileName = "", [CallerLineNumber] int lineNumber = 0) : base(text, rawText, rawTextType, AnalogyLogLevel.Error, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } - } public class AnalogyWarningMessage : AnalogyLogMessage { @@ -544,16 +540,13 @@ public AnalogyWarningMessage(string text, string source = "", [CallerLineNumber] int lineNumber = 0) : base(text, AnalogyLogLevel.Warning, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyWarningMessage(string text, string rawText, AnalogyRowTextType rawTextType, string source = "", [CallerMemberName] string methodName = "", [CallerFilePath] string fileName = "", [CallerLineNumber] int lineNumber = 0) : base(text, rawText, rawTextType, AnalogyLogLevel.Warning, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } - } public class AnalogyDebugMessage : AnalogyLogMessage { @@ -562,16 +555,13 @@ public AnalogyDebugMessage(string text, string source = "", [CallerLineNumber] int lineNumber = 0) : base(text, AnalogyLogLevel.Debug, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyDebugMessage(string text, string rawText, AnalogyRowTextType rawTextType, string source = "", [CallerMemberName] string methodName = "", [CallerFilePath] string fileName = "", [CallerLineNumber] int lineNumber = 0) : base(text, rawText, rawTextType, AnalogyLogLevel.Debug, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } - } public class AnalogyCriticalMessage : AnalogyLogMessage { @@ -580,15 +570,12 @@ public AnalogyCriticalMessage(string text, string source = "", [CallerLineNumber] int lineNumber = 0) : base(text, AnalogyLogLevel.Critical, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } public AnalogyCriticalMessage(string text, string rawText, AnalogyRowTextType rawTextType, string source = "", [CallerMemberName] string methodName = "", [CallerFilePath] string fileName = "", [CallerLineNumber] int lineNumber = 0) : base(text, rawText, rawTextType, AnalogyLogLevel.Critical, AnalogyLogClass.General, source, methodName: methodName, fileName: fileName, lineNumber: lineNumber) { - } - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyLogMessageUpdaterEventData.cs b/Analogy.Interfaces/DataTypes/AnalogyLogMessageUpdaterEventData.cs index 5e836b0..14dc45d 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyLogMessageUpdaterEventData.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyLogMessageUpdaterEventData.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Analogy.Interfaces.DataTypes +namespace Analogy.Interfaces.DataTypes { public class AnalogyLogMessageUpdaterEventData { @@ -17,4 +11,4 @@ public AnalogyLogMessageUpdaterEventData(IAnalogyLogMessage message, AnalogyLogM Type = type; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyNotification.cs b/Analogy.Interfaces/DataTypes/AnalogyNotification.cs index e5facdf..65e098b 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyNotification.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyNotification.cs @@ -1,13 +1,9 @@ using System; -using System.Collections.Generic; using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Analogy.Interfaces.DataTypes { - public class AnalogyNotification: IAnalogyNotification + public class AnalogyNotification : IAnalogyNotification { public Guid PrimaryFactoryId { get; set; } public string Title { get; set; } @@ -24,7 +20,7 @@ public AnalogyNotification(Guid primaryFactoryId, string title, string message) Message = message; Level = AnalogyLogLevel.Information; } - public AnalogyNotification(Guid primaryFactoryId, string title, string message, AnalogyLogLevel level, Image? smallImage, int durationSeconds, Action? actionOnClick):this(primaryFactoryId,title,message) + public AnalogyNotification(Guid primaryFactoryId, string title, string message, AnalogyLogLevel level, Image? smallImage, int durationSeconds, Action? actionOnClick) : this(primaryFactoryId, title, message) { Level = level; SmallImage = smallImage; @@ -32,4 +28,4 @@ public AnalogyNotification(Guid primaryFactoryId, string title, string message, ActionOnClick = actionOnClick; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyPlottingPointData.cs b/Analogy.Interfaces/DataTypes/AnalogyPlottingPointData.cs index f377b25..d814491 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyPlottingPointData.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyPlottingPointData.cs @@ -37,5 +37,4 @@ public AnalogyPlottingPointData(string name, double value, double xAxisValue) XAxisDataType = AnalogyPlottingPointXAxisDataType.Numerical; } } -} - +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyProgressReport.cs b/Analogy.Interfaces/DataTypes/AnalogyProgressReport.cs index 98adea7..63d3d32 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyProgressReport.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyProgressReport.cs @@ -1,5 +1,5 @@ namespace Analogy.Interfaces.DataTypes -{ +{ public class AnalogyProgressReport { public string Prefix { get; set; } @@ -8,4 +8,4 @@ public class AnalogyProgressReport public string FinishedProcessing { get; set; } public AnalogyProgressReport(string prefix, int processed, int total, string finishedProcessing) => (Prefix, Processed, Total, FinishedProcessing) = (prefix, processed, total, finishedProcessing); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/AnalogyToolTip.cs b/Analogy.Interfaces/DataTypes/AnalogyToolTip.cs index 63dfae5..a58c910 100644 --- a/Analogy.Interfaces/DataTypes/AnalogyToolTip.cs +++ b/Analogy.Interfaces/DataTypes/AnalogyToolTip.cs @@ -7,10 +7,12 @@ public class AnalogyToolTip public string Title { get; set; } public string Content { get; set; } public string Footer { get; set; } + /// /// 16x16 Image /// public Image? SmallImage { get; set; } + /// /// 32x32 Image /// @@ -24,4 +26,4 @@ public AnalogyToolTip(string title, string content, string footer, Image? smallI LargeImage = largeImage; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/Enums.cs b/Analogy.Interfaces/DataTypes/Enums.cs index fd2dc5f..48318be 100644 --- a/Analogy.Interfaces/DataTypes/Enums.cs +++ b/Analogy.Interfaces/DataTypes/Enums.cs @@ -3,13 +3,14 @@ public enum AnalogyLogMessageUpdaterEventStatus { NewMessage, - MessageModified + MessageModified, } public enum AnalogyCustomActionType { BelongsToProvider, Global, } + /// /// LogClass identifies the class of a log event. /// @@ -32,8 +33,9 @@ public enum AnalogyLogClass // // Summary: //Protected Health Information - PHI + PHI, } + /// /// LogLevel enumerates the possible logging levels. /// @@ -48,8 +50,9 @@ public enum AnalogyLogLevel Error, Critical, Analogy, - None + None, } + /// /// The type of data in the RawText Field /// @@ -69,7 +72,7 @@ public enum AnalogChangeLogType None, Bug, Feature, - Improvement + Improvement, } public enum AnalogyLogMessagePropertyName @@ -89,21 +92,20 @@ public enum AnalogyLogMessagePropertyName ThreadId, User, RawText, - RawTextType + RawTextType, } public enum AnalogyExtensionType { None = 0, InPlace = 1, - UserControl = 2 + UserControl = 2, } public enum AnalogyDataSourceType { RealTimeDataSource, OfflineDataSource, - } public enum AnalogyPlottingSeriesType @@ -112,262 +114,327 @@ public enum AnalogyPlottingSeriesType /// Specifies a series view of the Side-by-Side Bar type. This view type is represented by a object. /// Bar, + /// /// Specifies a series view of the Stacked Bar type. This view type is represented by a object. /// StackedBar, + /// /// Specifies a series view of the Full-Stacked Bar type. This view type is represented by a object. /// FullStackedBar, + /// /// Specifies a series view of the Side-by-Side Stacked Bar type. This view type is represented by a object. /// SideBySideStackedBar, + /// /// Specifies a series view of the Side-by-Side Full-Stacked Bar type. This view type is represented by a object. /// SideBySideFullStackedBar, + /// /// Specifies a series view of the Pie type. This view type is represented by a object. /// Pie, + /// /// Specifies a series view of the Doughnut type. This view type is represented by a object. /// Doughnut, + /// /// Specifies a series view of the Nested Doughnut type. This view type is represented by a object. /// NestedDoughnut, + /// /// Specifies a series view of the Funnel type. This view type is represented by a object. /// Funnel, + /// /// Specifies a series view of the Point type. This view type is represented by a object. /// Point, + /// /// Specifies a series view of the Bubble type. This view type is represented by a object. /// Bubble, + /// /// Specifies a series view of the Line type. This view type is represented by a object. /// Line, + /// /// Specifies a series view of the Stacked Line type. This view type is specified by a object. /// StackedLine, + /// /// Specifies a series view of the Full-Stacked Line type. This view type is specified by a object. /// FullStackedLine, + /// /// Specifies a series view of the Step Line type. This view type is represented by a object. /// StepLine, + /// /// Specifies a series view of the Spline type. This view type is represented by a object. /// Spline, + /// /// Specifies a series view of the Scatter Line type. This view type is represented by a object. /// ScatterLine, + /// /// Specifies a series view of the Swift Plot type. This view type is represented by a object. /// SwiftPlot, + /// /// Specifies a series view of the Area type. This view type is represented by a object. /// Area, + /// /// Specifies a series view of the Step Area type. This view type is specified by a object. /// StepArea, + /// /// Specifies a series view of the Spline Area type. This view type is represented by a object. /// SplineArea, + /// /// Specifies a series view of the Stacked Area type. This view type is represented by a object. /// StackedArea, + /// /// Specifies a series view of the Stacked Step Area type. This view type is represented by a object. /// StackedStepArea, + /// /// Specifies a series view of the Stacked Spline Area type. This view type is represented by a object. /// StackedSplineArea, + /// /// Specifies a series view of the Full Stacked Area type. This view type is represented by a object. /// FullStackedArea, + /// /// Specifies a series view of the Full-Stacked Spline Area type. This view type is represented by a object. /// FullStackedSplineArea, + /// /// Specifies a series view of the Full-Stacked Step Area type. This view type is represented by a object. /// FullStackedStepArea, + /// /// Specifies a series view of the Range Area type. This view type is specified by a object. /// RangeArea, + /// /// Specifies a series view of the Stock type. This view type is represented by a object. /// Stock, + /// /// Specifies a series view of the Candle Stick type. This view type is represented by a object. /// CandleStick, + /// /// Specifies a series view of the Side-by-Side Range Bar type. This view type is represented by a object. /// SideBySideRangeBar, + /// /// Specifies a series view of the Range Bar type. This view type is represented by a object. /// RangeBar, + /// /// Specifies a series view of the Side-by-Side Gantt type. This view type is represented by a object. /// SideBySideGantt, + /// /// Specifies a series view of the Gantt type. This view type is represented by a object. /// Gantt, + /// /// Specifies a series view of the Polar Point type. This view type is represented by a object. /// PolarPoint, + /// /// Specifies a series view of the Polar Line type. This view type is represented by a object. /// PolarLine, + /// /// Specifies a series view of the polar scatter line type. This view type is represented by a object. /// ScatterPolarLine, + /// /// Specifies a series view of the Polar Area type. This view type is represented by a object. /// PolarArea, + /// /// Specifies a series view of the Polar Range Area Chart type. This view type is represented by a object. /// PolarRangeArea, + /// /// Specifies a series view of the Radar Point type. This view type is represented by a object. /// RadarPoint, + /// /// Specifies a series view of the Radar Line type. This view type is represented by a object. /// RadarLine, + /// /// Specifies a series view of the radar scatter line type. This view type is represented by a object. /// ScatterRadarLine, + /// /// Specifies a series view of the Radar Area type. This view type is represented by a object. /// RadarArea, + /// /// Specifies a series view of the Radar Range Area Chart type. This view type is represented by a object. /// RadarRangeArea, + /// /// Specifies a series view of the Side-by-Side Bar 3D type. This view type is represented by a object. /// Bar3D, + /// /// Specifies a series view of the Stacked Bar 3D type. This view type is represented by a object. /// StackedBar3D, + /// /// Specifies a series view of the Full-Stacked Bar 3D type. This view type is represented by a object. /// FullStackedBar3D, + /// /// Specifies a series view of the Manhattan Bar 3D type. This view type is represented by a object. /// ManhattanBar, + /// /// Specifies a series view of the 3D Side-by-Side Stacked Bar type. This view type is represented by a object. /// SideBySideStackedBar3D, + /// /// Specifies a series view of the 3D Side-by-Side Full-Stacked Bar type. This view type is represented by a object. /// SideBySideFullStackedBar3D, + /// /// Specifies a series view of the Pie 3D type. This view type is represented by a object. /// Pie3D, + /// /// Specifies a series view of the Doughnut 3D type. This view type is represented by a object. /// Doughnut3D, + /// /// Specifies a series view of the Funnel 3D type. This view type is represented by a object. /// Funnel3D, + /// /// Specifies a series view of the Line 3D type. This view type is represented by a object. /// Line3D, + /// /// Specifies a series view of the Stacked Line 3D type. This view type is specified by a object. /// StackedLine3D, + /// /// Specifies a series view of the Full-Stacked Line 3D type. This view type is specified by a object. /// FullStackedLine3D, + /// /// Specifies a series view of the Step Line 3D type. This view type is represented by a object. /// StepLine3D, + /// /// Specifies a series view of the Area 3D type. This view type is represented by a object. /// Area3D, + /// /// Specifies a series view of the Stacked Area 3D type. This view type is represented by a object. /// StackedArea3D, + /// /// Specifies a series view of the Full-Stacked Area 3D type. This view type is represented by a object. /// FullStackedArea3D, + /// /// Specifies a series view of the Step Area 3D type. This view type is specified by a object. /// StepArea3D, + /// /// Specifies a series view of the Spline 3D type. This view type is represented by a object. /// Spline3D, + /// /// Specifies a series view of the Spline Area 3D type. This view type is represented by a object. /// SplineArea3D, + /// /// Specifies a series view of the Stacked Spline Area 3D type. This view type is represented by a object. /// StackedSplineArea3D, + /// /// Specifies a series view of the Full-Stacked Spline Area 3D type. This view type is represented by a object. /// FullStackedSplineArea3D, + /// /// Specifies a series view of the Range Area 3D type. This view type is specified by a object. /// @@ -377,13 +444,13 @@ public enum AnalogyPlottingSeriesType public enum AnalogyFileReadProgressType { Percentage, - Incremental + Incremental, } public enum AnalogyOnDemandPlottingStartupType { TabbedWindow, - FloatingWindow + FloatingWindow, } public enum AnalogyPlottingPointXAxisDataType @@ -395,6 +462,6 @@ public enum AnalogyPlottingPointXAxisDataType public enum AnalogyColumnFilterType { Include, - Exclude + Exclude, } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/EventArgs.cs b/Analogy.Interfaces/DataTypes/EventArgs.cs index c1fb922..8135943 100644 --- a/Analogy.Interfaces/DataTypes/EventArgs.cs +++ b/Analogy.Interfaces/DataTypes/EventArgs.cs @@ -30,11 +30,8 @@ public AnalogyCellClickedEventArgs(string columnName, object columnValue, IAnalo ColumnValue = columnValue; Message = message; } - - } - public class AnalogyPageInformation { public DataTable Data { get; set; } @@ -61,7 +58,6 @@ public AnalogyPagingChanged(AnalogyPageInformation analogyPage) public class AnalogyDataSourceDisconnectedArgs : EventArgs { - public string DisconnectedReason { get; } public string HostName { get; } public Guid DataSourceID { get; } @@ -99,7 +95,6 @@ public AnalogyLogFileProcessedArgs(IEnumerable messages, str ProcessedMessages = messages; LogFile = logfile; DataSourceID = dataSourceID; - } } public class AnalogyLogMessagesArgs : EventArgs @@ -123,7 +118,6 @@ public class AnalogyStartedProcessingArgs : EventArgs public AnalogyStartedProcessingArgs() : this(DateTime.Now, "") { - } public AnalogyStartedProcessingArgs(string information) : this(DateTime.Now, information) { @@ -140,7 +134,6 @@ public override string ToString() } } - public class AnalogyEndProcessingArgs : EventArgs { public DateTime StartTime { get; init; } @@ -164,4 +157,4 @@ public override string ToString() return $"{nameof(StartTime)}: {StartTime}, {nameof(EndTime)}: {EndTime}, {nameof(Information)}: {Information}, {nameof(ProcessedMessages)}: {ProcessedMessages}"; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/FilterCriteria.cs b/Analogy.Interfaces/DataTypes/FilterCriteria.cs index e33529a..fbf0208 100644 --- a/Analogy.Interfaces/DataTypes/FilterCriteria.cs +++ b/Analogy.Interfaces/DataTypes/FilterCriteria.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Analogy.Interfaces.DataTypes { @@ -36,7 +34,5 @@ public FilterCriteria(List? includeText = null, List? excludeTex ExcludeLevels = excludeLevels ?? Enumerable.Empty(); DynamicColumns = dynamicColumns ?? Enumerable.Empty(); } - - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/LogParserSettings.cs b/Analogy.Interfaces/DataTypes/LogParserSettings.cs index f37892c..ba59ceb 100644 --- a/Analogy.Interfaces/DataTypes/LogParserSettings.cs +++ b/Analogy.Interfaces/DataTypes/LogParserSettings.cs @@ -18,7 +18,7 @@ public LogParserSettings() Maps = new Dictionary>(); foreach (var items in AnalogyLogMessage.LogMessagePropertyNames) { - Maps[items.Value]=new List{items.Key}; + Maps[items.Value] = new List { items.Key }; } SupportedFilesExtensions = new List(); Directory = string.Empty; @@ -26,7 +26,6 @@ public LogParserSettings() public void Configure(List supportedFilesExtension, Dictionary> maps) { - SupportedFilesExtensions = supportedFilesExtension; Maps = maps ?? new Dictionary>(); IsConfigured = true; @@ -36,10 +35,7 @@ public void AddMap(AnalogyLogMessagePropertyName key, string value) { if (Maps.ContainsKey(key)) { - if (Maps[key] == null) - { - Maps[key] = new List(); - } + Maps[key] ??= new List(); if (!Maps[key].Contains(value)) { @@ -73,7 +69,7 @@ public void DeleteMap(AnalogyLogMessagePropertyName key, string value) Maps[key].Remove(value); } #endif - } + } public bool CanOpenFile(string fileName) { @@ -98,6 +94,5 @@ public bool CanOpenFile(string fileName) return null; } - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/DataTypes/SplitterLogParserSettings.cs b/Analogy.Interfaces/DataTypes/SplitterLogParserSettings.cs index fa306cc..9181680 100644 --- a/Analogy.Interfaces/DataTypes/SplitterLogParserSettings.cs +++ b/Analogy.Interfaces/DataTypes/SplitterLogParserSettings.cs @@ -63,6 +63,5 @@ public bool CanOpenFile(string fileName) } public bool CanOpenFiles(IEnumerable fileNames) => fileNames.All(CanOpenFile); - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyCustomActionsFactory.cs b/Analogy.Interfaces/Factories/IAnalogyCustomActionsFactory.cs index 9bc0d50..29a370d 100644 --- a/Analogy.Interfaces/Factories/IAnalogyCustomActionsFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyCustomActionsFactory.cs @@ -12,4 +12,4 @@ public interface IAnalogyCustomActionsFactory string Title { get; set; } IEnumerable Actions { get; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyCustomUserControlsFactory.cs b/Analogy.Interfaces/Factories/IAnalogyCustomUserControlsFactory.cs index 6ccaec4..ed62807 100644 --- a/Analogy.Interfaces/Factories/IAnalogyCustomUserControlsFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyCustomUserControlsFactory.cs @@ -11,4 +11,4 @@ public interface IAnalogyCustomUserControlsFactory string Title { get; set; } IEnumerable UserControls { get; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyDataProvidersFactory.cs b/Analogy.Interfaces/Factories/IAnalogyDataProvidersFactory.cs index e3a250f..13e0e5d 100644 --- a/Analogy.Interfaces/Factories/IAnalogyDataProvidersFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyDataProvidersFactory.cs @@ -12,4 +12,4 @@ public interface IAnalogyDataProvidersFactory string Title { get; set; } IEnumerable DataProviders { get; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyExtensionsFactory.cs b/Analogy.Interfaces/Factories/IAnalogyExtensionsFactory.cs index cae8cd3..d27472e 100644 --- a/Analogy.Interfaces/Factories/IAnalogyExtensionsFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyExtensionsFactory.cs @@ -3,7 +3,7 @@ namespace Analogy.Interfaces.Factories { - public interface IAnalogyExtensionsFactory + public interface IAnalogyExtensionsFactory { /// /// the factory id which this Extensions factory belongs to @@ -12,4 +12,4 @@ public interface IAnalogyExtensionsFactory string Title { get; set; } IEnumerable Extensions { get; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyFactory.cs b/Analogy.Interfaces/Factories/IAnalogyFactory.cs index 8fb3e28..79fe2e5 100644 --- a/Analogy.Interfaces/Factories/IAnalogyFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyFactory.cs @@ -14,19 +14,23 @@ public interface IAnalogyFactory Guid FactoryId { get; set; } string Title { get; set; } IEnumerable ChangeLog { get; set; } + /// /// 32x32 image for the Factory (can be null) /// Image? LargeImage { get; set; } + /// /// 16x16 image for the Factory (can be null) /// Image? SmallImage { get; set; } IEnumerable Contributors { get; set; } + /// /// Description of the Factory e.g: "Serilog Parser for Analogy Log Viewer" /// string About { get; set; } + /// /// Add Additional probing locations /// @@ -36,5 +40,4 @@ public interface IAnalogyFactory Task InitializeFactory(IAnalogyFoldersAccess foldersAccess, ILogger logger); } - -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyOnDemandPlottingFactory.cs b/Analogy.Interfaces/Factories/IAnalogyOnDemandPlottingFactory.cs index c14b075..d2e8335 100644 --- a/Analogy.Interfaces/Factories/IAnalogyOnDemandPlottingFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyOnDemandPlottingFactory.cs @@ -11,4 +11,4 @@ public interface IAnalogyOnDemandPlottingFactory event EventHandler OnAddedOnDemandPlottingGenerator; event EventHandler OnRemovedOnDemandPlottingGenerator; } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Factories/IAnalogyShareableFactory.cs b/Analogy.Interfaces/Factories/IAnalogyShareableFactory.cs index debe6e7..7d0d996 100644 --- a/Analogy.Interfaces/Factories/IAnalogyShareableFactory.cs +++ b/Analogy.Interfaces/Factories/IAnalogyShareableFactory.cs @@ -12,4 +12,4 @@ public interface IAnalogyShareableFactory string Title { get; set; } IEnumerable Shareables { get; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Helpers/EmptyAnalogyLogger.cs b/Analogy.Interfaces/Helpers/EmptyAnalogyLogger.cs index 2960a00..563e04d 100644 --- a/Analogy.Interfaces/Helpers/EmptyAnalogyLogger.cs +++ b/Analogy.Interfaces/Helpers/EmptyAnalogyLogger.cs @@ -1,5 +1,5 @@ -using System; -using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging; +using System; namespace Analogy.Interfaces.Helpers { @@ -45,4 +45,4 @@ public void LogException(string message, Exception ex, string source = "", strin { } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyChangeLog.cs b/Analogy.Interfaces/IAnalogyChangeLog.cs index 28cb1f0..8d9550c 100644 --- a/Analogy.Interfaces/IAnalogyChangeLog.cs +++ b/Analogy.Interfaces/IAnalogyChangeLog.cs @@ -8,14 +8,17 @@ public interface IAnalogyChangeLog /// Information about this change /// string ChangeInformation { get; } + /// /// Change type /// AnalogChangeLogType ChangeLogType { get; } + /// /// The person who did this commit/fix/change /// string Name { get; } + /// /// Time of the commit /// @@ -52,4 +55,4 @@ public AnalogyChangeLog(string changeInformation, AnalogChangeLogType changeLogT Version = version; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyCustomAction.cs b/Analogy.Interfaces/IAnalogyCustomAction.cs index 891f583..090d08a 100644 --- a/Analogy.Interfaces/IAnalogyCustomAction.cs +++ b/Analogy.Interfaces/IAnalogyCustomAction.cs @@ -8,10 +8,12 @@ public interface IAnalogyCustomAction { Action Action { get; } Guid Id { get; set; } + /// /// 16x16 Image /// Image? SmallImage { get; set; } + /// /// 32x32 Image /// @@ -20,4 +22,4 @@ public interface IAnalogyCustomAction AnalogyCustomActionType Type { get; } AnalogyToolTip? ToolTip { get; set; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyCustomUserControl.cs b/Analogy.Interfaces/IAnalogyCustomUserControl.cs index cd031a2..0382663 100644 --- a/Analogy.Interfaces/IAnalogyCustomUserControl.cs +++ b/Analogy.Interfaces/IAnalogyCustomUserControl.cs @@ -1,8 +1,8 @@ -using System; +using Analogy.Interfaces.DataTypes; +using System; using System.Drawing; using System.Threading.Tasks; using System.Windows.Forms; -using Analogy.Interfaces.DataTypes; namespace Analogy.Interfaces { @@ -10,16 +10,19 @@ public interface IAnalogyCustomUserControl { UserControl UserControl { get; } Guid Id { get; set; } + /// /// 16x16 Image /// Image? SmallImage { get; set; } + /// /// 32x32 Image /// Image? LargeImage { get; set; } string Title { get; set; } AnalogyToolTip? ToolTip { get; set; } + /// /// /// diff --git a/Analogy.Interfaces/IAnalogyDataProvider.cs b/Analogy.Interfaces/IAnalogyDataProvider.cs index bf98b7e..3a474c6 100644 --- a/Analogy.Interfaces/IAnalogyDataProvider.cs +++ b/Analogy.Interfaces/IAnalogyDataProvider.cs @@ -14,42 +14,50 @@ public interface IAnalogyDataProvider /// ID of the data provider /// Guid Id { get; set; } + /// /// One time call to initialize the provider during startup or before first time use. /// Task InitializeDataProvider(Microsoft.Extensions.Logging.ILogger logger); + /// /// //Optional title to display in the ribbon bar /// string? OptionalTitle { get; set; } + /// /// called when the message is open in Analogy in full view mode (detailed view). Should not throw exception /// /// void MessageOpened(IAnalogyLogMessage message); + /// /// indicate that the data provider will supply coloring logic per row/message /// if true the /// bool UseCustomColors { get; set; } + /// /// get the colors to use in the data grid of Analogy /// /// /// - (Color backgroundColor, Color foregroundColor) GetColorForMessage(IAnalogyLogMessage logMessage); + (Color BackgroundColor, Color ForegroundColor) GetColorForMessage(IAnalogyLogMessage logMessage); + /// /// When implemented, return replacement titles/headers for the data grid /// OriginalHeader options are: /// DataProvider,Date,Text,Source,Level,Class,Category,User,Module,Audit,ProcessID,ThreadID /// /// - IEnumerable<(string originalHeader, string replacementHeader)> GetReplacementHeaders(); + IEnumerable<(string OriginalHeader, string ReplacementHeader)> GetReplacementHeaders(); + /// /// When implemented, return list of Default columns to hide in he UI /// /// IEnumerable HideExistingColumns(); + /// /// list of column fields to hide (may by properties in the Additional Properties dictionary of the Message) /// @@ -64,16 +72,19 @@ public interface IAnalogyRealTimeDataProvider : IAnalogyDataProvider event EventHandler OnDisconnected; event EventHandler OnMessageReady; event EventHandler OnManyMessagesReady; + /// /// Handler for save/read logs for the online source. /// IAnalogyOfflineDataProvider? FileOperationsHandler { get; } Task CanStartReceiving(); + /// /// start receiving. called when the hosting window/tab is opening /// /// Task StartReceiving(); + /// /// pause/stop receiving. called when the hosting window/tab is closed /// @@ -95,10 +106,12 @@ public interface IAnalogyOfflineDataProvider : IAnalogyDataProvider { event EventHandler ProcessingStarted; event EventHandler ProcessingFinished; + /// /// Optional 32x32 Image (or null) /// Image? LargeImage { get; set; } + /// /// Optional 16x16 Image (or null) /// @@ -120,15 +133,18 @@ public interface IAnalogySingleFileDataProvider : IAnalogyDataProvider { event EventHandler ProcessingStarted; event EventHandler ProcessingFinished; + /// /// Optional 32x32 Image (or null) /// Image? LargeImage { get; set; } + /// /// Optional 16x16 Image (or null) /// Image? SmallImage { get; set; } bool DisableFilePoolingOption { get; } + /// /// Full path of the file to open /// @@ -141,6 +157,7 @@ public interface IAnalogySingleDataProvider : IAnalogyDataProvider /// Optional 32x32 Image (or null) /// Image? LargeImage { get; set; } + /// /// Optional 16x16 Image (or null) /// @@ -154,10 +171,12 @@ public interface IAnalogyProviderSidePagingProvider : IAnalogyDataProvider /// Optional 32x32 Image (or null) /// Image? LargeImage { get; set; } + /// /// Optional 16x16 Image (or null) /// Image? SmallImage { get; set; } + /// /// /// @@ -167,8 +186,7 @@ public interface IAnalogyProviderSidePagingProvider : IAnalogyDataProvider /// CancellationToken /// messagesHandler /// The filtered messages - Task> FetchMessages(int pageNumber,int pageCount,FilterCriteria filterCriteria, CancellationToken token, ILogMessageCreatedHandler messagesHandler); + Task> FetchMessages(int pageNumber, int pageCount, FilterCriteria filterCriteria, CancellationToken token, ILogMessageCreatedHandler messagesHandler); Task ShutdownAsync(Microsoft.Extensions.Logging.ILogger logger); - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyDataProviderSetting.cs b/Analogy.Interfaces/IAnalogyDataProviderSetting.cs index b9316e8..90f4b88 100644 --- a/Analogy.Interfaces/IAnalogyDataProviderSetting.cs +++ b/Analogy.Interfaces/IAnalogyDataProviderSetting.cs @@ -12,24 +12,29 @@ public interface IAnalogyDataProviderSettings /// to which Analogy Factory this user setting belong to /// Guid FactoryId { get; set; } + /// /// The id of this item /// Guid Id { get; set; } string Title { get; set; } + /// /// The user control to load. Must be created in the CreateUserControl method /// UserControl DataProviderSettings { get; } + /// /// 16x16 icon to show in the Analogy UI /// Image? SmallImage { get; set; } + /// /// 32x32 icon to show in the Analogy UI /// Image? LargeImage { get; set; } AnalogyToolTip? ToolTip { get; set; } + /// /// The Data Provider UI User Control Settings (this will be called on the UI thread) /// @@ -39,6 +44,4 @@ public interface IAnalogyDataProviderSettings Task SaveSettingsAsync(); } - - -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyDownloadInformation.cs b/Analogy.Interfaces/IAnalogyDownloadInformation.cs index 34e5551..b400eae 100644 --- a/Analogy.Interfaces/IAnalogyDownloadInformation.cs +++ b/Analogy.Interfaces/IAnalogyDownloadInformation.cs @@ -35,11 +35,13 @@ public interface IAnalogyDownloadInformation /// Version? LatestVersion { get; } string? LatestVersionNumber { get; set; } + /// /// Returns version of the application currently installed on the user's PC. /// Version InstalledVersion { get; } string InstalledVersionNumber { get; } + /// /// Shows if the update is required or optional. /// diff --git a/Analogy.Interfaces/IAnalogyExtension.cs b/Analogy.Interfaces/IAnalogyExtension.cs index aafe24c..058a3ee 100644 --- a/Analogy.Interfaces/IAnalogyExtension.cs +++ b/Analogy.Interfaces/IAnalogyExtension.cs @@ -9,6 +9,7 @@ namespace Analogy.Interfaces public interface IAnalogyExtension { Guid Id { get; set; } + /// /// //Optional title to display in the ribbon bar /// @@ -22,7 +23,6 @@ public interface IAnalogyExtension public interface IAnalogyExtensionInPlace : IAnalogyExtension { - void CellClicked(object sender, AnalogyCellClickedEventArgs args); object GetValueForCellColumn(IAnalogyLogMessage message, string columnName); List GetColumnsInfo(); @@ -47,7 +47,5 @@ public interface IAnalogyExtensionUserControl : IAnalogyExtension /// UserControl UserControl GetUserControl(Guid logWindowsId); Task InitializeUserControl(Control hostingControl, Guid logWindowsId, Microsoft.Extensions.Logging.ILogger logger); - - } } \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyFoldersAccess.cs b/Analogy.Interfaces/IAnalogyFoldersAccess.cs index fca026e..b775862 100644 --- a/Analogy.Interfaces/IAnalogyFoldersAccess.cs +++ b/Analogy.Interfaces/IAnalogyFoldersAccess.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Analogy.Interfaces { @@ -14,4 +10,4 @@ public interface IAnalogyFoldersAccess string GetConfigurationFilePath(string configFile); bool TryGetConfigurationFilePathFromAnyValidLocation(string configFile, out string finalLocation); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyImages.cs b/Analogy.Interfaces/IAnalogyImages.cs index 03d8719..fcd4cdb 100644 --- a/Analogy.Interfaces/IAnalogyImages.cs +++ b/Analogy.Interfaces/IAnalogyImages.cs @@ -25,9 +25,9 @@ public interface IAnalogyImages Image GetSmallCombineLogsImage(Guid analogyComponentId); Image GetLargeCompareLogsImage(Guid analogyComponentId); Image GetSmallCompareLogsImage(Guid analogyComponentId); - Image GetRealTimeConnectedLargeImage(Guid analogyComponentId); - Image GetRealTimeConnectedSmallImage(Guid analogyComponentId); - Image GetRealTimeDisconnectedLargeImage(Guid analogyComponentId); - Image GetRealTimeDisconnectedSmallImage(Guid analogyComponentId); + Image GetRealTimeConnectedLargeImage(Guid analogyComponentId); + Image GetRealTimeConnectedSmallImage(Guid analogyComponentId); + Image GetRealTimeDisconnectedLargeImage(Guid analogyComponentId); + Image GetRealTimeDisconnectedSmallImage(Guid analogyComponentId); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyLogMessage.cs b/Analogy.Interfaces/IAnalogyLogMessage.cs index af2d85f..bc41f18 100644 --- a/Analogy.Interfaces/IAnalogyLogMessage.cs +++ b/Analogy.Interfaces/IAnalogyLogMessage.cs @@ -20,6 +20,7 @@ public interface IAnalogyLogMessage /// Gets/Sets the log message text (formatted text to be user readable) /// string? Text { get; set; } + /// /// Gets/Sets the source of the log message /// @@ -54,6 +55,7 @@ public interface IAnalogyLogMessage /// Gets/Sets the module (process) name of message /// string? Module { get; set; } + /// /// Gets/Sets the Machine Name of message /// @@ -66,14 +68,17 @@ public interface IAnalogyLogMessage int ThreadId { get; set; } string? User { get; set; } + /// /// The raw message text/data (before formatting) /// string RawText { get; set; } + /// /// The raw message text/data type /// AnalogyRowTextType RawTextType { get; set; } + /// /// Additional information that will be presented as new columns in the UI /// @@ -81,4 +86,4 @@ public interface IAnalogyLogMessage void AddOrReplaceAdditionalProperty(string key, string value); void AddOrReplaceAdditionalProperty(string key, string value, IEqualityComparer comparer); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyLogMessageInteractor.cs b/Analogy.Interfaces/IAnalogyLogMessageInteractor.cs index 6dd86cf..7f327dd 100644 --- a/Analogy.Interfaces/IAnalogyLogMessageInteractor.cs +++ b/Analogy.Interfaces/IAnalogyLogMessageInteractor.cs @@ -1,12 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Threading.Tasks; namespace Analogy.Interfaces { - /// /// interface to allow message modification before presenting in the UI /// @@ -14,4 +9,4 @@ internal interface IAnalogyLogMessageInteractor { Task HandleMessage(IAnalogyLogMessage message); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyLogMessageUpdater.cs b/Analogy.Interfaces/IAnalogyLogMessageUpdater.cs index d51baf7..a13262b 100644 --- a/Analogy.Interfaces/IAnalogyLogMessageUpdater.cs +++ b/Analogy.Interfaces/IAnalogyLogMessageUpdater.cs @@ -1,8 +1,5 @@ using Analogy.Interfaces.DataTypes; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Analogy.Interfaces @@ -14,6 +11,5 @@ public interface IAnalogyLogMessageUpdater { event EventHandler OnMessageChanged; Task InitializeUpdater(Microsoft.Extensions.Logging.ILogger logger); - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyNotification.cs b/Analogy.Interfaces/IAnalogyNotification.cs index 452158e..75013e3 100644 --- a/Analogy.Interfaces/IAnalogyNotification.cs +++ b/Analogy.Interfaces/IAnalogyNotification.cs @@ -16,4 +16,4 @@ public interface IAnalogyNotification int DurationSeconds { get; set; } Action? ActionOnClick { get; set; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyOnDemandPlotting.cs b/Analogy.Interfaces/IAnalogyOnDemandPlotting.cs index fe302c9..f5acca9 100644 --- a/Analogy.Interfaces/IAnalogyOnDemandPlotting.cs +++ b/Analogy.Interfaces/IAnalogyOnDemandPlotting.cs @@ -8,10 +8,12 @@ namespace Analogy.Interfaces public interface IAnalogyOnDemandPlotting { event EventHandler<(Guid Id, IEnumerable PointsData)> OnNewPointsData; + /// /// id of the plot data provider /// public Guid Id { get; } + /// /// called after creation during startup Of Analogy /// @@ -19,6 +21,5 @@ public interface IAnalogyOnDemandPlotting /// /// Task InitializeOnDemandPlotting(IAnalogyOnDemandPlottingInteractor onDemandPlottingInteractor, Microsoft.Extensions.Logging.ILogger logger); - } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyOnDemandPlottingInteractor.cs b/Analogy.Interfaces/IAnalogyOnDemandPlottingInteractor.cs index f6410a6..b726580 100644 --- a/Analogy.Interfaces/IAnalogyOnDemandPlottingInteractor.cs +++ b/Analogy.Interfaces/IAnalogyOnDemandPlottingInteractor.cs @@ -4,13 +4,12 @@ namespace Analogy.Interfaces { public interface IAnalogyOnDemandPlottingInteractor { - public void ShowPlot(Guid plotId,string plotTitle, AnalogyOnDemandPlottingStartupType startupType); + public void ShowPlot(Guid plotId, string plotTitle, AnalogyOnDemandPlottingStartupType startupType); public void ClosePlot(Guid plotId); public void AddSeriesToPlot(Guid plotId, string seriesName); public void RemoveSeriesFromPlot(Guid plotId, string seriesName); public void ClearSeriesData(Guid plotId, string seriesNameToClear); public void ClearAllData(Guid plotId); - public void SetDefaultWindow(Guid plotId,int numberOfPointsInWindow); - + public void SetDefaultWindow(Guid plotId, int numberOfPointsInWindow); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyPlotting.cs b/Analogy.Interfaces/IAnalogyPlotting.cs index 12fadd8..855e317 100644 --- a/Analogy.Interfaces/IAnalogyPlotting.cs +++ b/Analogy.Interfaces/IAnalogyPlotting.cs @@ -12,13 +12,14 @@ public interface IAnalogyPlotting IEnumerable<(string SeriesName, AnalogyPlottingSeriesType SeriesViewType)> GetChartSeries(); Guid Id { get; set; } + /// /// the factory id which this Data providers factory belongs to /// Guid FactoryId { get; set; } string Title { get; set; } - Task InitializePlotting(IAnalogyPlottingInteractor uiInteractor,Microsoft.Extensions.Logging.ILogger logger); + Task InitializePlotting(IAnalogyPlottingInteractor uiInteractor, Microsoft.Extensions.Logging.ILogger logger); Task StartPlotting(); Task StopPlotting(); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyPlottingInteractor.cs b/Analogy.Interfaces/IAnalogyPlottingInteractor.cs index 57ad7ed..508778c 100644 --- a/Analogy.Interfaces/IAnalogyPlottingInteractor.cs +++ b/Analogy.Interfaces/IAnalogyPlottingInteractor.cs @@ -1,14 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Analogy.Interfaces +namespace Analogy.Interfaces { public interface IAnalogyPlottingInteractor { public void SetDefaultWindow(int numberOfPointsInWindow); public void SetXAxisType(AnalogyPlottingPointXAxisDataType xAxisDataType); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyPolicyEnforcer.cs b/Analogy.Interfaces/IAnalogyPolicyEnforcer.cs index af4284b..eab8503 100644 --- a/Analogy.Interfaces/IAnalogyPolicyEnforcer.cs +++ b/Analogy.Interfaces/IAnalogyPolicyEnforcer.cs @@ -7,4 +7,4 @@ public interface IAnalogyPolicyEnforcer { public bool DisableUpdates { get; set; } } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IAnalogyShareable.cs b/Analogy.Interfaces/IAnalogyShareable.cs index 5cf2c56..9e8708a 100644 --- a/Analogy.Interfaces/IAnalogyShareable.cs +++ b/Analogy.Interfaces/IAnalogyShareable.cs @@ -9,7 +9,7 @@ public interface IAnalogyShareable Task InitializeSender(); void SendMessage(IAnalogyLogMessage message, string source); void SendMessages(List messages, string source); - void SendMessages(byte[] messages, string source); + void SendMessages(byte[] messages, string source); Task CleanupSender(); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/ILogMessageCreatedHandler.cs b/Analogy.Interfaces/ILogMessageCreatedHandler.cs index 1741fb8..5d6c7c2 100644 --- a/Analogy.Interfaces/ILogMessageCreatedHandler.cs +++ b/Analogy.Interfaces/ILogMessageCreatedHandler.cs @@ -1,16 +1,14 @@ -using System; +using Analogy.Interfaces.DataTypes; using System.Collections.Generic; -using Analogy.Interfaces.DataTypes; -using static Analogy.Interfaces.AnalogyLogMessagesArgs; namespace Analogy.Interfaces { public interface ILogMessageCreatedHandler - { + { bool ForceNoFileCaching { get; set; } bool DoNotAddToRecentHistory { get; set; } void AppendMessage(IAnalogyLogMessage message, string dataSource); void AppendMessages(List messages, string dataSource); void ReportFileReadProgress(AnalogyFileReadProgress progress); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/ILogParserSettings.cs b/Analogy.Interfaces/ILogParserSettings.cs index bae488d..c4a5838 100644 --- a/Analogy.Interfaces/ILogParserSettings.cs +++ b/Analogy.Interfaces/ILogParserSettings.cs @@ -18,4 +18,4 @@ public interface ILogParserSettings bool CanOpenFiles(IEnumerable fileNames); AnalogyLogMessagePropertyName? GetAnalogyPropertyName(string value); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/INotificationReporter.cs b/Analogy.Interfaces/INotificationReporter.cs index 3e0ccec..471a6ad 100644 --- a/Analogy.Interfaces/INotificationReporter.cs +++ b/Analogy.Interfaces/INotificationReporter.cs @@ -1,13 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Analogy.Interfaces +namespace Analogy.Interfaces { public interface INotificationReporter { void RaiseNotification(IAnalogyNotification notification, bool showAsPopup); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/IRawSQLInteractor.cs b/Analogy.Interfaces/IRawSQLInteractor.cs index 7f7ce83..f8e3262 100644 --- a/Analogy.Interfaces/IRawSQLInteractor.cs +++ b/Analogy.Interfaces/IRawSQLInteractor.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Analogy.Interfaces +namespace Analogy.Interfaces { public interface IRawSQLInteractor { @@ -14,4 +8,4 @@ public interface IRawSQLInteractor /// void SetRawSQLHandler(ILogRawSQL rawSQLHandler); } -} +} \ No newline at end of file diff --git a/Analogy.Interfaces/Utils.cs b/Analogy.Interfaces/Utils.cs index a89244f..c601125 100644 --- a/Analogy.Interfaces/Utils.cs +++ b/Analogy.Interfaces/Utils.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Analogy.Interfaces { @@ -10,4 +8,4 @@ public static class Utils { public static IEnumerable AllLogLevels { get; } = Enum.GetValues(typeof(AnalogyLogLevel)).Cast(); } -} +} \ No newline at end of file diff --git a/BannedSymbols.txt b/BannedSymbols.txt new file mode 100644 index 0000000..26002bb --- /dev/null +++ b/BannedSymbols.txt @@ -0,0 +1,9 @@ +#https://github.com/dotnet/csharplang/blob/main/spec/documentation-comments.md#id-string-format + +M:System.String.ToLower;Use ToLowerInvariant instead +M:System.String.ToUpper;Use ToUpperInvariant instead + +F:System.StringComparison.CurrentCulture;Consider using Ordinal +F:System.StringComparison.CurrentCultureIgnoreCase;Consider using OrdinalIgnoreCase +F:System.StringComparison.InvariantCurrent;Consider using Ordinal +F:System.StringComparison.InvariantCurrentIgnoreCase;Consider using OrdinalIgnoreCase diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..6c4b1ee --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,46 @@ + + + $(DefineContants);DEBUG + false + + + true + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + \ No newline at end of file