Beispiel #1
0
        MessagesPack GetInboxMessages(string currentUsername, MessageTypes messageTypes, Byte[] recentVersion)
        {
            List <Message> recievedMessages = new List <Message>();
            Message        result;
            bool           deleted = messageTypes.HasFlag(MessageTypes.Deleted);
            bool           viewed  = messageTypes.HasFlag(MessageTypes.Viewed);
            ///Ищем в получателях
            List <Recipient> recipients = RecipientGateway.Select(currentUsername, currentUsername, deleted, viewed);

            foreach (Recipient item in recipients)
            {
                result = MessageGateway.Select((int)item.MessageId, currentUsername);
                recievedMessages.Add(result);
            }
            MessagesPack messagesPack = new MessagesPack();

            //Сумма Id всех полученных сообщений
            messagesPack.CountInDB = recievedMessages.Count();
            ///Сообщения с версией выше чем у клиента
            messagesPack.Messages = GetRecentVersionMessages(recievedMessages, recentVersion);
            ///Звполнить Sender, Recipients
            foreach (Message item in messagesPack.Messages)
            {
                FillMessage(item, currentUsername);
            }
            return(messagesPack);
        }
Beispiel #2
0
        List <int> GetInboxMessagesIds(string currentUsername, MessageTypes messageTypes)
        {
            List <int> recievedMessagesIds = new List <int>();
            bool       deleted             = messageTypes.HasFlag(MessageTypes.Deleted);
            bool       viewed = messageTypes.HasFlag(MessageTypes.Viewed);
            ///Ищем в получателях
            List <Recipient> recipients = RecipientGateway.Select(currentUsername, currentUsername, deleted, viewed);

            foreach (Recipient item in recipients)
            {
                recievedMessagesIds.Add((int)item.MessageId);
            }
            return(recievedMessagesIds);
        }
Beispiel #3
0
 void FillMessage(Message message, string currentUsername)
 {
     message.Sender     = EmployeeGateway.Select(message.SenderUsername, currentUsername);
     message.Recipients = RecipientGateway.Select((int)message.Id, currentUsername);
 }