예제 #1
0
 public IHttpActionResult CheckExistConversation(string conName)
 {
     try
     {
         var loginUserId  = User.Identity.GetUserId();
         var conversation = _context.Conversations.FirstOrDefault(c => c.Name == conName);
         if (conversation != null)
         {
             var model = ConversationModel.Create(_context, conversation.Id);
             return(Json(model));
         }
         var newConName      = String.Join("_", conName.Split('_').Reverse());
         var newConversation = _context.Conversations.FirstOrDefault(c => c.Name == newConName);
         if (newConversation != null)
         {
             var model = ConversationModel.Create(_context, newConversation.Id);
             return(Json(model));
         }
         return(Json(false));
     }
     catch (Exception ex)
     {
         return(Json("error"));
     }
 }
예제 #2
0
        public static ConversationModel Create(ApplicationDbContext _context, string conversationId)
        {
            var model = new ConversationModel();

            model.ConversationId = conversationId;
            model.Messages       = _context.Messages.Where(m => m.ConversationId == conversationId).OrderByDescending(m => m.SendTime).Take(100).ToList().Select(m =>
            {
                var message          = new MessageModel();
                message.Id           = m.Id;
                message.Content      = m.Content;
                message.SentUserId   = m.SentUserId;
                message.SentUserName = _context.Users.FirstOrDefault(u => u.Id == m.SentUserId)?.UserName;
                return(message);
            }).Reverse().ToList();
            return(model);
        }
예제 #3
0
 public IHttpActionResult GetOldMessagesByConversationId(string conId)
 {
     try
     {
         var loginUserId  = User.Identity.GetUserId();
         var conversation = _context.Conversations.FirstOrDefault(c => c.Id == conId);
         if (conversation != null)
         {
             var model = new ConversationModel();
             model = ConversationModel.Create(_context, conversation.Id);
             return(Json(model));
         }
         return(Json(false));
     }
     catch (Exception ex)
     {
         return(Json("error"));
     }
 }