public static Entity AddRecordAndHeaders <T>(this Entity entity, T record, IEnumerable <string> headerRel = null, Action <T, Entity> recordBuilder = null, Action <HeaderBuilder> headerBuilder = null, IEnumerable <string> select = null, IEnumerable <string> except = null) where T : class { headerRel = ClassNames.Record.AsSingle().Concat(headerRel.NonNull()); AddRecord <T>(entity, record, recordBuilder, select, except); HeaderExtensions.AddHeaders(entity, record.GetType(), headerRel, headerBuilder, select, except); return(entity); }
public static Entity AddRecordsAndHeaders <T>(this Entity entity, IEnumerable <T> records, IEnumerable <string> headerRel = null, Action <T, Entity> recordBuilder = null, Action <HeaderBuilder> headerBuilder = null, IEnumerable <string> select = null, IEnumerable <string> except = null) where T : class { var type = records.FirstOrDefault()?.GetType() ?? typeof(T); headerRel = ClassNames.Record.AsSingle().Concat(headerRel.NonNull()); AddRecords <T>(entity, records, recordBuilder, select, except); HeaderExtensions.AddHeaders(entity, type, headerRel, headerBuilder, select, except); return(entity); }