コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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));
        }