public JsonResult CheckMediaIdIsUsed(int id)
 {
     try
     {
         //Get device by screen Id
         IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
         IPlaylistService     playlistService     = DependencyUtils.Resolve <IPlaylistService>();
         var playlistItem    = playlistItemService.Get().ToList();
         var playlist        = playlistService.Get().ToList();
         var playlistItemVMs = new List <Models.PlaylistItemVM>();
         var playlistVMs     = new List <Models.PlaylistDetailVM>();
         //check mediaSrcId have in playlistItem
         foreach (var item in playlistItem)
         {
             if (item.MediaSrcID == id)
             {
                 var b = new Models.PlaylistItemVM
                 {
                     playlistId = item.PlaylistID,
                 };
                 playlistItemVMs.Add(b);
             }
         }
         // if playlistItemVMs != null, get Playlist Title by playlistID
         if (playlistItemVMs.Count != 0)
         {
             foreach (var item in playlistItemVMs)
             {
                 foreach (var itemPlaylist in playlist)
                 {
                     if (item.playlistId == itemPlaylist.PlaylistID)
                     {
                         var b = new Models.PlaylistDetailVM
                         {
                             Title = itemPlaylist.Title,
                         };
                         playlistVMs.Add(b);
                     }
                 }
             }
         }
         return(Json(new
         {
             isUsing = playlistItemVMs.Count != 0,
             playlistVMlist = playlistVMs,
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public JsonResult GetUrlAllMediaSrc()
 {
     try
     {
         IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
         var playlistItem = playlistItemService.Get().ToList();
         IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
         var mediaType = mediaSrcService.Get(playlistItem).TypeID;
         var mediaURL  = mediaSrcService.Get(playlistItem).URL;
         return(Json(new
         {
             mediaURL = mediaURL,
             mediaType = mediaType,
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #3
0
        public async System.Threading.Tasks.Task <ActionResult> Update(Models.PlaylistCRUDVM model)
        {
            if (ModelState.IsValid)
            {
                var playlist = this.playlistService.Get(model.Id);
                if (playlist != null)
                {
                    playlist.Title          = model.Title;
                    playlist.Description    = model.Description;
                    playlist.isPublic       = model.isPublic;
                    playlist.UpdateDateTime = DateTime.Now;
                }
                await this.playlistService.UpdateAsync(playlist);

                IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
                /* Remove old items of playlist*/
                List <DSS.Data.Models.Entities.PlaylistItem> items = playlistItemService.Get(a => a.PlaylistID == model.Id).ToList();
                foreach (var item in items)
                {
                    await playlistItemService.DeleteAsync(item);
                }
                /* Add item to playlist*/
                IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
                if (model.AddedElements.Length > 0)
                {
                    var i = 0;
                    foreach (var item in model.AddedElements)
                    {
                        var playlistItem = new Data.Models.Entities.PlaylistItem
                        {
                            PlaylistID   = playlist.PlaylistID,
                            MediaSrcID   = item.ItemId,
                            DisplayOrder = i++,
                        };
                        var mediaSrcType = mediaSrcService.GetById(item.ItemId).MediaType.TypeID;
                        if (mediaSrcType != 1)
                        {
                            //playlistItem.Duration = GetVideoDuration(mediaSrcService.GetById(item.ItemId).URL);
                            playlistItem.Duration = 0;
                        }
                        else
                        {
                            var duration = TimeSpan.Parse(item.ItemDuration);
                            playlistItem.Duration = Convert.ToInt32(duration.TotalSeconds);
                        }
                        await playlistItemService.CreateAsync(playlistItem);

                        Session.Clear();
                        Session["UPDATE_RESULT"] = true;
                    }
                }
                return(Json(new
                {
                    success = true,
                    url = "/AdvancedPlaylist/Index",
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                success = false,
            }, JsonRequestBehavior.AllowGet));
        }