public async Task AddMessage(Message message) { var renter = await GetUser(message.RenterEmail); var lessor = await GetUser(message.LessorEmail); var junction = new List <MessagesWithUsers>() { new MessagesWithUsers() { Message = message, MessageId = message.MessageID, User = renter, UserEmail = renter.Email }, new MessagesWithUsers() { Message = message, MessageId = message.MessageID, User = lessor, UserEmail = lessor.Email } }; await MessagesWithUsersJunction.AddRangeAsync(junction); await Messages.AddAsync(message); await SaveChangesAsync(); }
private async Task <Message> Send(Message message, bool isNoramlMessage = true) { await Db.Entry(CurrentUser).Collection(u => u.UsersChats).Query().Include(uc => uc.Chat).LoadAsync(); var chat = CurrentUser.UsersChats.SingleOrDefault(uc => uc.ChatId == message.ChatId)?.Chat; if (chat == null) { return(null); } message.Chat = chat; // if chatRoom don't save to databse if (chat.ChatType == ChatType.ChatRoom && isNoramlMessage) { return(message); } await Messages.AddAsync(message); if (message.Attachments != null) { await Attachments.AddRangeAsync(message.Attachments); } await Db.SaveChangesAsync(); return(message); }
public async Task AddMessageToLessor(Message message) { await Messages.AddAsync(message); await SaveChangesAsync(); }