private static void UpdateMappers(Option <MapperCache> mappers, int rootMapperId, Mapper rootMapper) { if (mappers.HasValue) { var result = new List <Mapper>(); foreach (var item in mappers.Value.MapperCacheItems) { if (item.Id != rootMapperId) { result.Add(item.Mapper); } else { result.Add(null); } } result[rootMapperId] = rootMapper; rootMapper.AddMappers(result); foreach (var item in mappers.Value.MapperCacheItems) { if (item.Id == rootMapperId) { continue; } item.Mapper?.UpdateRootMapper(rootMapperId, rootMapper); } } }
private static void UpdateMappers(Option <MapperCache> mappers, int rootMapperId, Mapper rootMapper) { if (mappers.HasValue) { var result = mappers.Value.MapperCacheItems.Select(item => item.Id != rootMapperId ? item.Mapper : null).ToList(); result[rootMapperId] = rootMapper; rootMapper.AddMappers(result); foreach (var item in mappers.Value.MapperCacheItems) { if (item.Id == rootMapperId) { continue; } item.Mapper?.UpdateRootMapper(rootMapperId, rootMapper); } } }