public void GetGoodsItemResponseTest() { var message = new GetGoodsItemResponse(); Assert.AreEqual(message.Kind, MessageKind.GetGoodsItemResponse); var item = new ItemCategoryDTO(); item.ItemCategoryID = Guid.NewGuid(); item.Title = "Title"; var goodsItem = new GoodsItemDTO(); goodsItem.GoodsItemID = Guid.NewGuid(); goodsItem.Title = "Title"; goodsItem.ItemCategoryID = item.ItemCategoryID; goodsItem.BarCode = "BarCode"; goodsItem.Description = "Description"; goodsItem.DimensionKindID = 1; goodsItem.Particular = "Particular"; goodsItem.UserCode = "UserCode"; message.GoodsItems.Add(goodsItem); message.ItemCategories.Add(item); var serializer = new ProtocolSerializer(ProtocolVersion.Version10); var data = serializer.Serialize(message); Assert.IsNotNull(data); var savedMessage = serializer.DeserializeGetGoodsItemResponse(data); Assert.IsNotNull(savedMessage); Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetGoodsItemResponse); Assert.AreEqual(savedMessage.GoodsItems.Count, 1); Assert.AreEqual(savedMessage.ItemCategories.Count, 1); var savedGoodsItems = savedMessage.GoodsItems[0]; var savedItem = savedMessage.ItemCategories[0]; Assert.AreEqual(goodsItem.BarCode, savedGoodsItems.BarCode); Assert.AreEqual(goodsItem.Title, savedGoodsItems.Title); Assert.AreEqual(goodsItem.Description, savedGoodsItems.Description); Assert.AreEqual(goodsItem.DimensionKindID, savedGoodsItems.DimensionKindID); Assert.AreEqual(goodsItem.GoodsItemID, savedGoodsItems.GoodsItemID); Assert.AreEqual(goodsItem.ItemCategoryID, savedGoodsItems.ItemCategoryID); Assert.AreEqual(goodsItem.Particular, savedGoodsItems.Particular); Assert.AreEqual(goodsItem.UserCode, savedGoodsItems.UserCode); Assert.AreEqual(savedItem.ItemCategoryID, item.ItemCategoryID); Assert.AreEqual(savedItem.Title, item.Title); }
/// <summary> /// Обработчик запроса на получение категорий и номенклатур товаров. /// </summary> /// <param name="serializer">Сериализатор протокола.</param> /// <param name="postData">Данные запроса.</param> /// <param name="hostAddress">Адрес клиента.</param> /// <returns>Результат.</returns> private string ProcessGetGoodsItemRequest(ProtocolSerializer serializer, string postData, string hostAddress) { var request = serializer.DeserializeGetGoodsItemRequest(postData); _logger.InfoFormat( "Получен запрос на получение информации по категориям и номенклатур от пользователя {0} с клиента {1}", request.UserID, hostAddress); var userDomainID = CheckSignedMessage(request); var goodsItems = RemontinkaServer.Instance.DataStore.GetGoodsItems(userDomainID); var response = new GetGoodsItemResponse(); foreach (var item in goodsItems) { response.GoodsItems.Add(new Protocol.SynchronizationMessages.GoodsItemDTO { BarCode = item.BarCode, Description = item.Description, DimensionKindID = item.DimensionKindID, GoodsItemID = item.GoodsItemID, ItemCategoryID = item.ItemCategoryID, Particular = item.Particular, Title = item.Title, UserCode = item.UserCode }); } //foreach var items = RemontinkaServer.Instance.DataStore.GetItemCategories(userDomainID); foreach (var item in items) { response.ItemCategories.Add(new ItemCategoryDTO { ItemCategoryID = item.ItemCategoryID, Title = item.Title }); } //foreach return(serializer.Serialize(response)); }