Files
laatzen/LaaProductionWeb/LaaProduction.Search/Models/Wildcard/WildcardInputModel.cs
T
2023-06-19 12:17:03 +02:00

41 lines
1.1 KiB
C#

namespace LaaProduction.Search.Models.Wildcard
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
public class WildcardInputModel
{
private string token;
private IEnumerable<string> fields = Array.Empty<string>();
[Required]
[StringLength(50, MinimumLength = 1)]
[RegularExpression("^[0-9 a-z-A-Z]+$")]
public string Token
{
get => this.token;
set => this.token = value?.Replace(" ", "")?.Trim();
}
public string Fields
{
get => string.Join(",", this.FieldsArray);
set => this.FieldsArray = $"{value}".Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
}
internal IEnumerable<string> FieldsArray { get; set; }
internal IEnumerable<string> GetRequiredFields(IEnumerable<string> allFields)
{
if (this.fields.Any())
{
return this.fields.Intersect(allFields, StringComparer.OrdinalIgnoreCase);
}
return allFields;
}
}
}