public Task <ApiResponse <bool> > Bulk(string id, WriteMeasureDto dto) { return(Catch(async() => { var command = new UpdateMeasureCommand(Uri.UnescapeDataString(id), dto.Name, dto.Position); await MessageBus.DispatchCommand(command); return true; })); }
public async Task <CommandResult> Handle(UpdateMeasureCommand request, CancellationToken cancellationToken) { CommandResult commandInvariantResult = await ValidateCommandInvariants(request); if (!commandInvariantResult.Success) { return(FailureDueTo(commandInvariantResult.Notifications.ToList())); } Measure measure = await _measureRepository.GetByIdAsync(request.MeasureId); if (!FoundValidMeasure(measure)) { return(FailureDueToMeasureNotFound()); } List <Image> bodyPictures = new List <Image>(); foreach (IFormFile bodyPicture in request.BodyPictures) { string containerName = _containerOptions.Value.MeasureImageContainerName; StorageFile existingBodyPicture = await _storageService.FindFileAsync(containerName, bodyPicture.FileName); if (existingBodyPicture == null) { StorageResult storageResult = await UploadBodyPictureToStorage(bodyPicture); if (!storageResult.Success) { return(FailureDueToUploadFailure()); } bodyPictures.Add(new Image(storageResult.FileName, storageResult.FileUrl)); } else { bodyPictures.Add(new Image(existingBodyPicture.UrlPath, existingBodyPicture.Name)); } } BasicMeasure basicMeasure = new BasicMeasure(request.Height, request.Weight); measure.Update( request.Title, request.Details, basicMeasure, request.MeasureDate, bodyPictures, _mapper.Map <List <MeasureLine> >(request.MeasureLines) ); await _measureRepository.UpdateAsync(measure); return(await CommitAndPublishDefaultAsync()); }
public async Task <ActionResult <MeasureDto> > UpdateMeasure(UpdateMeasureCommand request) { var result = await Mediator.Send(request); return(GetResponse(result)); }
public async Task <IActionResult> UpdateAsync(Guid id, [FromBody] UpdateMeasureCommand command) { command.MeasureId = id; return(await CreateCommandResponse(command)); }