예제 #1
0
        public override Task ExecuteAsync(dynamic p)
        {
            if (!CanExecute(p))
            {
                return(Task.FromResult(false));
            }

            // Create FavoriteEntity
            FavoriteEntity favoriteEntity = TableEntityFactory.CreateFavoriteEntity(p);

            if (favoriteEntity == null)
            {
                return(Task.FromResult(false));
            }
            p.Entity = favoriteEntity;

            // Copies
            var entities = new List <FavoriteEntity> {
                favoriteEntity
            };

            if (!_mediaType.Equals(LvConstants.MediaTypeOfAll))
            {
                var copyEntity = favoriteEntity.CloneByJson();
                copyEntity.RowKey = UriFactory.ReplaceMediaTypeOfRowKey(favoriteEntity.RowKey, MediaType.All);
                entities.Add(copyEntity);
            }

            p.Entities = entities.Cast <ITableEntity>().ToList();
            return(Task.FromResult(true));
        }
예제 #2
0
파일: FakeHelper.cs 프로젝트: talexu/lvgaga
        public async Task UploadTestTumblrs()
        {
            var uriFactory         = new UriFactory();
            var tableEntityFactory = new TableEntityFactory(uriFactory);

            var uploadBlobCommand   = new UploadBlobFromStreamCommand();
            var generateSCommand    = new ResizeCommand(ResizeCommand.ScalingType.CropScaling, 128);
            var generateMCommand    = new ResizeCommand(ResizeCommand.ScalingType.CropScaling, 300);
            var generateLCommand    = new ResizeCommand(ResizeCommand.ScalingType.FitScaling, 1280);
            var createTumblrCommand = new CreateTumblrCommand
            {
                UriFactory         = uriFactory,
                TableEntityFactory = tableEntityFactory
            };
            var createTableEntitiesCommand = new CreateTableEntitiesCommand();
            var command = new WriteTumblrCommand(
                _azureStorage, uploadBlobCommand,
                generateLCommand, generateMCommand, generateSCommand,
                createTumblrCommand,
                createTableEntitiesCommand);

            foreach (var testImage in GetTestImages())
            {
                using (Stream stream = File.OpenRead(testImage))
                {
                    // upload
                    dynamic pTumblr = new ExpandoObject();

                    // Blob
                    pTumblr.Container = await _azureStorage.GetContainerReferenceAsync(LvConstants.ContainerNameOfImage);

                    pTumblr.Stream   = stream;
                    pTumblr.BlobName = Path.GetFileName(testImage);

                    // Create Tumblr
                    pTumblr.PartitionKey = LvConstants.MediaTypeOfImage;
                    pTumblr.TumblrText   = new TumblrText
                    {
                        Text     = "你也曾当过笨蛋,也曾试着当瞎子当聋子的去信任一个人,你也知道世界上最可悲的就是自我欺骗,但是人笨过傻过瞎过就够了,你更要懂得爱自己,而不是一直重蹈覆辙,还自以为多痴情。",
                        Category = TumblrCategory.C2
                    };

                    // Table
                    pTumblr.Table = await _azureStorage.GetTableReferenceAsync(LvConstants.TableNameOfTumblr);

                    // Execute
                    await command.ExecuteAsync(pTumblr);

                    // Create Tumblr End
                }
            }
        }
예제 #3
0
        public override Task ExecuteAsync(dynamic p)
        {
            if (!CanExecute(p))
            {
                return(Task.FromResult(false));
            }

            // Create CommentEntity
            var commentEntity = TableEntityFactory.CreateCommentEntity(p);

            if (commentEntity == null)
            {
                return(Task.FromResult(false));
            }
            p.Entity = commentEntity;

            return(Task.FromResult(true));
        }
예제 #4
0
        public override Task ExecuteAsync(dynamic p)
        {
            if (!CanExecute(p))
            {
                return(Task.FromResult(false));
            }

            // Create TumblrEntity
            TumblrEntity tumblrEntity = TableEntityFactory.CreateTumblrEntity(p);

            if (tumblrEntity == null)
            {
                return(Task.FromResult(false));
            }
            p.Entity = tumblrEntity;

            // Copies
            var entities = new List <TumblrEntity> {
                tumblrEntity
            };

            if (!_tumblrText.Category.Equals(TumblrCategory.All))
            {
                var copyEntity = tumblrEntity.CloneByJson();
                copyEntity.RowKey = UriFactory.ReplaceTumblrCategoryOfRowKey(tumblrEntity.RowKey, TumblrCategory.All);
                entities.Add(copyEntity);
            }
            if (!tumblrEntity.PartitionKey.Equals(LvConstants.MediaTypeOfAll))
            {
                var copyEntities = entities.CloneByJson <TumblrEntity>();
                foreach (var copyEntity in copyEntities)
                {
                    copyEntity.PartitionKey = LvConstants.MediaTypeOfAll;
                    entities.Add(copyEntity);
                }
            }

            p.Entities = entities.Cast <ITableEntity>().ToList();

            return(Task.FromResult(true));
        }