コード例 #1
0
        public CardWrapper(
            ICardTypeDataAccess cardTypeDataAccess,
            IImageDataAccess imageDataAccess,
            IHardLinkDataAccess hardLinkDataAccess,
            IPropertyDataAccess propertyDataAccess,
            int cardId,
            int cardTypeId,
            int?primaryImageId)
        {
            _cardType = new PropWrapper <CardType>(
                () => cardTypeDataAccess.Get(cardTypeId));

            _primaryImage = new PropWrapper <Image>(
                () => primaryImageId.HasValue ? imageDataAccess.Get(primaryImageId.Value) : null);

            _additionalImages = new PropWrapper <List <Image> >(
                () => new List <Image>(imageDataAccess.GetByCardId(cardId)));

            _hardLinks = new PropWrapper <List <HardLink> >(
                () => new List <HardLink>(hardLinkDataAccess.GetHardLinksByOriginId(cardId)));

            _referencedBy = new PropWrapper <List <HardLink> >(
                () => new List <HardLink>(hardLinkDataAccess.GetHardLinksByTargetId(cardId)));

            _props = new PropWrapper <List <Property> >(
                () => new List <Property>(propertyDataAccess.GetPropertiesByCardId(cardId)));
        }
コード例 #2
0
ファイル: CardTypeWrapper.cs プロジェクト: MDLeide/dnd
 public CardTypeWrapper(IImageDataAccess imageDataAccess, IPropertyTypeDataAccess propertyTypeDataAccess, int cardTypeId, int imageId)
 {
     Id             = cardTypeId;
     _image         = new PropWrapper <Image>(() => imageDataAccess.Get(imageId));
     _propertyTypes = new PropWrapper <List <PropertyType> >(() =>
                                                             new List <PropertyType>(propertyTypeDataAccess.GetPropertyTypesByCardTypeId(Id.Value)));
 }
コード例 #3
0
 public CardDataAccess(
     ICardTypeDataAccess cardTypeDataAccess,
     IHardLinkDataAccess hardLinkDataAccess,
     IImageDataAccess imageDataAccess,
     IPropertyDataAccess propertyDataAccess)
 {
     CardTypeDataAccess = cardTypeDataAccess;
     HardLinkDataAccess = hardLinkDataAccess;
     ImageDataAccess    = imageDataAccess;
     PropertyDataAccess = propertyDataAccess;
 }
コード例 #4
0
        public async Task InsertImage()
        {
            IImageDataAccess imageDataAccess = Setup();

            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var id   = Guid.NewGuid();
                var rows = await imageDataAccess.SaveImageAsync(new ImageRepServiceLibrary.Model.Image()
                {
                    Id          = id,
                    Name        = "Bob",
                    Description = "A picture of Bob",
                    Picture     = "dfdsgfs",
                    DateCreated = DateTime.Now,
                    Tags        = new List <Tag>()
                    {
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Person",
                            ImageKey = id
                        },
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Friend",
                            ImageKey = id
                        }
                    }
                });

                Assert.Equal(3, rows);



                id   = Guid.NewGuid();
                rows = await imageDataAccess.SaveImageAsync(new ImageRepServiceLibrary.Model.Image()
                {
                    Id          = id,
                    Name        = "Ozzy the puppy",
                    Description = "A picture of Ozzy when he was 3 months old",
                    Picture     = "vdfgdgfdsf",
                    DateCreated = DateTime.Now
                });

                Assert.Equal(1, rows);
                if (_commiteToDB)
                {
                    scope.Complete();
                }
            }
        }
コード例 #5
0
        public async Task RemoveImage()
        {
            IImageDataAccess imageDataAccess = Setup();

            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var id = Guid.NewGuid();
                await imageDataAccess.SaveImageAsync(new ImageRepServiceLibrary.Model.Image()
                {
                    Id          = id,
                    Name        = "Bob",
                    Description = "A picture of Bob",
                    Picture     = "dfdsgfs",
                    DateCreated = DateTime.Now,
                    Tags        = new List <Tag>()
                    {
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Person",
                            ImageKey = id
                        },
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Friend",
                            ImageKey = id
                        }
                    }
                });

                int count = await imageDataAccess.DeleteImageAsync(id);

                Assert.Equal(3, count);

                id    = new Guid();
                count = await imageDataAccess.DeleteImageAsync(id);

                Assert.Equal(0, count);


                if (_commiteToDB)
                {
                    scope.Complete();
                }
            }
        }
コード例 #6
0
        public async Task SearchImages()
        {
            IImageDataAccess imageDataAccess = Setup();

            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var imageList = GenerateImages();

                foreach (var item in imageList)
                {
                    await imageDataAccess.SaveImageAsync(item);
                }

                var imagesFromDb = await imageDataAccess.SearchImagesAsync(false, tagName : "Dog");

                Assert.Equal(2, imagesFromDb.Count());

                imagesFromDb = await imageDataAccess.SearchImagesAsync(false, name : "png");

                Assert.Equal(2, imagesFromDb.Count());

                imagesFromDb = await imageDataAccess.SearchImagesAsync(false, description : " ");

                Assert.Equal(4, imagesFromDb.Count());


                imagesFromDb = await imageDataAccess.SearchImagesAsync(false, name : "png", tagName : "Dog");

                Assert.Equal(2, imagesFromDb.Count());

                imagesFromDb = await imageDataAccess.SearchImagesAsync(true, name : "png", tagName : "dog ", description : "family");

                Assert.Single(imagesFromDb);
                Assert.Equal(imagesFromDb.First(), imageList[2]);

                if (_commiteToDB)
                {
                    scope.Complete();
                }
            }
        }
コード例 #7
0
        public async Task InsertImages()
        {
            IImageDataAccess imageDataAccess = Setup();

            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var imageList = GenerateImages();

                int rows = 0;

                foreach (var item in imageList)
                {
                    rows += await imageDataAccess.SaveImageAsync(item);
                }
                Assert.Equal(21, rows);

                if (_commiteToDB)
                {
                    scope.Complete();
                }
            }
        }
コード例 #8
0
 public CardTypeDataAccess(IImageDataAccess imageDataAccess, IPropertyTypeDataAccess propertyTypeDataAccess)
 {
     ImageDataAccess        = imageDataAccess;
     PropertyTypeDataAccess = propertyTypeDataAccess;
 }
コード例 #9
0
 public ImageManager(IConfiguration configuration)
 {
     _imageDataAccess = new ImageDataAccess(new TagDataAccess(configuration), configuration);
 }
コード例 #10
0
ファイル: ImageBLL.cs プロジェクト: oshalygin/SolutionPub
 public ImageBLL(IImageDataAccess imageDataAccess, IImageUtility imageUtility)
 {
     _imageDataAcces = imageDataAccess;
     _imageUtility = imageUtility;
 }
コード例 #11
0
        public async Task LoadSingleImage()
        {
            IImageDataAccess imageDataAccess = Setup();

            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var   id        = Guid.NewGuid();
                Image testImage = new Image()
                {
                    Id          = id,
                    Name        = "Bob",
                    Description = "A picture of Bob",
                    Picture     = "dfdsgfs",
                    DateCreated = DateTime.Now,
                    Tags        = new List <Tag>()
                    {
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Person",
                            ImageKey = id
                        },
                        new Tag()
                        {
                            TagId    = Guid.NewGuid(),
                            Name     = "Friend",
                            ImageKey = id
                        }
                    }
                };
                await imageDataAccess.SaveImageAsync(testImage);

                Image imageFromDb = await imageDataAccess.GetImageAsync(id, false);

                Assert.Equal(0, imageFromDb.Tags.Count);
                Assert.True(compareImages(imageFromDb, testImage));

                imageFromDb = await imageDataAccess.GetImageAsync(id, true);

                Assert.Equal(2, imageFromDb.Tags.Count);
                Assert.True(compareImages(imageFromDb, testImage));

                id        = Guid.NewGuid();
                testImage = new Image()
                {
                    Id          = id,
                    Name        = "Bob",
                    Description = "A picture of Bob",
                    Picture     = "dfdsgfs",
                    DateCreated = DateTime.Now,
                };
                await imageDataAccess.SaveImageAsync(testImage);

                imageFromDb = await imageDataAccess.GetImageAsync(id, true);

                Assert.Equal(0, imageFromDb.Tags.Count);

                if (_commiteToDB)
                {
                    scope.Complete();
                }
            }
        }
コード例 #12
0
 public CardSpaceDataAccess(IImageDataAccess imageDataAccess)
 {
     ImageDataAccess = imageDataAccess;
 }