Пример #1
0
        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();
        }
Пример #2
0
        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);
        }
Пример #3
0
        public async Task AddMessageToLessor(Message message)
        {
            await Messages.AddAsync(message);

            await SaveChangesAsync();
        }