示例#1
0
        /// <summary>
        /// Обработчик запроса на получение пользовательских отчетов.
        /// </summary>
        /// <param name="serializer">Сериализатор протокола.</param>
        /// <param name="postData">Данные запроса.</param>
        /// <param name="hostAddress">Адрес клиента.</param>
        /// <returns>Результат.</returns>
        private string ProcessGetCustomReportItemRequest(ProtocolSerializer serializer, string postData, string hostAddress)
        {
            var request = serializer.DeserializeGetCustomReportItemRequest(postData);

            _logger.InfoFormat(
                "Получен запрос на получение информации по пользовательским отчетам от пользователя {0} с клиента {1}",
                request.UserID, hostAddress);

            var userDomainID = CheckSignedMessage(request);

            var items    = RemontinkaServer.Instance.DataStore.GetCustomReportItems(userDomainID);
            var response = new GetCustomReportItemResponse();

            foreach (var reportItem in items)
            {
                response.CustomReportItems.Add(new CustomReportItemDTO
                {
                    CustomReportID = reportItem.CustomReportID,
                    HtmlContent    = reportItem.HtmlContent,
                    Title          = reportItem.Title,
                    DocumentKindID = reportItem.DocumentKindID
                });
            } //foreach

            return(serializer.Serialize(response));
        }
示例#2
0
        public void GetCustomReportItemResponseTest()
        {
            var message = new GetCustomReportItemResponse();

            Assert.AreEqual(message.Kind, MessageKind.GetCustomReportItemResponse);
            var item1 = new CustomReportItemDTO();

            item1.CustomReportID = Guid.NewGuid();
            item1.DocumentKindID = 1;
            item1.Title          = "Title";
            item1.HtmlContent    = "HtmlContent";

            var item2 = new CustomReportItemDTO();

            item2.CustomReportID = Guid.NewGuid();
            item2.DocumentKindID = 1;
            item2.Title          = "Title2";
            item2.HtmlContent    = "HtmlConte323nt";

            message.CustomReportItems.Add(item1);
            message.CustomReportItems.Add(item2);


            var serializer = new ProtocolSerializer(ProtocolVersion.Version10);
            var data       = serializer.Serialize(message);

            Assert.IsNotNull(data);

            var savedMessage = serializer.DeserializeGetCustomReportItemResponse(data);

            Assert.IsNotNull(savedMessage);
            Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetCustomReportItemResponse);
            Assert.AreEqual(savedMessage.CustomReportItems.Count, 2);

            var savedItem1 = savedMessage.CustomReportItems[0];
            var savedItem2 = savedMessage.CustomReportItems[1];

            Assert.AreEqual(savedItem1.CustomReportID, item1.CustomReportID);
            Assert.AreEqual(savedItem1.DocumentKindID, item1.DocumentKindID);
            Assert.AreEqual(savedItem1.HtmlContent, item1.HtmlContent);
            Assert.AreEqual(savedItem1.Title, item1.Title);

            Assert.AreEqual(savedItem2.CustomReportID, item2.CustomReportID);
            Assert.AreEqual(savedItem2.DocumentKindID, item2.DocumentKindID);
            Assert.AreEqual(savedItem2.HtmlContent, item2.HtmlContent);
            Assert.AreEqual(savedItem2.Title, item2.Title);
        }