public async Task AddMessage(int senderId, MessageInputDTO messageInput)
        {
            if (string.IsNullOrWhiteSpace(messageInput.Message) && messageInput.Media == null)
            {
                throw new MessageAndMediaEmptyException("epty message data");
            }
            _unitOfWork.Messages.Add(new Message
            {
                SenderId   = senderId,
                ReceiverId = messageInput.ReceiverId,
                Text       = messageInput.Message,
                DateTime   = System.DateTime.Now,
                IsRead     = false,
            });
            _unitOfWork.Complete();
            if (messageInput.Media != null)
            {
                var message = _unitOfWork.Messages.Find(m => m.SenderId == senderId && m.ReceiverId == messageInput.ReceiverId)
                              .Last();
                Console.WriteLine("===================================================");
                Console.WriteLine(messageInput.Media.FileName);
                message.MediaName     = MediaPath.GetFileName(messageInput.Media.FileName);
                message.AttachmentUrl = await AddMedia(messageInput.Media, message.MessageId);


                _unitOfWork.Messages.Update(message);
                _unitOfWork.Complete();
            }
        }
 public async Task AddFirstMessage(int senderId, MessageInputDTO messageInputDto)
 {
     Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++");
     Console.WriteLine($"sender --- {senderId}");
     Console.WriteLine($"receiver --- {messageInputDto.ReceiverId}");
     _unitOfWork.Friendships.Add(new Friendship
     {
         SubscriberId = senderId,
         ResponderId  = messageInputDto.ReceiverId
     });
     await AddMessage(senderId, messageInputDto);
 }
Esempio n. 3
0
 public async Task Message([FromHeader] string Authorization, MessageInputDTO messageInput)
 {
     //Authorization: Bearer  eyJhbGciOiJSUzI1NiIsImtpZCI6IjE1MT...
     try
     {
         var senderId = TokenParcer.GetUserIdByToken(Authorization);
         await _messageService.AddMessage(senderId, messageInput);
     }
     catch (MessageAndMediaEmptyException e)
     {
         Console.WriteLine(e.Message);
         Console.WriteLine(e.StackTrace);
         HttpContext.Response.StatusCode = (int)HttpStatusCode.NoContent;
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
         HttpContext.Response.StatusCode = (int)HttpStatusCode.ExpectationFailed;
     }
 }
Esempio n. 4
0
 public async Task FirstMessage([FromHeader] string Authorization, MessageInputDTO messageInput)
 {
     try
     {
         var senderId = TokenParcer.GetUserIdByToken(Authorization);
         await _messageService.AddFirstMessage(senderId, messageInput);
     }
     catch (MessageAndMediaEmptyException e)
     {
         Console.WriteLine(e.Message);
         Console.WriteLine(e.StackTrace);
         HttpContext.Response.StatusCode = (int)HttpStatusCode.NoContent;
     }
     catch (Exception exception)
     {
         Console.WriteLine("======================================");
         Console.WriteLine(exception.Message);
         Console.WriteLine("======================================");
         Console.WriteLine(exception.StackTrace);
         HttpContext.Response.StatusCode = (int)HttpStatusCode.ExpectationFailed;
     }
 }