コード例 #1
0
        internal TableResult Execute(CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext)
        {
            TableRequestOptions modifiedOptions = TableRequestOptions.ApplyDefaults(requestOptions, client);

            operationContext = operationContext ?? new OperationContext();
            CommonUtility.AssertNotNullOrEmpty("tableName", table.Name);

            IOperationExecutor <TableResult, TableOperation> operationExecutor = GetExecutor(client);

            return(operationExecutor.Execute(this, client, table, modifiedOptions, operationContext));
        }
コード例 #2
0
        public async Task <IActionResult> UploadPicture(List <IFormFile> files, [FromRoute] PictureType pictureType, [FromQuery] Guid?accountId)
        {
            // Get form file in two ways. First for how the app transmits it, second for the webapp.
            var file = files.SingleOrDefault();

            if (file == null)
            {
                file = Request.Form.Files.SingleOrDefault();
            }
            if (file == null)
            {
                return(BadRequest("Invalid Form"));
            }

            _executor
            .Add <UploadPictureOperation, (IFormFile, string)>(() => (file, pictureType.ToString().ToLower()))
            .Add <AddPictureOperation, (Guid id, string link), (Guid, PictureType, string)>(r => (r.id, pictureType, r.link));

            if (pictureType == PictureType.Gallery)
            {
                Picture picture = null;
                _executor
                .Add <AnalyzePictureOperation, Picture, Picture>(p => p)
                .Add <CreatePictureActivityOperation, Picture, (Guid, ActivityType)>(p =>
                {
                    picture = p;
                    return(p.Id, ActivityType.PictureAdded);
                })
                .Add <AddActivityOperation, PictureActivity, AddActivityOperation.Request>(a => new AddActivityOperation.Request(
                                                                                               new ActivityMetadataModel
                {
                    ActiveStepId = null,
                    ActiveTaskId = null,
                    Latitude     = null,
                    Longitude    = null,
                    Timestamp    = DateTimeOffset.UtcNow
                },
                                                                                               a))
                .Map <PictureToPictureModelMapping>(() => picture);
            }
            else
            {
                if (pictureType == PictureType.Profile)
                {
                    _executor.Add <SetProfilePictureOperation, Picture, (Picture, Guid)>(last => (last, accountId.Value));
                }

                _executor.Map <PictureToPictureModelMapping, Picture>(last => last);
            }

            var result = await _executor.Execute();

            return(result.CreateHttpResult());
        }
コード例 #3
0
ファイル: Scaffolder.cs プロジェクト: Grinderofl/Tempest
        public void Scaffold()
        {
            var configuration = _configurationResolver.Resolve();

            var sourcingContext = new SourcingContext()
            {
                TargetRoot   = BuildTargetPath(_generatorContext, configuration),
                TemplateRoot = _generatorContext.TemplateDirectory
            };

            var operations = _operationBuilder.Build(configuration, sourcingContext);

            // Maybe ask user if this is OK?
            _operationExecutor.Execute(operations);
        }
コード例 #4
0
        internal IList <TableResult> Execute(CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext)
        {
            TableRequestOptions modifiedOptions = TableRequestOptions.ApplyDefaults(requestOptions, client);

            operationContext = operationContext ?? new OperationContext();

            CommonUtility.AssertNotNullOrEmpty("tableName", table.Name);

            if (this.operations.Count == 0)
            {
                throw new InvalidOperationException(SR.EmptyBatchOperation);
            }

            if (this.operations.Count > 100)
            {
                throw new InvalidOperationException(SR.BatchExceededMaximumNumberOfOperations);
            }

            IOperationExecutor <IList <TableResult>, TableBatchOperation> operationExecutor = GetExecutor(client);

            return(operationExecutor.Execute(this, client, table, modifiedOptions, operationContext));
        }