/// <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)); }
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); }