private void ExecuteVersamento(List <MassiveOperationTarget> documentsId, MassiveOperationReport report) { foreach (MassiveOperationTarget target in documentsId) { try { // Recupero della scheda documento SchedaDocumento documentDetails = DocumentManager.getDocumentDetails(this.Page, target.Id, string.Empty); if (documentDetails != null) { if (documentDetails.documentoPrincipale != null) { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è possibile versare allegati."); } else { if (this.isPredisposto(documentDetails)) { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è possibile versare documenti predisposti."); } else { if (documentDetails.checkOutStatus != null && !string.IsNullOrEmpty(documentDetails.checkOutStatus.ID)) { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è possibile versare documenti bloccati."); } else { if (this.checkRepertorio(documentDetails)) { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è possibile versare repertori il cui contatore non sia scattato."); } else { if (documentDetails.documenti[0] != null) { if (!(string.IsNullOrEmpty(documentDetails.documenti[0].fileSize)) && Convert.ToInt32(documentDetails.documenti[0].fileSize) > 0) { string result = DocumentManager.AddDocToQueueCons(target.Id, UserManager.GetInfoUser()); this.InsertRow(result, report, target.Id); } else { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento principale non risulta essere stato acquisito."); } } else { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Il documento principale non risulta essere stato acquisito."); } } } } } } else { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Non è stato possibile recuperare il dettaglio sul documento."); } } catch (Exception ex) { report.AddReportRow(target.Codice, MassiveOperationReport.MassiveOperationResultEnum.KO, "Errore durante il recupero dei dettagli sul documento."); } } }