public override async Task <Guid> ExecuteAsync(UpdateCommand <T> message) { var entityType = mapper.GetUpdateEntityType <T>(); var idFunc = mapper.GetUpdateIdFunc <T>(); var idEntity = idFunc(message.Object); var entity = (IEntity)await repository.LoadAsync(entityType, idEntity); mapper.UpdateEntity(message.Object, entity); await repository.UpdateAsync(entity); return(entity.Id); }
public async Task <Guid> UpdateAsync <T>(T t) { var entityType = mapper.GetUpdateEntityType <T>(); var idFunc = mapper.GetUpdateIdFunc <T>(); var idEntity = idFunc(t); var entity = (IEntity)await repository.LoadAsync(entityType, idEntity); mapper.UpdateEntity(t, entity); await repository.UpdateAsync(entity); return(entity.Id); }