public virtual IDtoMetadataBuilder <TDto> AddMemberMetadata(string memberName, DtoMemberMetadata metadata) { if (memberName == null) { throw new ArgumentNullException(nameof(memberName)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } return(AddMemberMetadata(typeof(TDto).GetTypeInfo().GetProperty(memberName) ?? throw new InvalidOperationException($"Member {memberName} could not be found in {typeof(TDto).FullName}"), metadata)); }
public virtual IDtoMetadataBuilder <TDto> AddMemberMetadata(string memberName, DtoMemberMetadata metadata) { if (memberName == null) { throw new ArgumentNullException(nameof(memberName)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } return(AddMemberMetadata(typeof(TDto).GetTypeInfo().GetProperty(memberName), metadata)); }
public virtual IDtoMetadataBuilder <TDto> AddMemberMetadata(PropertyInfo member, DtoMemberMetadata metadata) { if (member == null) { throw new ArgumentNullException(nameof(member)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } if (_dtoMetadata == null) { throw new InvalidOperationException($"{nameof(AddDtoMetadata)} must be called first"); } metadata.DtoMemberName = member.Name; if (metadata.IsRequired == false) { metadata.IsRequired = member.GetCustomAttribute <RequiredAttribute>() != null; } if (metadata.Pattern == null) { metadata.Pattern = member.GetCustomAttribute <RegularExpressionAttribute>()?.Pattern; } _dtoMetadata.MembersMetadata.Add(metadata); return(this); }
public virtual IDtoMetadataBuilder <TDto> AddMemberMetadata(PropertyInfo member, DtoMemberMetadata metadata) { if (member == null) { throw new ArgumentNullException(nameof(member)); } if (metadata == null) { throw new ArgumentNullException(nameof(metadata)); } if (_dtoMetadata == null) { throw new InvalidOperationException($"{nameof(AddDtoMetadata)} must be called first"); } metadata.DtoMemberName = member.Name; if (metadata.IsRequired == false) { metadata.IsRequired = member.GetCustomAttribute <RequiredAttribute>() != null; } if (metadata.Pattern == null) { metadata.Pattern = member.GetCustomAttribute <RegularExpressionAttribute>()?.Pattern; } foreach (DtoMemberCultureTitle memberCultureTitle in metadata.EntityMemberCultureTitles) { if (!metadata.Messages.Any(m => m.Name == memberCultureTitle.CultureName)) { metadata.Messages.Add(new EnvironmentCulture { Name = memberCultureTitle.CultureName }); } metadata.Messages.Single(m => m.Name == memberCultureTitle.CultureName) .Values.Add(new EnvironmentCultureValue { Name = member.Name, Title = memberCultureTitle.Title }); } _dtoMetadata.MembersMetadata.Add(metadata); return(this); }