Ejemplo n.º 1
0
 public Image Build()
 {
     return(new Image(
                _groupingKey1,
                _groupingKey2,
                _contentType,
                _pixelHeight,
                _orientation,
                _pixelWidth,
                _imageUrlHttp,
                _typeDetail,
                _fullTitle,
                _ip.ParseContentTypePriority(_contentType),
                _ip.GetSizeCategory(_pixelHeight, _pixelWidth),
                _ip.ParseTypeDetail(_typeDetail),
                _ip.ParseIntWithDefault(_pixelHeight),
                _ip.ParseIntWithDefault(_pixelWidth)
                ));
 }
Ejemplo n.º 2
0
        public static Task ImageParser(ParseState state, XmlReader reader)
        {
            if (state.NodeType == XmlNodeType.Element && !reader.IsEmptyElement)
            {
                state.InnerState = InnerState.Image;
                state.Image      = new ImageState();
            }

            if (state.NodeType == XmlNodeType.EndElement)
            {
                var ip = new HPEImageParser();
                if (string.IsNullOrEmpty(state.Image.ContentType))
                {
                    state.Image.ContentType = state.Image.ImageUrlHttp.GetContentType();
                }

                var image = new Image(
                    state.Image.GroupingKey1,
                    state.Image.GroupingKey2,
                    state.Image.ContentType,
                    state.Image.PixelHeight,
                    state.Image.Orientation,
                    state.Image.PixelWidth,
                    state.Image.ImageUrlHttp,
                    state.Image.TypeDetail,
                    state.Image.FullTitle,
                    ip.ParseContentTypePriority(state.Image.ContentType),
                    ip.GetSizeCategory(state.Image.PixelHeight, state.Image.PixelWidth),
                    ip.ParseTypeDetail(state.Image.TypeDetail),
                    ip.ParseIntWithDefault(state.Image.PixelHeight),
                    ip.ParseIntWithDefault(state.Image.PixelWidth)
                    );
                state.Links.ImageLinks.Add(image);
                state.Image      = null;
                state.InnerState = InnerState.None;
            }

            return(Task.CompletedTask);
        }