2 Commits

2 changed files with 24 additions and 10 deletions

View File

@@ -5,21 +5,33 @@ namespace DigitalData.Core.DTO
{ {
public static class DTOExtensions 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
{ {
if(index is null)
result.Messages.Add(message); result.Messages.Add(message);
else
result.Messages.Insert(index.Value, message);
return result; 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
{ {
if(index is null)
result.Messages.AddRange(messages); result.Messages.AddRange(messages);
else
result.Messages.InsertRange(index.Value, messages);
return result; 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
{ {
if(index is null)
result.Messages.AddRange(messages); result.Messages.AddRange(messages);
else
result.Messages.InsertRange(index.Value, messages);
return result; return result;
} }

View File

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