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