コード例 #1
0
        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();
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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;
        }
コード例 #4
0
ファイル: ImageFacade.cs プロジェクト: dhq-boiler/Sunctum
        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);
        }