本文整理汇总了C#中MediaPortal.Plugins.MovingPictures.Database.DBMovieInfo.Commit方法的典型用法代码示例。如果您正苦于以下问题:C# DBMovieInfo.Commit方法的具体用法?C# DBMovieInfo.Commit怎么用?C# DBMovieInfo.Commit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MediaPortal.Plugins.MovingPictures.Database.DBMovieInfo
的用法示例。
在下文中一共展示了DBMovieInfo.Commit方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddWatchedHistory
public static void AddWatchedHistory(DBMovieInfo movie, DBUser user)
{
DBWatchedHistory history = new DBWatchedHistory();
history.DateWatched = DateTime.Now;
history.Movie = movie;
history.User = user;
movie.WatchedHistory.Add(history);
history.Commit();
movie.Commit();
}
示例2: Revert
public bool Revert(DBMovieInfo movie)
{
// attempt to rename the folder if needed
try {
if (movie.OriginalDirectoryName != String.Empty) {
DirectoryInfo originalDir = Utility.GetMovieBaseDirectory(movie.LocalMedia[0].File.Directory);
int lastDirSeperator = originalDir.FullName.LastIndexOf(Path.DirectorySeparatorChar);
string newDirName = originalDir.FullName.Remove(lastDirSeperator + 1) + movie.OriginalDirectoryName;
if (originalDir.FullName != newDirName) {
originalDir.MoveTo(newDirName);
movie.OriginalDirectoryName = String.Empty;
movie.Commit();
}
}
}
catch (Exception e) {
logger.ErrorException("Failed to revert renaming of directory: " + movie.LocalMedia[0].File.DirectoryName, e);
return false;
}
// wait a sec for directory changes to propagate.
Thread.Sleep(100);
foreach (DBLocalMedia currMedia in movie.LocalMedia) {
if (currMedia.OriginalFileName == String.Empty)
continue;
string fileName = Path.GetFileNameWithoutExtension(currMedia.FullPath);
string fileExt = Path.GetExtension(currMedia.FullPath);
string filePath = currMedia.File.DirectoryName;
// attempt to rename the file based on localMediaItem.OriginalFileName.
try {
File.Move(currMedia.FullPath, filePath + "\\" + currMedia.OriginalFileName + fileExt);
// look for additional files with the same name.
foreach (FileInfo currSubFile in currMedia.File.Directory.GetFiles(fileName + ".*")) {
File.Move(currSubFile.FullName, filePath + "\\" + currMedia.OriginalFileName + currSubFile.Extension);
Thread.Sleep(100);
}
// remove original file name from the DB.
currMedia.OriginalFileName = String.Empty;
}
catch (Exception e) {
logger.ErrorException("Failed to revert renaming of file: " + fileName, e);
return false;
}
}
return true;
}
示例3: movieDetailsUpdateWorker
private DBMovieInfo movieDetailsUpdateWorker(DBMovieInfo movie)
{
// indicate that we are doing some work here
setWorkingAnimationStatus(true);
logger.Info("Updating movie details for '{0}'", movie.Title);
MovingPicturesCore.DataProviderManager.Update(movie);
movie.Commit();
foreach (DBLocalMedia lm in movie.LocalMedia) {
lm.UpdateMediaInfo();
lm.Commit();
}
// indicate we are done
setWorkingAnimationStatus(false);
return movie;
}
示例4: movieArtworkUpdateWorker
private DBMovieInfo movieArtworkUpdateWorker(DBMovieInfo movie)
{
// indicate that we are doing some work here
setWorkingAnimationStatus(true);
logger.Info("Updating covers for '{0}'", movie.Title);
if (movie.CoverFullPath.Trim().Length == 0) {
MovingPicturesCore.DataProviderManager.GetArtwork(movie);
movie.Commit();
}
logger.Info("Updating backdrop for '{0}'", movie.Title);
if (movie.BackdropFullPath.Trim().Length == 0) {
new LocalProvider().GetBackdrop(movie);
MovingPicturesCore.DataProviderManager.GetBackdrop(movie);
movie.Commit();
}
// indicate we are done
setWorkingAnimationStatus(false);
return movie;
}
示例5: AssignFileToMovie
// Associates the given file(s) to the given movie object. Also creates all
// relevent user related data.
private void AssignFileToMovie(IList<DBLocalMedia> localMedia, DBMovieInfo movie, bool update)
{
if (localMedia == null || movie == null || localMedia.Count == 0)
return;
// loop through the local media files and clear out any movie assignments
foreach (DBLocalMedia currFile in localMedia) {
RemoveCommitedRelations(currFile);
}
// write the file(s) to the DB
int count = 1;
foreach (DBLocalMedia currFile in localMedia) {
currFile.Part = count;
currFile.Commit();
count++;
}
movie.LocalMedia.Clear();
movie.LocalMedia.AddRange(localMedia);
// update, associate, and commit the movie
if (update) {
MovingPicturesCore.DataProviderManager.Update(movie);
MovingPicturesCore.DataProviderManager.GetArtwork(movie);
MovingPicturesCore.DataProviderManager.GetBackdrop(movie);
}
foreach (DBLocalMedia currFile in localMedia)
currFile.CommitNeeded = false;
// create user related data object for each user
movie.UserSettings.Clear();
foreach (DBUser currUser in DBUser.GetAll()) {
DBUserMovieSettings userSettings = new DBUserMovieSettings();
userSettings.User = currUser;
userSettings.Commit();
movie.UserSettings.Add(userSettings);
userSettings.CommitNeeded = false;
}
movie.PopulateDateAdded();
movie.Commit();
}
示例6: CycleArtwork
private void CycleArtwork(DBMovieInfo movie, bool cycleBack = false)
{
if (movie == null) return;
if (cycleBack) {
movie.PreviousCover();
}
else {
movie.NextCover();
}
browser.AutoRefresh = false;
movie.Commit();
browser.AutoRefresh = true;
// update the new cover art in the facade
var listItem = browser.GetMovieListItem(movie);
if (listItem != null) {
listItem.IconImage = movie.CoverThumbFullPath.Trim();
listItem.IconImageBig = movie.CoverThumbFullPath.Trim();
listItem.RefreshCoverArt();
}
PublishArtwork(movie);
}