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)); }