public static WorkPicture ToWorkPicture(this TempUploadFileDto dto) { if (dto == null) { return(null); } WorkPicture entity = new WorkPicture(); entity.CopyPropertiesFrom(dto); entity.FileId = dto.Id; entity.OrgFileExtension = Path.GetExtension(dto.OrgFileName); return(entity); }
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); } } }