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)); }
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()); }
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); }
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)); }