public IActionResult Send(WriteViewModel writeViewModel, string Sender, string Receiver) { if (Sender != User.Identity.Name) { return(RedirectToAction("Wall", "Home")); } if (String.IsNullOrEmpty(Receiver)) { throw new Exception("No receiver"); } var newMessage = new Message(); var userReceiver = _userService.GetUser(Receiver); var userSender = _userService.GetUser(Sender); newMessage.Content = writeViewModel.Content; newMessage.UserReceiver = userReceiver; newMessage.UserSender = userSender; newMessage = _messageService.AddMessageWithCommit(newMessage); _userService.AddReceivedMessage(newMessage, userReceiver); _userService.AddSentMessage(newMessage, userSender); _ccDbContextService.Commit(); return(RedirectToAction("Conversation", "Message", new { userName = Sender, id = newMessage.Id })); }