Пример #1
0
        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 }));
        }