Ejemplo n.º 1
0
        public InstaUser Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var shortConverter = ConvertersFabric.GetUserShortConverter(SourceObject);
            var user           = new InstaUser(shortConverter.Convert())
            {
                HasAnonymousProfilePicture = SourceObject.HasAnonymousProfilePicture,
                FollowersCount             = SourceObject.FollowersCount,
                FollowersCountByLine       = SourceObject.FollowersCountByLine,
                SearchSocialContext        = SourceObject.SearchSocialContext,
                SocialContext   = SourceObject.SocialContext,
                MutualFollowers = (int)System.Convert.ToDouble(SourceObject.MulualFollowersCount)
            };

            if (SourceObject.FriendshipStatus != null)
            {
                var freindShipStatusConverter =
                    ConvertersFabric.GetFriendShipStatusConverter(SourceObject.FriendshipStatus);
                user.FriendshipStatus = freindShipStatusConverter.Convert();
            }
            return(user);
        }
Ejemplo n.º 2
0
        public InstaDirectInboxItem Convert()
        {
            var threadItem = new InstaDirectInboxItem
            {
                ClientContext = SourceObject.ClientContext,
                ItemId        = SourceObject.ItemId
            };

            switch (SourceObject.ItemType)
            {
            case "text":
                threadItem.ItemType = InstaDirectThreadItemType.Text;
                break;

            case "media_share":
                threadItem.ItemType = InstaDirectThreadItemType.MediaShare;
                break;
            }
            threadItem.Text      = SourceObject.Text;
            threadItem.TimeStamp = DateTimeHelper.UnixTimestampMilisecondsToDateTime(SourceObject.TimeStamp);
            threadItem.UserId    = SourceObject.UserId;
            if (SourceObject.MediaShare == null)
            {
                return(threadItem);
            }
            var converter = ConvertersFabric.GetSingleMediaConverter(SourceObject.MediaShare);

            threadItem.MediaShare = converter.Convert();
            return(threadItem);
        }
Ejemplo n.º 3
0
        public InstaTagFeed Convert()
        {
            if (SourceObject?.Medias == null)
            {
                throw new ArgumentNullException("InstaFeedResponse or its media list");
            }
            var feed = new InstaTagFeed();

            List <InstaMedia> ConvertMedia(List <InstaMediaItemResponse> mediasResponse)
            {
                var medias = new List <InstaMedia>();

                foreach (var instaUserFeedItemResponse in mediasResponse)
                {
                    if (instaUserFeedItemResponse?.Type != 0)
                    {
                        continue;
                    }
                    var feedItem = ConvertersFabric.GetSingleMediaConverter(instaUserFeedItemResponse).Convert();
                    medias.Add(feedItem);
                }
                return(medias);
            }

            feed.RankedMedias.AddRange(ConvertMedia(SourceObject.RankedItems));
            feed.Medias.AddRange(ConvertMedia(SourceObject.Medias));
            feed.Medias.PageSize = feed.Medias.Count;
            foreach (var story in SourceObject.Stories)
            {
                var feedItem = ConvertersFabric.GetStoryConverter(story).Convert();
                feed.Stories.Add(feedItem);
            }
            return(feed);
        }
        public InstaReelMention Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var mention = new InstaReelMention
            {
                Height   = SourceObject.Height,
                IsPinned = System.Convert.ToBoolean(SourceObject.IsPinned),
                Rotation = SourceObject.Rotation,
                Width    = SourceObject.Width,
                X        = SourceObject.X,
                Y        = SourceObject.Y
            };

            if (SourceObject.Hashtag != null)
            {
                mention.Hashtag = ConvertersFabric.GetHashTagConverter(SourceObject.Hashtag).Convert();
            }
            if (SourceObject.User != null)
            {
                mention.User = ConvertersFabric.GetUserShortConverter(SourceObject.User).Convert();
            }
            return(mention);
        }
        public InsteReelFeed Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var reelFeed = new InsteReelFeed
            {
                CanReply        = SourceObject.CanReply,
                CanReshare      = SourceObject.CanReshare,
                ExpiringAt      = DateTimeHelper.UnixTimestampToDateTime(SourceObject?.ExpiringAt ?? 0),
                HasBestiesMedia = SourceObject.HasBestiesMedia,
                Id = SourceObject.Id,
                LatestReelMedia = SourceObject.LatestReelMedia ?? 0,
                PrefetchCount   = SourceObject.PrefetchCount,
                Seen            = SourceObject.Seen ?? 0,
                User            = ConvertersFabric.GetUserShortConverter(SourceObject.User).Convert()
            };

            foreach (var item in SourceObject.Items)
            {
                reelFeed.Items.Add(ConvertersFabric.GetStoryItemConverter(item).Convert());
            }
            return(reelFeed);
        }
Ejemplo n.º 6
0
        public InstaRecipientThreads Convert()
        {
            var recipients = new InstaRecipientThreads
            {
                ExpiresIn = SourceObject.Expires,
                Filtered  = SourceObject.Filtered,
                RankToken = SourceObject.RankToken,
                RequestId = SourceObject.RequestId
            };

            foreach (var recipient in SourceObject.RankedRecipients)
            {
                var rankedThread = new InstaRankedRecipientThread
                {
                    Canonical   = recipient.Thread.Canonical,
                    Named       = recipient.Thread.Named,
                    Pending     = recipient.Thread.Pending,
                    ThreadId    = recipient.Thread.ThreadId,
                    ThreadTitle = recipient.Thread.ThreadTitle,
                    ThreadType  = recipient.Thread.ThreadType,
                    ViewerId    = recipient.Thread.ViewerId
                };
                foreach (var user in recipient.Thread.Users)
                {
                    rankedThread.Users.Add(ConvertersFabric.GetUserShortConverter(user).Convert());
                }
                recipients.Items.Add(rankedThread);
            }

            return(recipients);
        }
        public InstaExploreFeed Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException("SourceObject");
            }

            List <InstaMedia> ConvertMedia(List <InstaMediaItemResponse> mediasResponse)
            {
                var medias = new List <InstaMedia>();

                foreach (var instaUserFeedItemResponse in mediasResponse)
                {
                    if (instaUserFeedItemResponse?.Type != 0)
                    {
                        continue;
                    }
                    var feedItem = ConvertersFabric.GetSingleMediaConverter(instaUserFeedItemResponse).Convert();
                    medias.Add(feedItem);
                }
                return(medias);
            }

            var feed = new InstaExploreFeed
            {
                StoryTray = ConvertersFabric.GetStoryTrayConverter(SourceObject.Items.StoryTray).Convert(),
                Channel   = ConvertersFabric.GetChannelConverter(SourceObject.Items.Channel).Convert()
            };

            feed.Medias.AddRange(ConvertMedia(SourceObject.Items.Medias));
            feed.Medias.PageSize = feed.Medias.Count;

            return(feed);
        }
        public InstaStoryMedia Convert()
        {
            var instaStoryMedia = new InstaStoryMedia
            {
                Media = ConvertersFabric.GetStoryItemConverter(SourceObject.Media).Convert()
            };

            return(instaStoryMedia);
        }
        public InstaCaption Convert()
        {
            var caption = new InstaCaption
            {
                Pk           = SourceObject.Pk,
                CreatedAt    = DateTimeHelper.UnixTimestampToDateTime(SourceObject.CreatedAtUnixLike),
                CreatedAtUtc = DateTimeHelper.UnixTimestampToDateTime(SourceObject.CreatedAtUtcUnixLike),
                MediaId      = SourceObject.MediaId,
                Text         = SourceObject.Text,
                User         = ConvertersFabric.GetUserShortConverter(SourceObject.User).Convert(),
                UserId       = SourceObject.UserId
            };

            return(caption);
        }
        public InstaCarousel Convert()
        {
            var carousel = new InstaCarousel();

            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            foreach (var item in SourceObject)
            {
                var carouselItem = ConvertersFabric.GetCarouselItemConverter(item);
                carousel.Add(carouselItem.Convert());
            }
            return(carousel);
        }
Ejemplo n.º 11
0
        public InstaFeed Convert()
        {
            var feed = new InstaFeed();

            foreach (var instaUserFeedItemResponse in SourceObject.Items)
            {
                if (instaUserFeedItemResponse?.Type != 0)
                {
                    continue;
                }
                var feedItem = ConvertersFabric.GetSingleMediaConverter(instaUserFeedItemResponse).Convert();
                feed.Medias.Add(feedItem);
            }
            return(feed);
        }
        public InstaTopLive Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var storyTray = new InstaTopLive {
                RankedPosition = SourceObject.RankedPosition
            };

            foreach (var owner in SourceObject.BroadcastOwners)
            {
                var userOwner = ConvertersFabric.GetUserShortConverter(owner).Convert();
                storyTray.BroadcastOwners.Add(userOwner);
            }
            return(storyTray);
        }
Ejemplo n.º 13
0
        public InstaDirectInboxContainer Convert()
        {
            var inbox = new InstaDirectInboxContainer
            {
                PendingRequestsCount = SourceObject.PendingRequestsCount,
                SeqId = SourceObject.SeqId
            };

            if (SourceObject.Subscription != null)
            {
                var converter = ConvertersFabric.GetDirectSubscriptionConverter(SourceObject.Subscription);
                inbox.Subscription = converter.Convert();
            }
            if (SourceObject.Inbox != null)
            {
                inbox.Inbox = new InstaDirectInbox
                {
                    HasOlder      = SourceObject.Inbox.HasOlder,
                    UnseenCount   = SourceObject.Inbox.UnseenCount,
                    UnseenCountTs = SourceObject.Inbox.UnseenCountTs
                };

                if (SourceObject.Inbox.Threads != null && SourceObject.Inbox.Threads.Count > 0)
                {
                    inbox.Inbox.Threads = new List <InstaDirectInboxThread>();
                    foreach (var inboxThread in SourceObject.Inbox.Threads)
                    {
                        var converter = ConvertersFabric.GetDirectThreadConverter(inboxThread);
                        inbox.Inbox.Threads.Add(converter.Convert());
                    }
                }
            }
            if (SourceObject.PendingUsers == null || SourceObject.PendingUsers.Count <= 0)
            {
                return(inbox);
            }
            {
                foreach (var user in SourceObject.PendingUsers)
                {
                    var converter = ConvertersFabric.GetUserConverter(user);
                    inbox.PendingUsers.Add(converter.Convert());
                }
            }
            return(inbox);
        }
        public InstaChannel Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var channel = new InstaChannel
            {
                ChannelId   = SourceObject.ChannelId,
                ChannelType = SourceObject.ChannelType,
                Context     = SourceObject.Context,
                Header      = SourceObject.Header,
                Title       = SourceObject.Title,
                Media       = ConvertersFabric.GetSingleMediaConverter(SourceObject.Media).Convert()
            };

            return(channel);
        }
        public InstaDirectInboxThread Convert()
        {
            var thread = new InstaDirectInboxThread
            {
                Canonical    = SourceObject.Canonical,
                HasNewer     = SourceObject.HasNewer,
                HasOlder     = SourceObject.HasOlder,
                IsSpam       = SourceObject.IsSpam,
                Muted        = SourceObject.Muted,
                Named        = SourceObject.Named,
                Pending      = SourceObject.Pending,
                VieweId      = SourceObject.VieweId,
                LastActivity = DateTimeHelper.UnixTimestampMilisecondsToDateTime(SourceObject.LastActivity),
                ThreadId     = SourceObject.ThreadId
            };

            thread.OldestCursor = thread.OldestCursor;
            thread.ThreadType   = SourceObject.ThreadType;
            thread.Title        = SourceObject.Title;
            if (SourceObject.Inviter != null)
            {
                var userConverter = ConvertersFabric.GetUserShortConverter(SourceObject.Inviter);
                thread.Inviter = userConverter.Convert();
            }
            if (SourceObject.Items != null && SourceObject.Items.Count > 0)
            {
                thread.Items = new List <InstaDirectInboxItem>();
                foreach (var item in SourceObject.Items)
                {
                    var converter = ConvertersFabric.GetDirectThreadItemConverter(item);
                    thread.Items.Add(converter.Convert());
                }
            }
            if (SourceObject.Users != null && SourceObject.Users.Count > 0)
            {
                thread.Users = new InstaUserShortList();
                foreach (var user in SourceObject.Users)
                {
                    var converter = ConvertersFabric.GetUserShortConverter(user);
                    thread.Users.Add(converter.Convert());
                }
            }
            return(thread);
        }
Ejemplo n.º 16
0
        public InstaComment Convert()
        {
            var comment = new InstaComment
            {
                BitFlags     = SourceObject.BitFlags,
                ContentType  = (InstaContentType)Enum.Parse(typeof(InstaContentType), SourceObject.ContentType, true),
                CreatedAt    = DateTimeHelper.UnixTimestampToDateTime(SourceObject.CreatedAt),
                CreatedAtUtc = DateTimeHelper.UnixTimestampToDateTime(SourceObject.CreatedAtUtc),
                LikesCount   = SourceObject.LikesCount,
                Pk           = SourceObject.Pk,
                Status       = SourceObject.Status,
                Text         = SourceObject.Text,
                Type         = SourceObject.Type,
                UserId       = SourceObject.UserId,
                User         = ConvertersFabric.GetUserConverter(SourceObject.User).Convert()
            };

            return(comment);
        }
        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);
        }
        public InstaUserTag Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var userTag = new InstaUserTag();

            if (SourceObject.Position?.Length == 2)
            {
                userTag.Position = new InstaPosition(SourceObject.Position[0], SourceObject.Position[1]);
            }
            userTag.TimeInVideo = SourceObject.TimeInVideo;
            if (SourceObject.User != null)
            {
                userTag.User = ConvertersFabric.GetUserShortConverter(SourceObject.User).Convert();
            }
            return(userTag);
        }
Ejemplo n.º 19
0
        public InstaFeed Convert()
        {
            if (SourceObject?.Items == null)
            {
                throw new ArgumentNullException("InstaFeedResponse or its Items");
            }
            var feed = new InstaFeed();

            foreach (var instaUserFeedItemResponse in SourceObject.Items)
            {
                if (instaUserFeedItemResponse?.Type != 0)
                {
                    continue;
                }
                var feedItem = ConvertersFabric.GetSingleMediaConverter(instaUserFeedItemResponse).Convert();
                feed.Medias.Add(feedItem);
            }
            feed.Medias.PageSize = SourceObject.Items.Count;
            return(feed);
        }
        public InstaStoryTray Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var storyTray = new InstaStoryTray
            {
                Id         = SourceObject.Id,
                IsPortrait = SourceObject.IsPortrait,
                TopLive    = ConvertersFabric.GetTopLiveConverter(SourceObject.TopLive).Convert()
            };

            foreach (var item in SourceObject.Tray)
            {
                var story = ConvertersFabric.GetStoryConverter(item).Convert();
                storyTray.Tray.Add(story);
            }
            return(storyTray);
        }
Ejemplo n.º 21
0
        public InstaUser Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var user = new InstaUser
            {
                InstaIdentifier = SourceObject.Id
            };

            if (!string.IsNullOrEmpty(SourceObject.FullName))
            {
                user.FullName = SourceObject.FullName;
            }
            if (!string.IsNullOrEmpty(SourceObject.ProfilePicture))
            {
                user.ProfilePicture = SourceObject.ProfilePicture;
            }
            if (!string.IsNullOrEmpty(SourceObject.UserName))
            {
                user.UserName = SourceObject.UserName;
            }
            if (!string.IsNullOrEmpty(SourceObject.Pk))
            {
                user.Pk = SourceObject.Pk;
            }
            if (SourceObject.Friendship != null)
            {
                user.FriendshipStatus = ConvertersFabric.GetFriendShipStatusConverter(SourceObject.Friendship)
                                        .Convert();
            }
            user.HasAnonymousProfilePicture = SourceObject.HasAnonymousProfilePicture;
            user.ProfilePictureId           = SourceObject.ProfilePictureId;
            user.IsVerified           = SourceObject.IsVerified;
            user.IsPrivate            = SourceObject.IsPrivate;
            user.UnseenCount          = SourceObject.UnseenCount;
            user.MutualFollowersCount = SourceObject.MutualFollowersCount;
            return(user);
        }
        public InstaRecentActivityFeed Convert()
        {
            var activityStory = new InstaRecentActivityFeed
            {
                Pk           = SourceObject.Pk,
                Type         = SourceObject.Type,
                ProfileId    = SourceObject.Args.ProfileId,
                ProfileImage = SourceObject.Args.ProfileImage,
                Text         = SourceObject.Args.Text,
                TimeStamp    = DateTimeHelper.UnixTimestampToDateTime(SourceObject.Args.TimeStamp)
            };

            if (SourceObject.Args.Links != null)
            {
                foreach (var instaLinkResponse in SourceObject.Args.Links)
                {
                    activityStory.Links.Add(new InstaLink
                    {
                        Start = instaLinkResponse.Start,
                        End   = instaLinkResponse.End,
                        Id    = instaLinkResponse.Id,
                        Type  = instaLinkResponse.Type
                    });
                }
            }
            if (SourceObject.Args.InlineFollow != null)
            {
                activityStory.InlineFollow = new InstaInlineFollow
                {
                    IsFollowing       = SourceObject.Args.InlineFollow.IsFollowing,
                    IsOutgoingRequest = SourceObject.Args.InlineFollow.IsOutgoingRequest
                };
                if (SourceObject.Args.InlineFollow.UserInfo != null)
                {
                    activityStory.InlineFollow.User =
                        ConvertersFabric.GetUserShortConverter(SourceObject.Args.InlineFollow.UserInfo).Convert();
                }
            }
            return(activityStory);
        }
Ejemplo n.º 23
0
        public InstaUser Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var shortConverter = ConvertersFabric.GetUserShortConverter(SourceObject);
            var user           = new InstaUser(shortConverter.Convert())
            {
                HasAnonymousProfilePicture = SourceObject.HasAnonymousProfilePicture,
                Biography               = SourceObject.Biography,
                Birthday                = SourceObject.Birthday,
                CountryCode             = SourceObject.CountryCode,
                NationalNumber          = SourceObject.NationalNumber,
                Email                   = SourceObject.Email,
                ExternalUrl             = SourceObject.ExternalURL,
                ShowConversionEditEntry = SourceObject.ShowConversationEditEntry,
                Gender                  = SourceObject.Gender,
                PhoneNumber             = SourceObject.PhoneNumber
            };

            if (SourceObject.HDProfilePicVersions?.Length > 0)
            {
                foreach (var imageResponse in SourceObject.HDProfilePicVersions)
                {
                    var converter = ConvertersFabric.GetImageConverter(imageResponse);
                    user.HdProfileImages.Add(converter.Convert());
                }
            }

            if (SourceObject.HDProfilePicture != null)
            {
                var converter = ConvertersFabric.GetImageConverter(SourceObject.HDProfilePicture);
                user.HdProfilePicture = converter.Convert();
            }

            return(user);
        }
Ejemplo n.º 24
0
        public InstaStoryFeed Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var feed = new InstaStoryFeed
            {
                FaceFilterNuxVersion = SourceObject.FaceFilterNuxVersion,
                HasNewNuxStory       = SourceObject.HasNewNuxStory,
                StickerVersion       = SourceObject.StickerVersion,
                StoryRankingToken    = SourceObject.StoryRankingToken
            };

            if (SourceObject.Tray != null)
            {
                foreach (var itemResponse in SourceObject.Tray)
                {
                    feed.Items.Add(ConvertersFabric.GetReelFeedConverter(itemResponse).Convert());
                }
            }
            return(feed);
        }
Ejemplo n.º 25
0
        public InstaStoryTray Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }

            var storyTray = new InstaStoryTray
            {
                Status            = SourceObject.Status,
                StickerVersion    = SourceObject.StickerVersion,
                StoryRankingToken = SourceObject.StoryRankingToken
            };

            if (SourceObject.Tray.Count > 0)
            {
                foreach (var story in SourceObject.Tray)
                {
                    storyTray.Tray.Add(ConvertersFabric.GetStoryConverter(story).Convert());
                }
            }

            return(storyTray);
        }
Ejemplo n.º 26
0
        public InstaStory Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var story = new InstaStory
            {
                CanReply           = SourceObject.CanReply,
                ExpiringAt         = DateTimeHelper.UnixTimestampToDateTime(SourceObject.ExpiringAt),
                Id                 = SourceObject.Id,
                LatestReelMedia    = SourceObject.LatestReelMedia,
                RankedPosition     = SourceObject.RankedPosition,
                Seen               = SourceObject.Seen,
                SeenRankedPosition = SourceObject.SeenRankedPosition,
                SourceToken        = SourceObject.SourceToken
            };

            if (SourceObject.User != null)
            {
                story.User = ConvertersFabric.GetUserConverter(SourceObject.User).Convert();
            }
            return(story);
        }
Ejemplo n.º 27
0
        public InstaStory Convert()
        {
            if (SourceObject == null)
            {
                throw new ArgumentNullException($"Source object");
            }
            var story = new InstaStory
            {
                CanReply           = SourceObject.CanReply,
                ExpiringAt         = DateTimeHelper.UnixTimestampToDateTime(SourceObject.ExpiringAt),
                Id                 = SourceObject.Id,
                LatestReelMedia    = SourceObject.LatestReelMedia,
                RankedPosition     = SourceObject.RankedPosition,
                Seen               = SourceObject.Seen,
                SeenRankedPosition = SourceObject.SeenRankedPosition,
                Muted              = SourceObject.Muted,
                SourceToken        = SourceObject.SourceToken,
                PrefetchCount      = SourceObject.PrefetchCount,
                SocialContext      = SourceObject.SocialContext
            };

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

            if (SourceObject.Items?.Count > 0)
            {
                foreach (var InstaStory in SourceObject.Items)
                {
                    story.Items.Add(ConvertersFabric.GetStoryItemConverter(InstaStory).Convert());
                }
            }

            return(story);
        }
        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);
        }
Ejemplo n.º 29
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);
        }
Ejemplo n.º 30
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);
        }