/// <summary> /// Converts to local. /// </summary> /// <param name="target">The target.</param> /// <param name="idMap">The identifier map.</param> /// <returns>Task<TEntity>.</returns> protected virtual TEntity MapTargetToLocalSync(TTargetEntity target, IExternalReference <TEntityId, TTargetEntityId> idMap) { var entity = MapperRegistry.Map <TEntity>(target); // if data gets out of sync & we dont have the id, just dont map (instead of error) if (idMap != null) { MapperRegistry.Map(idMap, entity); } return(entity); }
/// <summary> /// Converts to local. /// </summary> /// <param name="target">The target.</param> /// <param name="idMap">The identifier map.</param> /// <returns>Task<TEntity>.</returns> protected virtual Task <TEntity> MapTargetToLocal(TTargetEntity target, IExternalReference <TEntityId, TTargetEntityId> idMap) { return(Task.FromResult(MapTargetToLocalSync(target, idMap))); }
/// <summary> /// Executes the get by identifier. /// </summary> /// <param name="idMap">The identifier map.</param> /// <returns>Task<RestResponse<TTargetEntity>>.</returns> protected virtual RestResponse <TTargetEntity> ExecuteGetByIdSync(IExternalReference <TEntityId, TTargetEntityId> idMap) { var request = RestRequestBuilder.BuildGetById(idMap.ExternalId); return(Context.ExecuteMessageSync <TTargetEntity>(request)); }