using System; using System.Collections.Generic; using System.Linq; using UserService.Infrastructure.DataModels; namespace UserService.Infrastructure.DataModels { public static class NodeExtensions { public static void MapFields(this Member member, Dictionary values) { if (member == null) throw new ArgumentNullException(nameof(member)); if (values == null) throw new ArgumentNullException(nameof(values)); var properties = member.GetType().GetProperties(); foreach (var keyValuePair in values) { var propertyInfo = properties.FirstOrDefault(x => x.Name == keyValuePair.Key); if (propertyInfo == null) continue; propertyInfo.SetValue(member, keyValuePair.Value); } } } }