public async Task <User> InsertAsync(User user) { // Generate an arbitrary Id if the user id was not provided. if (string.IsNullOrWhiteSpace(user.Id)) { user.Id = Guid.NewGuid().ToString(); } // Convert the user to its entity equivalent var entity = _mapper.Map <UserEntity>(user); // Create the user var insertedEntity = await _userRepository.InsertOrReplaceAsync(entity); // Queue the "user created" message await _queuesService.UserCreatedQueue.AddMessageAsync(new TableMessage { PartitionKey = insertedEntity.PartitionKey, RowKey = insertedEntity.RowKey }); // Return the newly created user var insertedUser = _mapper.Map <User>(insertedEntity); return(insertedUser); }
public async Task <Ninja> CreateAsync(Ninja ninja) { var entityToCreate = _ninjaMappingService.Map(ninja); var createdEntity = await _ninjaEntityTableStorageRepository.InsertOrReplaceAsync(entityToCreate); var createNinja = _ninjaMappingService.Map(createdEntity); return(createNinja); }
public async Task <Card> InsertAsync(Card card) { // Generate an arbitrary Id if the card id was not provided. if (string.IsNullOrWhiteSpace(card.Id)) { card.Id = Guid.NewGuid().ToString(); } var entityToCreate = _mapper.Map <CardEntity>(card); var createdEntity = await _cardRepository.InsertOrReplaceAsync(entityToCreate); var createCard = _mapper.Map <Card>(createdEntity); return(createCard); }
public async Task <IActionResult> PostAsync(string userId, [FromBody] Board board) { // Validate input and return 400 Bad Request if invalid if (!ModelState.IsValid) { return(BadRequest()); } // Create the valid data entity var rowKey = string.IsNullOrWhiteSpace(board.Id) ? Guid.NewGuid().ToString() : board.Id; var entity = new BoardEntity { PartitionKey = userId, RowKey = rowKey, Name = board.Name, OwnerId = board.OwnerId }; // Insert the data var createdEntity = await _boardRepository.InsertOrReplaceAsync(entity); // Create the return contract var createdBoard = new Board { Id = createdEntity.RowKey, Name = createdEntity.Name, OwnerId = createdEntity.OwnerId }; // Return 201 Created return(CreatedAtAction( nameof(GetAsync), new { userId = userId, boardId = createdBoard.Id }, createdBoard )); }