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

28 lines
848 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 ResponseAreaCodeResolver : 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.ResponseArea!).Value, out int result);
if (result == 0)
return (int)ResponseAreaEnum.gvc;
if (!Enum.IsDefined(typeof(ResponseAreaEnum), result))
throw new Exception($"Неверный код дороги {source.ResponseArea}");
return result;
}
}
}