//TOANTXSE
        //Get media Src List by Brand ID
        public static List <Models.MediaSrcUseVM> GetMediaSrcListByBrandIdAndStatus()
        {
            IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
            var mediaSrcUseVMs = new List <Models.MediaSrcUseVM>();
            var user           = Helper.GetCurrentUser();
            var mediaSrcList   = mediaSrcService.GetMediaSrcByBrand(user.BrandID);

            foreach (var item in mediaSrcList)
            {
                if (item.isPublic == true)
                {
                    var m = new Models.MediaSrcUseVM
                    {
                        Title       = item.Title,
                        Description = item.Description,
                        URL         = item.URL,
                        isPublic    = (bool)item.isPublic,
                        MediaSrcId  = item.MediaSrcID,
                        TypeId      = item.TypeID,
                    };
                    mediaSrcUseVMs.Add(m);
                }
            }
            return(mediaSrcUseVMs);
        }
        // GET: Playlist/Detail/:id
        public ActionResult Detail(int id)
        {
            IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
            IMediaSrcService     mediaSrcService     = DependencyUtils.Resolve <IMediaSrcService>();
            var playlistItems   = playlistItemService.GetMediaSrcByPlaylistId(id);
            var playlistItemVMs = new List <Models.PlaylistItemVM>();

            if (playlistItems != null)
            {
                foreach (var item in playlistItems)
                {
                    var p = new Models.PlaylistItemVM
                    {
                        playlistId     = item.PlaylistID,
                        mediaSrcId     = item.MediaSrcID,
                        displayOrder   = item.DisplayOrder,
                        duration       = item.Duration,
                        playlistItemId = item.PlaylistItemID,
                    };
                    var mediaSrc = mediaSrcService.GetById(item.MediaSrcID);
                    if (mediaSrc != null)
                    {
                        p.mediaSrcTitle = mediaSrc.Title;
                        p.URL           = mediaSrc.URL;
                        p.mediaType     = mediaSrc.TypeID;
                    }
                    playlistItemVMs.Add(p);
                }
            }
            ViewBag.playlistItemList = playlistItemVMs;
            return(View("Detail"));
        }
        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));
        }
예제 #5
0
        public ActionResult LoadMediaSrcInfo(int mediaSrcId)
        {
            IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
            var mediaSrc = mediaSrcService.GetById(mediaSrcId);

            return(Json(new
            {
                Id = mediaSrc.MediaSrcID,
                Description = mediaSrc.Description,
                Title = mediaSrc.Title,
                Duration = "00:00:00",
            }, JsonRequestBehavior.AllowGet));
        }
        //TrinhNNP
        //Get media Src List by playlist ID
        public static List <Models.PlaylistItemVM> GetMediaSrcListByPlaylistId(int playlistId)
        {
            IPlaylistItemService playlistItemService = DependencyUtils.Resolve <IPlaylistItemService>();
            IMediaSrcService     mediaSrcService     = DependencyUtils.Resolve <IMediaSrcService>();
            var itemList      = new List <Models.PlaylistItemVM>();
            var playlistItems = playlistItemService.GetMediaSrcByPlaylistId(playlistId);

            foreach (var item in playlistItems)
            {
                var p    = new Models.PlaylistItemVM();
                var pObj = mediaSrcService.GetById(item.MediaSrcID);
                p.mediaSrcTitle = pObj.Title;
                p.mediaSrcId    = pObj.MediaSrcID;
                p.URL           = pObj.URL;
                itemList.Add(p);
            }
            return(itemList);
        }
예제 #7
0
 public JsonResult CheckTypeMediaSrcInPlaylist(int id)
 {
     try
     {
         IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
         var mediaType = mediaSrcService.Get(id).TypeID;
         var mediaURL  = mediaSrcService.Get(id).URL;
         return(Json(new
         {
             mediaURL = mediaURL,
             mediaType = mediaType,
         }, 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;
     }
 }
예제 #9
0
        public ActionResult Index()
        {
            var user = System.Web.HttpContext.Current.User;

            ViewBag.Title       = "Digital Signage System";
            ViewBag.FullName    = user.Identity.Name;
            Session["username"] = user.Identity.Name;
            Session["userID"]   = user.Identity.GetUserId(); //GetUserId() only can be used when using Microsoft.AspNet.Identity;

            //Get Size Account
            IAspNetUserService aspNetUserService = DependencyUtils.Resolve <IAspNetUserService>();
            var users       = Helper.GetCurrentUser();
            var accountList = aspNetUserService.GetAccountsByBrandId(users.BrandID);
            var size        = accountList.Count;

            ViewBag.accountList = size;

            //ScreenList
            IScreenService screenSevice = DependencyUtils.Resolve <IScreenService>();
            var            screenList   = screenSevice.GetScreenIdByBrandId(users.BrandID);
            var            screenSize   = screenList.Count;

            ViewBag.screenList = screenSize;

            //BoxList
            IBoxService boxService = DependencyUtils.Resolve <IBoxService>();
            var         boxList    = boxService.GetBoxIdByBrandId(users.BrandID);
            var         boxSize    = boxList.Count;

            ViewBag.boxList = boxSize;

            //DeviceList
            IDeviceService deviceService = DependencyUtils.Resolve <IDeviceService>();
            var            deviceList    = deviceService.GetDeviceByBrandId(users.BrandID);
            var            deviceSize    = deviceList.Count;

            ViewBag.deviceList = deviceSize;

            //LocationList
            ILocationService locationService = DependencyUtils.Resolve <ILocationService>();
            var locationList = locationService.GetLocationIdByBrandId(users.BrandID);
            var locationSize = locationList.Count;

            ViewBag.locationList = locationSize;

            //MediaSrcList
            IMediaSrcService mediaSrcService = DependencyUtils.Resolve <IMediaSrcService>();
            var mediasrcList = mediaSrcService.GetMediaSrcByBrand(users.BrandID);
            var mediasrcSize = mediasrcList.Count;

            ViewBag.mediarsList = mediasrcSize;

            //PlaylistList
            IPlaylistService playlistService = DependencyUtils.Resolve <IPlaylistService>();
            var playlistList = playlistService.GetPlaylistIdByBrandId(users.BrandID);
            var playlistSize = playlistList.Count;

            ViewBag.playlistList = playlistSize;


            //ScenarioList
            IScenarioService scenarioService = DependencyUtils.Resolve <IScenarioService>();
            var scenarioList = scenarioService.GetScenarioIdByBrandId(users.BrandID);
            var scenarioSize = scenarioList.Count;

            ViewBag.scenarioList = scenarioSize;

            //ScheduleList
            IScheduleService scheduleService = DependencyUtils.Resolve <IScheduleService>();
            var scheduleList = scheduleService.GetScheduleIdByBrandId(users.BrandID);
            var scheduleSize = scheduleList.Count;

            ViewBag.scheduleList = scheduleSize;
            return(View());
        }