public InstaCommentList Convert()
        {
            var commentList = new InstaCommentList
            {
                Caption               = ConvertersFabric.GetCaptionConverter(SourceObject.Caption).Convert(),
                CaptionIsEdited       = SourceObject.CaptionIsEdited,
                CommentsCount         = SourceObject.CommentsCount,
                LikesEnabled          = SourceObject.LikesEnabled,
                MoreComentsAvailable  = SourceObject.MoreComentsAvailable,
                MoreHeadLoadAvailable = SourceObject.MoreHeadLoadAvailable
            };

            foreach (var commentResponse in SourceObject.Comments)
            {
                var converter = ConvertersFabric.GetCommentConverter(commentResponse);
                commentList.Comments.Add(converter.Convert());
            }
            return(commentList);
        }
Пример #2
0
        public InstaMedia Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var media = new InstaMedia
            {
                InstaIdentifier = SourceObject.InstaIdentifier,
                Code            = SourceObject.Code,
                Pk             = SourceObject.Pk,
                ClientCacheKey = SourceObject.ClientCacheKey,
                CommentsCount  = SourceObject.CommentsCount,
                DeviceTimeStap = DateTimeHelper.UnixTimestampToDateTime(SourceObject.DeviceTimeStapUnixLike),
                HasLiked       = SourceObject.HasLiked,
                PhotoOfYou     = SourceObject.PhotoOfYou,
                TrakingToken   = SourceObject.TrakingToken,
                TakenAt        = DateTimeHelper.UnixTimestampToDateTime(SourceObject.TakenAtUnixLike),
                Height         = SourceObject.Height,
                LikesCount     = SourceObject.LikesCount,
                MediaType      = SourceObject.MediaType,
                FilterType     = SourceObject.FilterType,
                Width          = SourceObject.Width,
                HasAudio       = SourceObject.HasAudio,
                ViewCount      = int.Parse(SourceObject.ViewCount.ToString(CultureInfo.InvariantCulture))
            };

            if (SourceObject.CarouselMedia != null)
            {
                media.Carousel = ConvertersFabric.GetCarouselConverter(SourceObject.CarouselMedia).Convert();
            }
            if (SourceObject.User != null)
            {
                media.User = ConvertersFabric.GetUserConverter(SourceObject.User).Convert();
            }
            if (SourceObject.Caption != null)
            {
                media.Caption = ConvertersFabric.GetCaptionConverter(SourceObject.Caption).Convert();
            }
            if (SourceObject.NextMaxId != null)
            {
                media.NextMaxId = SourceObject.NextMaxId;
            }
            if (SourceObject.Likers?.Count > 0)
            {
                foreach (var liker in SourceObject.Likers)
                {
                    media.Likers.Add(ConvertersFabric.GetUserConverter(liker).Convert());
                }
            }
            if (SourceObject.UserTagList?.In?.Count > 0)
            {
                foreach (var tag in SourceObject.UserTagList.In)
                {
                    media.Tags.Add(ConvertersFabric.GetUserTagConverter(tag).Convert());
                }
            }
            if (SourceObject.Images?.Candidates == null)
            {
                return(media);
            }
            foreach (var image in SourceObject.Images.Candidates)
            {
                media.Images.Add(new MediaImage(image.Url, int.Parse(image.Width), int.Parse(image.Height)));
            }
            return(media);
        }
        public InstaStoryItem Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var instaStory = new InstaStoryItem
            {
                CanViewerSave   = SourceObject.CanViewerSave,
                CaptionIsEdited = SourceObject.CaptionIsEdited,
                CaptionPosition = SourceObject.CaptionPosition,
                Code            = SourceObject.Code,
                CommentCount    = SourceObject.CommentCount,
                ExpiringAt      = DateTimeHelper.UnixTimestampToDateTime(SourceObject.ExpiringAt),
                FilterType      = SourceObject.FilterType,
                HasAudio        = SourceObject.HasAudio ?? false,
                HasLiked        = SourceObject.HasLiked,
                HasMoreComments = SourceObject.HasMoreComments,
                Id          = SourceObject.Id,
                IsReelMedia = SourceObject.IsReelMedia,
                LikeCount   = SourceObject.LikeCount,
                MaxNumVisiblePreviewComments = SourceObject.MaxNumVisiblePreviewComments,
                MediaType             = SourceObject.MediaType,
                OriginalHeight        = SourceObject.OriginalHeight,
                OriginalWidth         = SourceObject.OriginalWidth,
                PhotoOfYou            = SourceObject.PhotoOfYou,
                Pk                    = SourceObject.Pk,
                TakenAt               = DateTimeHelper.UnixTimestampToDateTime(SourceObject.TakenAt),
                VideoDuration         = SourceObject.VideoDuration ?? 0,
                AdAction              = SourceObject.AdAction,
                SupportsReelReactions = SourceObject.SupportsReelReactions
            };

            if (SourceObject.User != null)
            {
                instaStory.User = ConvertersFabric.GetUserShortConverter(SourceObject.User).Convert();
            }

            if (SourceObject.Caption != null)
            {
                instaStory.Caption = ConvertersFabric.GetCaptionConverter(SourceObject.Caption).Convert();
            }

            if (SourceObject.Images?.Candidates != null)
            {
                foreach (var image in SourceObject.Images.Candidates)
                {
                    instaStory.ImageList.Add(new InstaImage(image.Url, int.Parse(image.Width),
                                                            int.Parse(image.Height)));
                }
            }

            if (SourceObject.VideoVersions != null)
            {
                foreach (var video in SourceObject.VideoVersions)
                {
                    instaStory.VideoList.Add(new InstaVideo(video.Url, int.Parse(video.Width), int.Parse(video.Height),
                                                            video.Type));
                }
            }

            if (SourceObject.ReelMentions != null)
            {
                foreach (var mention in SourceObject.ReelMentions)
                {
                    instaStory.ReelMentions.Add(ConvertersFabric.GetMentionConverter(mention).Convert());
                }
            }
            if (SourceObject.StoryHashtags != null)
            {
                foreach (var hashtag in SourceObject.StoryHashtags)
                {
                    instaStory.StoryHashtags.Add(ConvertersFabric.GetMentionConverter(hashtag).Convert());
                }
            }

            if (SourceObject.StoryLocations != null)
            {
                foreach (var location in SourceObject.StoryLocations)
                {
                    instaStory.StoryLocations.Add(ConvertersFabric.GetLocationConverter(location).Convert());
                }
            }

            return(instaStory);
        }
Пример #4
0
        public InstaStoryItem Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var instaStory = new InstaStoryItem
            {
                CanViewerSave    = SourceObject.CanViewerSave,
                CaptionIsEdited  = SourceObject.CaptionIsEdited,
                CaptionPosition  = SourceObject.CaptionPosition,
                ClientCacheKey   = SourceObject.ClientCacheKey,
                Code             = SourceObject.Code,
                CommentCount     = SourceObject.CommentCount,
                CommentsDisabled = SourceObject.CommentsDisabled,
                ExpiringAt       = DateTimeHelper.UnixTimestampToDateTime(SourceObject.ExpiringAt),
                FilterType       = SourceObject.FilterType,
                HasAudio         = SourceObject.HasAudio,
                HasLiked         = SourceObject.HasLiked,
                HasMoreComments  = SourceObject.HasMoreComments,
                Id          = SourceObject.Id,
                IsReelMedia = SourceObject.IsReelMedia,
                LikeCount   = SourceObject.LikeCount,
                MaxNumVisiblePreviewComments = SourceObject.MaxNumVisiblePreviewComments,
                MediaType      = SourceObject.MediaType,
                OriginalHeight = SourceObject.OriginalHeight,
                OriginalWidth  = SourceObject.OriginalWidth,
                PhotoOfYou     = SourceObject.PhotoOfYou,
                Pk             = SourceObject.Pk,
                TakenAt        = DateTimeHelper.UnixTimestampToDateTime(SourceObject.TakenAt),
                TrackingToken  = SourceObject.TrackingToken,
                VideoDuration  = SourceObject.VideoDuration,
                VideoVersions  = SourceObject.VideoVersions
            };

            if (SourceObject.User != null)
            {
                instaStory.User = ConvertersFabric.GetUserConverter(SourceObject.User).Convert();
            }

            if (SourceObject.Caption != null)
            {
                instaStory.Caption = ConvertersFabric.GetCaptionConverter(SourceObject.Caption).Convert();
            }

            if (SourceObject.Likers?.Count > 0)
            {
                foreach (var liker in SourceObject.Likers)
                {
                    instaStory.Likers.Add(ConvertersFabric.GetUserConverter(liker).Convert());
                }
            }

            if (SourceObject.CarouselMedia != null)
            {
                instaStory.CarouselMedia = ConvertersFabric.GetCarouselConverter(SourceObject.CarouselMedia).Convert();
            }

            if (SourceObject.UserTags?.In?.Count > 0)
            {
                foreach (var tag in SourceObject.UserTags.In)
                {
                    instaStory.UserTags.Add(ConvertersFabric.GetUserTagConverter(tag).Convert());
                }
            }

            if (SourceObject.ImageVersions?.Candidates != null)
            {
                foreach (var image in SourceObject.ImageVersions.Candidates)
                {
                    instaStory.Images.Add(new MediaImage(image.Url, int.Parse(image.Width), int.Parse(image.Height)));
                }
            }

            return(instaStory);
        }