Exemplo n.º 1
0
        public async Task <List <PlaylistData> > GetPlayListsData()
        {
            // Get the current user's MAC
            var macId = await _settingsDataService.GetCurrentMobileConfigurationID();

            // Get the current User ID
            var userId = _userSessionService.GetCurrentUserId();

            // Get the Playlists (by user and mac)
            var playlists = await _featuredPlaylistDataService.GetAllFeaturedPlaylistsByMAC(macId, userId);

            var playlistsIDs     = playlists.Select(p => p.Id);
            var playlistsContent = await _featuredPlaylistDataService.GetPlaylistContent(playlistsIDs);

            var contentsIDs = playlistsContent.Select(pc => pc.ContentId15);
            var content     = await _documentInfoDataService.GetContentDocumentsById15(contentsIDs);

            var documentsList = playlistsContent.Join(content, pc => pc.ContentId15, cd => cd.Document.Id15, (pc, cd) => new { PlaylistContent = pc, Document = cd });


            return(playlists
                   .GroupJoin(documentsList, pl => pl.Id, dl => dl.PlaylistContent.PlasylistId, (pl, dl) => new PlaylistData {
                ID = pl.Id, __localId = pl.__localId, Name = pl.Name, IsEditable = pl.OwnerId == userId, OwnerId = pl.OwnerId, PlaylistItems = dl.Select(d => new MediaLink(d.Document, d.PlaylistContent)).OrderBy(d => d.Order).ToList()
            })
                   .OrderBy(pl => pl.Name)
                   .ToList());
        }
Exemplo n.º 2
0
        public virtual async Task <IUserContext> GetCurrentContextAsync()
        {
            var userId      = _userSessionService.GetCurrentUserId();
            var userContext = await GetUserContextByIdAsync(userId);

            return(userContext);
        }
Exemplo n.º 3
0
        public async Task <string> GetCurrentMobileConfigurationID()
        {
            var userId = _userSessionService.GetCurrentUserId();

            if (string.IsNullOrEmpty(userId))
            {
                return(string.Empty);
            }

            var userSettings = await _userSettingsDataService.GetUserSettings(userId);

            if (userSettings == null)
            {
                return(string.Empty);
            }
            _currentMobileConfigurationID = userSettings.SelectedMobileConfigurationId;
            return(_currentMobileConfigurationID);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Get the connection context of the current user.
        /// </summary>
        public async Task <IUserContext> GetCurrentContextAsync()
        {
            if (_currentUserContext == null)
            {
                var userId = _userSessionService.GetCurrentUserId();
                await SetUserContextAsync(userId);
            }

            return(_currentUserContext);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get the connection context of the current user.
        /// </summary>
        public IUserContext GetCurrentContext()
        {
            if (!_isUserContextCached)
            {
                var userId = _userSessionService.GetCurrentUserId();
                SetUserContext(userId);
            }

            return(_userContext);
        }
        public async Task <List <ContentDocument> > GetMyLibraryContentDocuments()
        {
            return(await Task.Factory.StartNew(() =>
            {
                var globalStore = SmartStore.GetGlobalSmartStore();
                var userId = _userSessionService.GetCurrentUserId();
                var smartQuery = "SELECT {" + _soupName + ":_soup} FROM {" + _soupName + "} WHERE {" + _soupName + ":" + ContentDocument.OwnerIdIndexKey + "} = '" + userId + "' AND {" + _soupName + ":" + ContentDocument.PublishStatusIndexKey + "} ='R'";

                var querySpec = QuerySpec.BuildSmartQuerySpec(smartQuery, SfdcConfig.PageSize).RemoveLimit(globalStore);
                return globalStore
                .Query(querySpec, 0)
                .Select(item => CustomPrefixJsonConvert.DeserializeObject <ContentDocument>(item[0].ToObject <JObject>().ToString()))
                .ToList();
            }));
        }
Exemplo n.º 7
0
        public async Task <int?> Current(string userAreaCode)
        {
            int?userId;

            if (string.IsNullOrEmpty(userAreaCode))
            {
                userId = _userSessionService.GetCurrentUserId();
            }
            else
            {
                userId = await _userSessionService.GetUserIdByUserAreaCodeAsync(userAreaCode);
            }

            return(userId);
        }