public MessageViewModel MapMessage(Message message) { var result = new MessageViewModel(); result.Author = string.Format( "{0} {1}", message.Sender.FirstName, message.Sender.LastName); result.Date = message.SendDate; result.Text = message.Text; return result; }
public async Task SendMessage(MessageViewModel messageViewModel) { var userIdentity = this.Context.User.Identity as CustomIdentity; int receiverKey = 0; if (userIdentity != null && int.TryParse(messageViewModel.Author, out receiverKey)) { User sender = this._membershipService.GetUserByKey(userIdentity.Id); User receiver = this._membershipService.GetUserByKey(receiverKey); var message = new Message( messageViewModel.Text, sender.UserProfile, receiver.UserProfile); message.SendDate = messageViewModel.Date ?? DateTime.Now; messageViewModel.Sender = string.Format( "{0} {1}", sender.UserProfile.FirstName, sender.UserProfile.LastName); await this._messageService.SendMessageAsync(message); await this.Clients.User(messageViewModel.Author).ShowMessage(messageViewModel); } }