Beispiel #1
0
        private bool CheckManifestForUpdates(LibrarianContentManifest librarianContentManifest, CheckUpdateDto fileInfo)
        {
            bool updatesExist = CheckContentForUpdates(librarianContentManifest.ContentType, DateTime.Parse(librarianContentManifest.LastModDate), fileInfo);

            if (!updatesExist && (librarianContentManifest.ContentType == ContentType.GlobalFavorite || librarianContentManifest.ContentType == ContentType.MyFavorite))
            {
                foreach (var contentItem in librarianContentManifest.Items)
                {
                    LibraryFileInfoEx libraryFileInfo = _filesService.GetFileInfo(fileInfo);
                    updatesExist = libraryFileInfo.LastModDate > DateTime.Parse(contentItem.LastModDate);

                    //if (!updatesExist && contentItem.EditItem != null)
                    //{
                    //    SlidePreviewRequestEx slidePreviewRequestEx = session.LibrarianRpc.GetVirtualPresentationItemEdits(contentItem.EditItem.LinkId, contentItem.SlideId);
                    //    updatesExist = slidePreviewRequestEx.LastModDate > contentItem.EditItem.LastModDate;
                    //}

                    if (updatesExist)
                    {
                        break;               // exit loop
                    }
                }
            }

            return(updatesExist);
        }
Beispiel #2
0
        private bool CheckContentForUpdates(ContentType contentType, DateTime lastModDateUtc, CheckUpdateDto fileInfo)
        {
            bool updatesExist = false;

            if (contentType == ContentType.File)
            {
                LibraryFileInfoEx libraryFileInfoEx = _filesService.GetFileInfo(fileInfo);
                if (libraryFileInfoEx == null)
                {
                    isExcuted = false;
                    return(updatesExist);
                }
                updatesExist = libraryFileInfoEx.LastModDate > lastModDateUtc;

                LibraryCategoryInfo libraryCategoryInfo = Utils.GetCategoryInfoForFile(_categoryService, fileInfo, libraryFileInfoEx.FileId, !libraryFileInfoEx.IsUserFile);
                isLibraryFile = !libraryCategoryInfo.Type.IsUserCategory();
            }
            else
            {
                if (contentType == ContentType.GlobalFavorite)
                {
                    //ContentGroupInfo contentGroupInfo = da.LibrarianRpc.GetContentGroupInfo(contentId);
                    //updatesExist = contentGroupInfo.LastModDate > lastModDateUtc;
                }
                else if (contentType == ContentType.MyFavorite)
                {
                    //VirtualPresentation virtualPresentation = session.LibrarianRpc.GetVirtualPresentation(contentId);
                    //updatesExist = virtualPresentation.CreatedDate > lastModDateUtc;
                }
            }

            return(updatesExist);
        }
        public LibraryFileInfoEx GetFileInfo(CheckUpdateDto data)
        {
            LibraryFileInfoEx libraryFileInfoEx = new LibraryFileInfoEx();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{data.ServerInfo.WebClientUrl}{data.ServerInfo.ShortLibraryName}/Default.ashx?m=getfi&fid={data.FileId}&useweb=true?out=xml");

            request.Method = "GET";
            request.Headers.Add("Authorization", data.ServerInfo.AuthHash);
            request.Proxy.Credentials = CredentialCache.DefaultCredentials;

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    var responseStream    = Helper.ReadResponseAsStream(response);
                    var responseXMLString = Helper.ReadResponseAsString(responseStream);
                    libraryFileInfoEx = Helper.DeserializeXmlResponse <LibraryFileInfoEx>(responseXMLString);
                }
            }
            catch (Exception ex)
            {
                return(null);
            }


            return(libraryFileInfoEx);
        }