private void EnumerateImages(PageViewModel parent) { ImageDao imageDao = new ImageDao(); _images = imageDao.FindBy(new Dictionary <string, object>() { { "ID", parent.ImageID } }, _dataOpUnit.CurrentConnection, s_ANOTHER_DATABASE_ALIAS_NAME).ToViewModel(); }
private void ImportImageWithContents(ILibrary libManager, PageViewModel parent) { ImageDao imageDao = new ImageDao(); var images = imageDao.FindBy(new Dictionary <string, object>() { { "ID", parent.ImageID } }, _dataOpUnit.CurrentConnection, s_ANOTHER_DATABASE_ALIAS_NAME).ToViewModel(); foreach (var image in images) { ImportImage(parent, image); } }
private void ImportImage(PageViewModel parent, ImageViewModel image) { IDConversionDao idcDao = new IDConversionDao(); ImageDao imageDao = new ImageDao(); if (imageDao.FindBy(new Dictionary <string, object>() { { "ID", parent.ImageID } }, _dataOpUnit.CurrentConnection).Count() > 0) { //対象ライブラリのエンティティを新規IDでインポートする。取込側ライブラリに新規IDと旧IDを記録する。 Guid newGuid = Guid.NewGuid(); idcDao.Insert(new Data.Entity.Migration.IDConversion("Image", newGuid, image.ID), _dataOpUnit.CurrentConnection); image.ID = newGuid; } CopyFile(image, parent.BookID); imageDao.Insert(image.ToEntity(), _dataOpUnit.CurrentConnection); parent.Image = image; }
public static ImageViewModel FindBy(Guid id, DataOperationUnit dataOpUnit = null, int challengeMaxCount = 3) { List <Exception> trying = new List <Exception>(); while (trying.Count() < challengeMaxCount) { try { ImageDao dao = new ImageDao(); return(dao.FindBy(new Dictionary <string, object>() { { "ID", id } }, dataOpUnit?.CurrentConnection).SingleOrDefault().ToViewModel()); } catch (SQLiteException e) { trying.Add(e); Thread.Sleep(500); continue; } } throw new QueryFailedException($"設定回数({challengeMaxCount})の問い合わせに失敗しました.", trying); }