/// <summary> /// Handles the specified message. /// </summary> /// <param name="message">The message.</param> /// <returns></returns> public async Task <Asset> Handle(CreateAssetCommand message) { Schema schema = await this._schemaRepository.Get(message.SchemaId); Asset asset = schema.AddAsset(message.Name, message.Tag); await this._schemaRepository.Update(schema); this._eventBus.Publish(new AssetCreatedEvent(asset.Id, schema.Id, asset.Name, asset.Tag)); return(asset); }