public Update(int tenantId, ApiType api, string matterNumber, ITrackable item)
     : this(tenantId, api, matterNumber)
 {
     PropertyChanges = item
                       .TrackedProperties()
                       .Select(x => new PropertyChange(x))
                       .ToList();
 }
 public Update(
     int tenantId,
     ApiType api,
     string matterNumber,
     ITrackable originalItem,
     ITrackable modifiedItem)
     : this(tenantId, api, matterNumber)
 {
     PropertyChanges = originalItem
                       .TrackedProperties()
                       .Zip(modifiedItem.TrackedProperties(), (o, m) => new { o, m })
                       .Where(x => x.o.HasChanged(x.m))
                       .Select(x => new PropertyChange(x.o, x.m))
                       .ToList();
 }