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

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

            var userDomainID = CheckSignedMessage(request);

            var warehouseItems = RemontinkaServer.Instance.DataStore.GetWarehouseItems(userDomainID);
            var response       = new GetWarehouseItemsResponse();

            foreach (var warehouse in warehouseItems)
            {
                response.WarehouseItems.Add(new Protocol.SynchronizationMessages.WarehouseItemDTO
                {
                    WarehouseID     = warehouse.WarehouseID,
                    GoodsItemID     = warehouse.WarehouseID,
                    RepairPrice     = warehouse.RepairPrice,
                    SalePrice       = warehouse.SalePrice,
                    StartPrice      = warehouse.StartPrice,
                    Total           = warehouse.StartPrice,
                    WarehouseItemID = warehouse.WarehouseItemID
                });
            } //foreach

            return(serializer.Serialize(response));
        }
Ejemplo n.º 2
0
        public void GetWarehouseItemsResponseTest()
        {
            var message = new GetWarehouseItemsResponse();

            Assert.AreEqual(message.Kind, MessageKind.GetWarehouseItemsResponse);

            var item = new WarehouseItemDTO();

            item.WarehouseItemID = Guid.NewGuid();
            item.GoodsItemID     = Guid.NewGuid();
            item.WarehouseID     = Guid.Empty;
            item.RepairPrice     = 11.22M;
            item.SalePrice       = 22.65M;
            item.StartPrice      = 55.64M;
            item.Total           = 10.23M;

            message.WarehouseItems.Add(item);

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

            Assert.IsNotNull(data);

            var savedMessage = serializer.DeserializeGetWarehouseItemsResponse(data);

            Assert.IsNotNull(savedMessage);
            Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetWarehouseItemsResponse);
            Assert.AreEqual(savedMessage.WarehouseItems.Count, 1);

            var savedItem = savedMessage.WarehouseItems[0];

            Assert.AreEqual(savedItem.WarehouseID, item.WarehouseID);
            Assert.AreEqual(savedItem.WarehouseItemID, item.WarehouseItemID);
            Assert.AreEqual(savedItem.GoodsItemID, item.GoodsItemID);
            Assert.AreEqual(savedItem.RepairPrice, item.RepairPrice);
            Assert.AreEqual(savedItem.SalePrice, item.SalePrice);
            Assert.AreEqual(savedItem.StartPrice, item.StartPrice);
            Assert.AreEqual(savedItem.Total, item.Total);
        }