public bool InsertAsync(int userId, string connectionId) { if (context.SignalRConnections.Any(x => x.UserId == userId && x.ConnectionId == connectionId)) { return(true); } context.SignalRConnections.Add(new Data.Entities.UserConnectionEntity() { ConnectionId = connectionId, UserId = userId }); var rowsCount = context.SaveChanges(); return(rowsCount > 0); }
public MessageEntity CreateAsync(int conversationId, int senderId, string message) { var msg = new MessageEntity { ConversationId = conversationId, CreatedAt = DateTime.Now, SenderId = senderId, Text = message }; context.Messages.Add(msg); context.SaveChanges(); return(context.Messages .Include(x => x.Sender) .FirstOrDefault(x => x.Id == msg.Id)); }
public ConversationEntity CreateAsync(int senderId, int receiverId, string text) { var sender = context.Users.FirstOrDefault(x => x.Id == senderId); if (sender == null) { throw new InvalidOperationException("Invalid sender id"); } var receiver = context.Users.FirstOrDefault(x => x.Id == receiverId); if (sender == null) { throw new InvalidOperationException("Invalid receiver id"); } var conversation = new ConversationEntity { CreatedById = senderId, Title = receiver.NormalizedUserName, CreatedAt = DateTime.Now, ConversationUsers = new List <ConversationUserEntity> { new ConversationUserEntity { UserId = senderId }, new ConversationUserEntity { UserId = receiverId }, }, Messages = new List <MessageEntity> { new MessageEntity { SenderId = senderId, Text = text } } }; context.Conversations.Add(conversation); context.SaveChanges(); return(conversation); }