public async Task <IActionResult> CreateAsync([FromBody] CreateChatEntryDto entry) { // Telemetry Telemetry.TrackEvent("CreateAsync", new Dictionary <string, string> { { "entry", entry?.ToJson() } }); // Action if (ModelState.IsValid) { try { var dto = await ChatService.CreateAsync(entry); return(CreatedAtAction(nameof(GetAsync), dto)); } catch (Exception ex) { return(StatusCode(500, new { Error = ex.Message })); } } else { return(BadRequest(ModelState)); } }
public async Task <ChatEntryDto> CreateAsync(CreateChatEntryDto entry) { var entityToCreate = new ChatEntryEntity { PartitionKey = "ChatApp-OnlyRoom", RowKey = $"{entry.Username}|{DateTime.Now.ToFileTime()}", Username = entry.Username, Message = entry.Message }; var createdEntity = await ChatEntryRepository.InsertOrMergeAsync(entityToCreate); var updatedEntity = await ChatEntryRepository.ReadOneAsync(createdEntity.PartitionKey, createdEntity.RowKey); return(new ChatEntryDto { Username = updatedEntity.Username, Message = updatedEntity.Message, CreatedDate = updatedEntity.Timestamp.DateTime }); }