public List<DocumentDto> AttachDocumentsToRiskAssessment(AttachDocumentsToRiskAssessmentRequest request) { _log.Add(request); try { var user = _userForAuditingRepository.GetByIdAndCompanyId(request.UserId, request.CompanyId); var riskAssessment = _riskAssessmentRepository.GetByIdAndCompanyId(request.RiskAssessmentId, request.CompanyId); var documents = CreateRiskAssessmentDocumentsToAttach(request, user); riskAssessment.AttachDocumentToRiskAssessment(documents, user); _riskAssessmentRepository.SaveOrUpdate(riskAssessment); //flush so that the new Task documents are given ids _riskAssessmentRepository.Flush(); var selectAddedFiles = riskAssessment.Documents .Where(d => documents.Select(dp => dp.DocumentLibraryId).Contains(d.DocumentLibraryId)); return new DocumentDtoMapper().Map(selectAddedFiles).ToList(); } catch (Exception ex) { _log.Add(ex); throw; } }
private IEnumerable<RiskAssessmentDocument> CreateRiskAssessmentDocumentsToAttach(AttachDocumentsToRiskAssessmentRequest request, UserForAuditing user) { var documents = (from createDocumentRequest in request.DocumentsToAttach let documentType = _documentTypeRepository.GetById((long)createDocumentRequest.DocumentType) select RiskAssessmentDocument.Create(new CreateDocumentParameters { ClientId = request.CompanyId, DocumentLibraryId = createDocumentRequest.DocumentLibraryId, Filename = createDocumentRequest.Filename, Extension = createDocumentRequest.Extension, FilesizeByte = createDocumentRequest.FilesizeByte, Description = createDocumentRequest.Description, DocumentType = documentType, CreatedOn = DateTime.Now, CreatedBy = user })).ToList(); return documents; }
private void CreateRiskAssessmentWithDocuments(int amountOfDocumentsToAddToRiskAssessment) { var newRiskAssementId = CreateRiskAssessment(); var riskAssessmentAttachmentService = ObjectFactory.GetInstance<IRiskAssessmentAttachmentService>(); var documentsToAttach = new List<CreateDocumentRequest>(); for (int i = 0; i < amountOfDocumentsToAddToRiskAssessment; i++) { var randomId = new Random().Next(2500); string titleDescription = "Test " + randomId; documentsToAttach.Add(new CreateDocumentRequest() { Title = titleDescription, Description = titleDescription, DocumentLibraryId = i, Filename = "Test File Name" + randomId, DocumentType = DocumentTypeEnum.GRADocumentType, DocumentOriginType = DocumentOriginType.TaskCompleted, Extension = ".doc", }); } var request = new AttachDocumentsToRiskAssessmentRequest() { CompanyId = companyId, RiskAssessmentId = newRiskAssementId, UserId = GetRandomUserId(), DocumentsToAttach = documentsToAttach }; riskAssessmentAttachmentService.AttachDocumentsToRiskAssessment(request); ObjectFactory.GetInstance<IBusinessSafeSessionManager>().Session.Flush(); }