private dynamic ExpandSingleItem(MessageForReturnDto messageDto) { var links = GetLinks(messageDto.Id); var resourceToReturn = messageDto.ToDynamic() as IDictionary <string, object>; resourceToReturn.Add("links", links); return(resourceToReturn); }
public async Task <ActionResult <MessageForReturnDto> > UpdateMessage(int id, MessageForReturnDto messageDto) { try { var existingMessage = await _repo.GetMessageById(id); if (existingMessage == null) { return(NotFound($"We could not find any message with Id: {id}")); } Message updatedMessage = _mapper.Map(messageDto, existingMessage); _repo.Update(updatedMessage); if (await _repo.Save()) { return(CreatedAtAction(nameof(GetMessageById), new { id = updatedMessage.Id }, _mapper.Map <MessageForReturnDto>(updatedMessage))); } } catch (Exception e) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}")); } return(BadRequest()); }
public async Task SendMessageToUser(MessageForReturnDto message) { var senderId = message.SenderId.ToString(); var recipientId = message.RecipientId.ToString(); await Clients.Users(senderId, recipientId).SendAsync("broadCast", message); }