refactor(DTOExtensions): Nachrichten nullbar gemacht und aktualisiert, um Null-Nachrichten zu filtern, um den Localizer nullbar machen zu können und so die Localizer-Abhängigkeit zu vermeiden.
This commit is contained in:
parent
a86989479f
commit
c3dbc1ec54
@ -9,28 +9,36 @@ namespace DigitalData.Core.DTO
|
|||||||
public static class DTOExtensions
|
public static class DTOExtensions
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds a single message to the result.
|
/// Adds a single message to the result, if not null.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">The type of the result.</typeparam>
|
/// <typeparam name="T">The type of the result.</typeparam>
|
||||||
/// <param name="result">The result to add the message to.</param>
|
/// <param name="result">The result to add the message to.</param>
|
||||||
/// <param name="message">The message to add.</param>
|
/// <param name="message">The message to add.</param>
|
||||||
/// <returns>The updated result.</returns>
|
/// <returns>The updated result.</returns>
|
||||||
public static T Message<T>(this T result, string message) where T : Result
|
public static T Message<T>(this T result, string? message) where T : Result
|
||||||
{
|
{
|
||||||
result.Messages.Add(message);
|
if(message is not null)
|
||||||
|
result.Messages.Add(message);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static IEnumerable<T> FilterNull<T>(this IEnumerable<T?> list)
|
||||||
|
{
|
||||||
|
foreach (var item in list)
|
||||||
|
if(item is not null)
|
||||||
|
yield return item;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds multiple messages to the result.
|
/// Adds multiple messages to the result, after removing nulls.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">The type of the result.</typeparam>
|
/// <typeparam name="T">The type of the result.</typeparam>
|
||||||
/// <param name="result">The result to add the messages to.</param>
|
/// <param name="result">The result to add the messages to.</param>
|
||||||
/// <param name="messages">The messages to add.</param>
|
/// <param name="messages">The messages to add.</param>
|
||||||
/// <returns>The updated result.</returns>
|
/// <returns>The updated result.</returns>
|
||||||
public static T Message<T>(this T result, params string[] messages) where T : Result
|
public static T Message<T>(this T result, params string?[] messages) where T : Result
|
||||||
{
|
{
|
||||||
result.Messages.AddRange(messages);
|
result.Messages.AddRange(messages.FilterNull());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,9 +49,9 @@ namespace DigitalData.Core.DTO
|
|||||||
/// <param name="result">The result to add the messages to.</param>
|
/// <param name="result">The result to add the messages to.</param>
|
||||||
/// <param name="messages">The collection of messages to add.</param>
|
/// <param name="messages">The collection of messages to add.</param>
|
||||||
/// <returns>The updated result.</returns>
|
/// <returns>The updated result.</returns>
|
||||||
public static T Message<T>(this T result, IEnumerable<string> messages) where T : Result
|
public static T Message<T>(this T result, IEnumerable<string?> messages) where T : Result
|
||||||
{
|
{
|
||||||
result.Messages.AddRange(messages);
|
result.Messages.AddRange(messages.FilterNull());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,13 +109,13 @@ namespace DigitalData.Core.DTO
|
|||||||
/// <param name="flag">The flag associated with the notice.</param>
|
/// <param name="flag">The flag associated with the notice.</param>
|
||||||
/// <param name="messages">The messages to add to the notice.</param>
|
/// <param name="messages">The messages to add to the notice.</param>
|
||||||
/// <returns>The updated result.</returns>
|
/// <returns>The updated result.</returns>
|
||||||
public static T Notice<T>(this T result, LogLevel level, Enum flag, params string[] messages) where T : Result
|
public static T Notice<T>(this T result, LogLevel level, Enum flag, params string?[] messages) where T : Result
|
||||||
{
|
{
|
||||||
result.Notices.Add(new Notice()
|
result.Notices.Add(new Notice()
|
||||||
{
|
{
|
||||||
Flag = flag,
|
Flag = flag,
|
||||||
Level = level,
|
Level = level,
|
||||||
Messages = messages.ToList()
|
Messages = messages.FilterNull().ToList()
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -126,7 +134,7 @@ namespace DigitalData.Core.DTO
|
|||||||
{
|
{
|
||||||
Flag = null,
|
Flag = null,
|
||||||
Level = level,
|
Level = level,
|
||||||
Messages = messages.ToList()
|
Messages = messages.FilterNull().ToList()
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user