public async Task <BaseResponse <bool> > UpdatePicture([FromBody] UpdateWorkPictureDto dto) { if (dto == null) { throw new BusinessException("Invalid parameter!", ErrorCode.INVALID_PARAMETER); } var response = new BaseResponse <bool> { Data = await _workService.UpdatePicture(dto), Status = true }; return(await Task.FromResult(response)); }
public async Task <bool> UpdatePicture(UpdateWorkPictureDto dto) { _logger.LogInformation("start method update picture"); var count = await this.DatabaseConnectService.Connection.CountAsync <WorkPicture>(x => x .Where($"bys_work_picture.work_id = @WorkId") .WithParameters(new { WorkId = dto.WorkId })); if (dto.Pictures.Length + count > 3 || dto.WorkId == null) { throw new BusinessException("", ErrorCode.INVALID_PARAMETER); } using (IDbTransaction transaction = this.DatabaseConnectService.BeginTransaction()) { try { foreach (TempUploadFileDto temp in dto.Pictures) { WorkPicture workPicture = temp.ToWorkPicture(); workPicture.WorkId = dto.WorkId; await this.DatabaseConnectService.Connection.InsertAsync <WorkPicture>(workPicture, x => x.AttachToTransaction(transaction)); } transaction.Commit(); _logger.LogInformation("end method update picture"); return(true); } catch (Exception e) { transaction.Rollback(); throw new BusinessException(e.Message, ErrorCode.INVALID_PARAMETER); } } }