using AutoMapper; using PowderCoating.Core.Entities; using PowderCoating.Application.DTOs.Company; namespace PowderCoating.Application.Mappings; public class CustomItemTemplateProfile : Profile { public CustomItemTemplateProfile() { CreateMap() .ForMember(dest => dest.FieldCount, opt => opt.MapFrom(src => CountFields(src.FieldsJson))); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(dest => dest.DiagramImagePath, opt => opt.Ignore()); // set by controller after blob upload CreateMap(); } private static int CountFields(string fieldsJson) { try { var doc = System.Text.Json.JsonDocument.Parse(fieldsJson); return doc.RootElement.ValueKind == System.Text.Json.JsonValueKind.Array ? doc.RootElement.GetArrayLength() : 0; } catch { return 0; } } }