private async Task StopShowingMedia(MediaLink media)
        {
            if (media == null)
            {
                return;
            }

            var viewedSecond = (DateTime.Now - _startTime).TotalSeconds;

            // Clean up related content
            _relatedContent.Clear();
            Messenger.Default.Send(new RelatedContentMessage(_relatedContent));

            if (_presentationDataService.IsPresentationStarted())
            {
                var contentReview = new ContentReview
                {
                    ContentId       = media.ID,
                    ContentTitle    = media.Name,
                    PlaylistId      = _selectedPlayListId,
                    ContactId       = string.Empty,
                    DocumentEmailed = _contentEmailed,
                    Rating          = 0,
                    TimeViewed      = viewedSecond
                };
                _presentationDataService.AddContentReview(new ContentReviewInfo {
                    MediaLink = media, ContentReview = contentReview
                });
            }
            else
            {
                await _contentReviewDataService.SaveCompleteReviewToSoup(_media, _contentEmailed, viewedSecond, _selectedPlayListId, string.Empty);
            }
            Media = null;
        }
        public async Task <bool> AddToPlaylist(string playlistID, MediaLink media)
        {
            //set order value, new content should be added at the end
            double?orderValue;
            var    playlistsContent = await _featuredPlaylistDataService.GetPlaylistContent(new List <string>() { playlistID });

            if (playlistsContent.Any(pc => pc.Order != null))
            {
                orderValue = playlistsContent.Max(pc => pc.Order);
                orderValue++;
            }
            else
            {
                orderValue = playlistsContent.Count + 1;
            }

            PlaylistContent playlistContent = new PlaylistContent
            {
                ContentId   = media.ID,
                PlasylistId = playlistID,
                Name        = media.Name,
                Order       = orderValue
            };
            var result = await _featuredPlaylistDataService.SavePlaylistContent(playlistContent);

            var returnValue = result != null;

            if (returnValue)
            {
                await SyncUpNewPlaylist(true);
            }

            return(returnValue);
        }
Beispiel #3
0
        private static Document BuildMessage(string imageUri, string text, string link)
        {
            var req = WebRequest.Create(imageUri);

            req.Method = "HEAD";
            var size = 350;

            using (WebResponse resp = req.GetResponse())
            {
                int ContentLength;
                if (int.TryParse(resp.Headers.Get("Content-Length"), out ContentLength))
                {
                    size = ContentLength;
                }
            }
            var result = new MediaLink
            {
                Text        = text,
                PreviewType = MediaType.Parse("image/jpeg"),
                PreviewUri  = new Uri(imageUri),
                Uri         = new Uri(link),
                Type        = MediaType.Parse("image/jpeg"),
                Size        = size
            };

            return(result);
        }
Beispiel #4
0
        private async Task GetUserAsync(string text, Node from, CancellationToken cancellationToken)
        {
            GitUser user = await _gitService.GetUser(text);

            if (user != null)
            {
                var contact = await _contactService.GetContactAsync(from, cancellationToken);

                contact.Name     = user.Name;
                contact.PhotoUri = new Uri(user.AvatarUrl);
                var navParams = new Dictionary <string, string>()
                {
                    { "varName", "content" }
                };
                await _contactService.SetContactAsync(contact, from, cancellationToken);

                var d = new MediaLink()
                {
                    Title       = user.Name,
                    Text        = "Olha aqui seu avatar kaka fei pa carai",
                    Type        = MediaType.Parse("image/jpeg"),
                    AspectRatio = "1:1",
                    Uri         = contact.PhotoUri
                };

                await _sender.SendMessageAsync(d, from, cancellationToken);

                await _mpaService.SendToMPAAsync(user.Name, from, cancellationToken, navParams);
            }
            else
            {
                await _sender.SendMessageAsync("Não tem ninguém com esse usuário no git.", from, cancellationToken);
            }
        }
        public static async Task <ImageSource> GetIconAsync(MediaLink media, int widthPixels)
        {
            if (!string.IsNullOrEmpty(media.ContentThumbnail))
            {
                var tmb = await ImageUtil.GetImageSouceAndRelease(media.ContentThumbnail, widthPixels);

                if (tmb != null)
                {
                    return(tmb);
                }
            }
            if (media.Type == MediaType.Image ||
                media.Type == MediaType.Video ||
                media.Type == MediaType.MP4 ||
                media.Type == MediaType.PDF)
            {
                var tmb = ImageUtil.GetImageSouce(media.Thumbnail);
                if (tmb != null)
                {
                    return(tmb);
                }
            }

            return(TypeIconResolver.GetIcon(media.Type));
        }
Beispiel #6
0
        private static void objeProc(StructParseContext context, int linedex, char level)
        {
            MediaLink mlink = MediaStructParse.MediaParser(context, linedex, level);
            SourceCit cit   = (context.Parent as SourceCit);

            cit.Media.Add(mlink);
        }
        public static ImageSource GetIcon(MediaLink media)
        {
            if (!string.IsNullOrEmpty(media.ContentThumbnail))
            {
                var tmb = ImageUtil.GetImageSouce(media.ContentThumbnail);
                if (tmb != null)
                {
                    return(tmb);
                }
            }

            if (media.Type == MediaType.Image ||
                media.Type == MediaType.Video ||
                media.Type == MediaType.MP4 ||
                media.Type == MediaType.PDF)
            {
                var tmb = ImageUtil.GetImageSouce(media.Thumbnail);
                if (tmb != null)
                {
                    return(tmb);
                }
            }

            return(TypeIconResolver.GetIcon(media.Type));
        }
Beispiel #8
0
        public async Task SaveCompleteReviewToSoup(MediaLink mediaLink, bool emailed, double viewedTime, string playListId, string contactId)
        {
            await DispatcherHelper.RunAsync(async() =>
            {
                var location = await _geolocationService.GetLocation();
                var store    = SmartStore.GetGlobalSmartStore();
                SetupSoupIfNotExistsNeeded(store, SoupName);

                var contentReview = new ContentReview
                {
                    ContentId            = mediaLink.ID,
                    ContentTitle         = mediaLink.Name,
                    PlaylistId           = string.IsNullOrWhiteSpace(playListId) ? string.Empty : playListId,
                    ContactId            = string.IsNullOrWhiteSpace(contactId) ? string.Empty : contactId,
                    GeolocationLatitude  = location.Latitude,
                    GeolocationLongitude = location.Longitude,
                    DocumentEmailed      = emailed,
                    Rating     = 0,
                    TimeViewed = viewedTime
                };

                SaveReview(store, contentReview);
                SyncUpContentReview();
            });
        }
Beispiel #9
0
 private static MediaFile getFile(MediaLink dad)
 {
     if (dad.Files.Count == 0)
     {
         dad.Files.Add(new MediaFile());
     }
     return(dad.Files[dad.Files.Count - 1]);
 }
Beispiel #10
0
        private static void mediProc(StructParseContext ctx, int linedex, char level)
        {
            // HACK assuming here the MEDI tag follows a FORM tag, using the last FILE object
            MediaLink mlink = (ctx.Parent as MediaLink);
            MediaFile file  = mlink.Files[mlink.Files.Count - 1];

            file.Type = ctx.Remain;
        }
Beispiel #11
0
        private static void formProc(StructParseContext ctx, int linedex, char level)
        {
            // FORM may or may not follow an owning FILE tag
            MediaLink mlink = (ctx.Parent as MediaLink);
            MediaFile file  = getFile(mlink);

            file.Form = ctx.Remain;
        }
        public async Task <bool> RemoveFromPlaylist(string playlistID, MediaLink media)
        {
            var result = await _featuredPlaylistDataService.RemovePlaylistContent(media.JunctionID);

            await SyncUpNewPlaylist(true);

            return(result);
        }
Beispiel #13
0
 public static MediaSmall FromMediaLink(MediaLink mediaLink, string imageServer)
 {
     return(new MediaSmall
     {
         ResType = Enum.Parse <ResType>(mediaLink.ResType),
         ResUri = mediaLink.ResUri.AddServerAddress(imageServer)
     });
 }
 public CategoryMediaViewModel(
     MediaLink media,
     ImageSource backgroundImage,
     NavigateToMediaCommand navigateToMediaCommand)
 {
     _media                 = media;
     BackgroundImage        = backgroundImage;
     NavigateToMediaCommand = navigateToMediaCommand;
 }
Beispiel #15
0
 public AddNewPlaylistViewModel(
     MediaLink media,
     IPlaylistDataService playlistDataService,
     ObservableCollection <MediaPlaylistViewModel> collection)
 {
     _media = media;
     _playlistDataService = playlistDataService;
     _collection          = collection;
 }
Beispiel #16
0
        public async Task <StorageFile> GetMediaFile(MediaLink media)
        {
            if (media.Type == MediaType.Url)
            {
                return(null);
            }

            return(await StorageFile.GetFileFromApplicationUriAsync(new Uri(media.Source)));
        }
Beispiel #17
0
 public MediaCardBody(string text, string title = "")
 {
     Value = new MediaLink
     {
         AspectRatio = "1:1",
         Title       = title,
         Text        = text
     };
 }
        public MediaLink getPDF()
        {
            var document = new MediaLink
            {
                Uri = new Uri("http://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf"),
            };

            return(document);
        }
 private void HandleNotSupportedMedia(MediaLink media)
 {
     if (media != null && media.IsSupported == false)
     {
         DispatcherHelper.CheckBeginInvokeOnUI(() =>
         {
             OpenInExternalAppCommand.Execute(this);
         });
     }
 }
 public MediaPlaylistViewModel(
     PlaylistData playlist,
     MediaLink media,
     IPlaylistDataService playlistDataService)
 {
     _playlist            = playlist;
     _media               = media;
     _playlistDataService = playlistDataService;
     IsInPlaylist         = playlist.PlaylistItems.Any(m => m.ID == media.ID);
 }
        public MediaLink getVideo()
        {
            var document = new MediaLink
            {
                Type = MediaType.Parse("video/mp4"),
                Uri  = new Uri("http://techslides.com/demos/sample-videos/small.mp4"),
            };

            return(document);
        }
        public MediaLink getAudio()
        {
            var document = new MediaLink
            {
                Type = MediaType.Parse("audio/mp3"),
                Uri  = new Uri("http://blaamandagjazzband.dk/jazz/mp3/basin_street_blues.mp3"),
            };

            return(document);
        }
Beispiel #23
0
        public static Document CreateIrisDocument(string url, string mimeType, string remoteId, string message, int size = 0, string title = null)
        {
            Document doc = null;

            try
            {
                var type    = mimeType.Split('/')[0];
                var subtype = mimeType.Split('/')[1];

                if ((type == "image") || (type == "audio"))
                {
                    string mediaUrl = url;
                    //string
                    if (size == 0)
                    {
                        mediaUrl = shortenUrl(getMediaBucketMediaUrl(remoteId, out size));
                    }


                    doc = new MediaLink
                    {
                        Text        = message.Trim(),
                        Type        = new MediaType(type, subtype),
                        PreviewType = new MediaType(type, subtype),
                        Uri         = new Uri(mediaUrl),
                        PreviewUri  = new Uri(mediaUrl),
                        Size        = size
                    };

                    //If has title
                    if (!String.IsNullOrEmpty(title))
                    {
                        ((MediaLink)doc).Title = title;
                    }
                }
                else
                {
                    doc = new WebLink
                    {
                        Text = message.Trim(),
                        Uri  = new Uri(url)
                    };

                    if (!String.IsNullOrEmpty(title))
                    {
                        ((WebLink)doc).Title = title;
                    }
                }
            }
            catch (Exception ex)
            {
            }

            return(doc);
        }
        private ImageSource GetMailIcon(MediaLink media, bool contentEmailed)
        {
            if (media.IsShareable == false)
            {
                return(_emailDisableIcon);
            }

            return(contentEmailed
                        ? _emailCheckedIcon
                        : _emailEnableIcon);
        }
Beispiel #25
0
        private object GetMailToLine(MediaLink media, bool includeName)
        {
            if (media.Type == MediaType.Url)
            {
                return(media.Source);
            }

            return(includeName
                    ? $"{media.Name}: {media.DistributionPublicUrl}"
                    : $"{media.DistributionPublicUrl}");
        }
Beispiel #26
0
 public async Task ShareMedia(MediaLink media)
 {
     if (SfdcConfig.EmailOnlyContentDistributionLinks)
     {
         await UseMailTo(media);
     }
     else
     {
         await UseDataTransfer(media);
     }
 }
Beispiel #27
0
 public MediaItem(
     MediaLink media,
     NavigateToMediaCommand navigationCommand,
     bool isInternalMode
     )
     : base(media.ID, media.Name, isInternalMode)
 {
     _media             = media;
     _navigationCommand = navigationCommand;
     IsInternalMode     = isInternalMode;
     LoadTypeLogo();
 }
        public static MediaLink CreateVideo(string urlVideo)
        {
            var videoUri = new Uri(Uri.EscapeUriString(urlVideo));
            var document = new MediaLink();

            document.Text       = "";
            document.Type       = MediaType.Parse("video/*");
            document.PreviewUri = videoUri;
            document.Uri        = videoUri;

            return(document);
        }
        public MediaLink getGif()
        {
            var imageUri =
                new Uri("http://i.giphy.com/14aUO0Mf7dWDXW.gif");

            var document = new MediaLink
            {
                Type = "image/gif",
                Uri  = imageUri
            };

            return(document);
        }
        public static MediaLink GENERIC_CreateVideoDocument(string urlVideo, string title = null, string subtitle = null)
        {
            var videoUri = new Uri(Uri.EscapeUriString(urlVideo));

            var document = new MediaLink();

            document.Title      = title.IsNullOrWhiteSpace() ? null : title;
            document.Text       = subtitle.IsNullOrWhiteSpace() ? null : subtitle;
            document.Type       = MediaType.Parse("video/*");
            document.PreviewUri = videoUri;
            document.Uri        = videoUri;

            return(document);
        }