public async System.Threading.Tasks.Task <ActionResult> Add(Models.PlaylistCRUDVM model)
        {
            if (ModelState.IsValid)
            {
                var user     = Helper.GetCurrentUser();
                var playlist = new Data.Models.Entities.Playlist
                {
                    Title          = model.Title,
                    Description    = model.Description,
                    BrandID        = user.BrandID,
                    isPublic       = model.isPublic,
                    VisualTypeID   = model.VisualTypeID,
                    UpdateDateTime = DateTime.Now,
                };
                await this.playlistService.CreateAsync(playlist);

                /* Add item to playlist*/
                IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
                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["ADD_RESULT"] = true;
                    }
                }
                return(Json(new
                {
                    success = true,
                    url = "/Playlist/Index",
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                success = false,
            }, JsonRequestBehavior.AllowGet));
        }
        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;
                }
                await this.playlistService.UpdateAsync(playlist);

                /* Add item to playlist*/
                IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
                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);
                    }
                }
                return(Json(new
                {
                    success = true,
                    url = "/Playlist/Index",
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                success = false,
            }, JsonRequestBehavior.AllowGet));
        }