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);
        }
 public Gateway(Configuration config)
 {
     this.config           = config;
     this.client           = new Client(config);
     this.recipient        = new RecipientGateway(this);
     this.recipientAccount = new RecipientAccountGateway(this);
     this.balances         = new BalancesGateway(this);
     this.batch            = new BatchGateway(this);
     this.payment          = new PaymentGateway(this);
 }
Beispiel #3
0
        public void SendMessage(Message message)
        {
            string currentUsername = ServiceSecurityContext.Current.PrimaryIdentity.Name;

            CheckMessage(message, currentUsername);
            PrepareMessage(message);
            int insertedMessageId = MessageGateway.Insert(message, currentUsername);

            foreach (Recipient item in message.Recipients)
            {
                Recipient recipient = new Recipient(item.RecipientUsername, insertedMessageId);
                RecipientGateway.Insert(recipient, currentUsername);
            }
        }
Beispiel #4
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 #5
0
        public void PermanentlyDeleteRecipient(int messageId)
        {
            string currentUsername = ServiceSecurityContext.Current.PrimaryIdentity.Name;

            RecipientGateway.Delete(currentUsername, messageId, currentUsername);
        }
Beispiel #6
0
        public void SetRecipientDeleted(int messageId, bool deleted)
        {
            string currentUsername = ServiceSecurityContext.Current.PrimaryIdentity.Name;

            RecipientGateway.UpdateDeleted(currentUsername, messageId, deleted, currentUsername);
        }
Beispiel #7
0
 void FillMessage(Message message, string currentUsername)
 {
     message.Sender     = EmployeeGateway.Select(message.SenderUsername, currentUsername);
     message.Recipients = RecipientGateway.Select((int)message.Id, currentUsername);
 }