コード例 #1
0
        public void Deserialize_AggregationPresent_UsesAggregationDeserializer()
        {
            // Arrange
            const string yamlText =
                @"metricDefaults:
    aggregation:
        interval: 00:05:00";
            var node = (YamlMappingNode)YamlUtils.CreateYamlNode(yamlText).Children["metricDefaults"];

            var aggregationNode = (YamlMappingNode)node.Children["aggregation"];
            var aggregation     = new AggregationV1();

            _aggregationDeserializer.Setup(d => d.Deserialize(aggregationNode)).Returns(aggregation);

            // Act
            var defaults = _deserializer.Deserialize(node);

            // Assert
            Assert.Same(aggregation, defaults.Aggregation);
        }
コード例 #2
0
        public static StockCheckpointV1 CreateStockCheckpoint(List <AggregationV1> outboundAggregations, AggregationV1 inboundAggregation)
        {
            var fromItem = outboundAggregations
                           .FirstOrDefault(x => x.LocationId == inboundAggregation.LocationId && x.ArticleId == inboundAggregation.ArticleId);

            return(new StockCheckpointV1
            {
                Id = Guid.NewGuid().ToString(),
                ArticleId = inboundAggregation.ArticleId,
                ArticleName = inboundAggregation.ArticleName,
                Quantity = fromItem == null ? inboundAggregation.Count : inboundAggregation.Count - fromItem.Count,
                LocationId = inboundAggregation.LocationId,
                TimeStamp = DateTimeOffset.Now
            });
        }