public static ImportAttestatiResponse ImportAttestati(ImportAttestatiRequest request) { ImportAttestatiResponse resp = new ImportAttestatiResponse(); InfoUtente iu = null; Ruolo role = null; List <SchedaDocumento> docsTrasmissione = new List <SchedaDocumento>(); using (DocsPaDB.TransactionContext transactionContext = new DocsPaDB.TransactionContext()) { try { iu = request.InfoUtente.InfoUtente; role = UserManager.getRuolo(request.Ruolo.Id); iu.idGruppo = role.idGruppo; iu.idCorrGlobali = role.systemId; AttestatiListVO attestati = request.Attestati; //lock del documento principale logger.Debug("lock del documento principale, doc number : " + attestati.DocNumber); //creazione schede foreach (AttestatoVO att in attestati.Attestati) { SchedaDocumento sd = CreateSchedaDocumentoFromAttestato(att, iu, role, request.IdRegistro); AcquireFileAndAllegato(att, sd, iu); docsTrasmissione.Add(sd); } //set dello stato del doc principale SchedaDocumento attList = DocManager.getDettaglio(iu, null, request.Attestati.DocNumber); OggettoCustom oc = attList.template.ELENCO_OGGETTI.Cast <OggettoCustom>().Single(e => request.Attestati.StatusTemplate.StatusTemplateFieldName.Equals(e.DESCRIZIONE)); oc.VALORE_DATABASE = request.Attestati.StatusTemplate.StatusProcessedValue; bool daAggiornareUffRef; DocSave.save(iu, attList, false, out daAggiornareUffRef, role); //unlock del documento principale transactionContext.Complete(); } catch (Exception e) { resp.Code = ImportAttestatiResponseCode.KO; resp.ErrorMessage = e.Message; return(resp); } } if (request.Trasmissione == null) { logger.Debug("Nessuna trasmissione da eseguire"); resp.Code = ImportAttestatiResponseCode.OK; return(resp); } else { try { logger.Debug("Esegui trasmissioni"); EseguiTrasmissioni(request.Trasmissione, docsTrasmissione, iu, role); resp.Code = ImportAttestatiResponseCode.OK; return(resp); } catch (Exception e) { resp.ErrorMessage = e.Message; resp.Code = ImportAttestatiResponseCode.WARNING; return(resp); } } }
public ImportAttestatiResponse ImportAttestati(ImportAttestatiRequest request) { return(SanitaManager.ImportAttestati(request)); }