public async Task SetImage([FromBody] SmartVoucherCampaignSetImageRequest request) { var imageModel = _mapper.Map <CampaignImageFileRequest>(request); var error = await _smartVouchersClient.CampaignsApi.SetImage(imageModel); if (error != SaveImageErrorCodes.None) { throw LykkeApiErrorException.BadRequest(new LykkeApiErrorCode(error.ToString())); } }
public async Task SetImage([FromQuery] SmartVoucherCampaignSetImageRequest model, [Required] IFormFile formFile) { #region Filter var permissionLevel = await _requestContext.GetPermissionLevelAsync(PermissionType.VoucherManager); if (permissionLevel.HasValue && permissionLevel.Value == PermissionLevel.PartnerEdit) { var existingCampaign = await _smartVouchersClient.CampaignsApi.GetByIdAsync(model.CampaignId); // filter data for current _requestContext.UserId if (existingCampaign != null && existingCampaign.CreatedBy != _requestContext.UserId) { throw LykkeApiErrorException.Forbidden(new LykkeApiErrorCode(nameof(HttpStatusCode.Forbidden))); } } #endregion var imageContent = _imageService.HandleFile(formFile, model.ContentId); var imageModel = _mapper.Map <SmartVoucherCampaignSetImageRequest, CampaignImageFileRequest>(model, opt => opt.AfterMap((src, dest) => { dest.Type = formFile.ContentType; dest.Name = formFile.FileName; dest.Content = imageContent; })); SaveImageErrorCodes error; try { error = await _smartVouchersClient.CampaignsApi.SetImage(imageModel); } catch (ClientApiException exception) { throw new ValidationApiException(exception.ErrorResponse); } if (error != SaveImageErrorCodes.None) { throw LykkeApiErrorException.BadRequest(new LykkeApiErrorCode(error.ToString())); } await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, model.ToJson(), ActionType.SetSmartVoucherCampaignImage); }