Ejemplo n.º 1
0
 /// <summary>
 /// Возвращает информацию по сообщению c возможностью не загружать контент подписей и документов
 /// </summary>
 /// <param name="boxId">ящик</param>
 /// <param name="messageId">ID сообщения</param>
 /// <param name="requestParams">Параметры загружки сообщения</param>
 public Message GetMessageWithLoadOptions(string boxId, string messageId, MessageRequestParams requestParams)
 {
     return CheckAutorizedInvoke(() => client.GetMessageWithLoadOptions(Token, boxId, messageId, requestParams));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Загрузка входящих сообщений без содержимого документов и подписей
        /// </summary>
        private void GetMessagesWithoutDocumentsSignsContent()
        {
            if (_context.Certificate == null)
            {
                ChooseCertificate();
            }

            MessageInfo[] messages;
            var count = 0;
            string lastMessageId = null;
            do
            {
                messages = _context.ServiceClient.GetMessages(lastMessageId, null, _context.CurrentBox);

                foreach (var messageInfo in messages)
                {
                    UserInput.Separator();

                    var messageRequestParam = new MessageRequestParams()
                    {
                        GetDocumentContent = false,
                        GetSignContent = false
                    };

                    var message = _context.ServiceClient.GetMessageWithLoadOptions(_context.CurrentBox, messageInfo.Id, messageRequestParam);
                    var organization = _context.ServiceClient.GetOrganizationBy(_context.CurrentBox,
                        OrganizationByCriteria.ByBoxAddress,
                        new OrganizationByCriteriaValues { BoxAddress = messageInfo.From });
                    var department =
                        _context.ServiceClient.GetOrganizationStructure(_context.CurrentBox, organization.OrganizationId)
                            .First(d => d.Id == message.FromDepartment);
                    PrintProperty("Id", messageInfo.Id);
                    PrintProperty("From", messageInfo.From);
                    PrintProperty("FromDepartment", department.Name);
                    PrintProperty("Дата", message.SentDate);
                    PrintProperty("Документы", message.Documents.Length);
                    PrintProperty("Подписи", message.Signs.Length);
                    lastMessageId = message.Id;
                }

                count += messages.Length;
            }
            while (messages.Length > 0);

            Console.Out.WriteLine("Загружено {0} сообщений из ящика {1}", count, _context.CurrentBox);
        }