2 Commits

2 changed files with 24 additions and 10 deletions

View File

@@ -5,22 +5,34 @@ namespace DigitalData.Core.DTO
{
public static class DTOExtensions
{
public static T Message<T>(this T result, string message) where T : Result
public static T Message<T>(this T result, string message, int? index = null) where T : Result
{
result.Messages.Add(message);
return result;
if(index is null)
result.Messages.Add(message);
else
result.Messages.Insert(index.Value, message);
return result;
}
public static T Message<T>(this T result, params string[] messages) where T : Result
public static T Message<T>(this T result, int? index = null, params string[] messages) where T : Result
{
result.Messages.AddRange(messages);
return result;
if(index is null)
result.Messages.AddRange(messages);
else
result.Messages.InsertRange(index.Value, messages);
return result;
}
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, int? index = null) where T : Result
{
result.Messages.AddRange(messages);
return result;
if(index is null)
result.Messages.AddRange(messages);
else
result.Messages.InsertRange(index.Value, messages);
return result;
}
public static T Notice<T>(this T result, Notice notice) where T : Result

View File

@@ -6,5 +6,7 @@ namespace DigitalData.Core.DTO
{
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public required T Data { get; set; }
}
public DataResult<I> ToFail<I>() => Fail<I>().Message(Messages).Notice(Notices);
}
}