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