diff options
Diffstat (limited to 'code/api/src/Data/Models')
| -rw-r--r-- | code/api/src/Data/Models/KnownProblemModel.cs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/code/api/src/Data/Models/KnownProblemModel.cs b/code/api/src/Data/Models/KnownProblemModel.cs index 38b3eba..818a295 100644 --- a/code/api/src/Data/Models/KnownProblemModel.cs +++ b/code/api/src/Data/Models/KnownProblemModel.cs @@ -2,7 +2,7 @@ namespace IOL.GreatOffice.Api.Data.Models; public class KnownProblemModel { - public KnownProblemModel(string title = default, string subtitle = default, Dictionary<string, string> errors = default) { + public KnownProblemModel(string title = default, string subtitle = default, Dictionary<string, string[]> errors = default) { Title = title; Subtitle = subtitle; Errors = errors; @@ -10,6 +10,21 @@ public class KnownProblemModel public string Title { get; set; } public string Subtitle { get; set; } - public Dictionary<string, string> Errors { get; set; } + public Dictionary<string, string[]> Errors { get; set; } public string TraceId { get; set; } + + public void AddError(string field, string errorText) { + if (Errors == default) { + Errors = new Dictionary<string, string[]>(); + } + + if (!Errors.ContainsKey(field)) { + Errors.Add(field, new[] {errorText}); + } else { + var currentErrors = Errors[field]; + var newErrors = currentErrors.Concat(new[] {errorText}); + Errors.Remove(field); + Errors.Add(field, newErrors.ToArray()); + } + } }
\ No newline at end of file |
