Files
parr_api/PARR.AIHIT/AIHIT/MappingProfiles/Resolvers/EkStatusCodeResolver.cs
2023-09-28 14:28:10 +10:00

25 lines
746 B
C#

using AutoMapper;
using PARR.DAL.Contracts;
using PARR.DAL.Models;
using PARR.DAL.Models.AIHIT;
using System.Text.RegularExpressions;
namespace PARR.AIHIT.MappingProfiles.Resolvers
{
internal class EkStatusCodeResolver : IValueResolver<RawDataEK, Host, int>
{
public int Resolve(RawDataEK source, Host destination, int destMember, ResolutionContext context)
{
var pattern = "\\d+";
var regex = new Regex(pattern);
int.TryParse(regex.Match(source.Status!).Value, out int result);
if (!Enum.IsDefined(typeof(EkStatusEnum), result))
throw new Exception($"Неверный статус ЭК {source.Status}");
return result;
}
}
}