private static DocumentAttributeValue Convert(this MetadatoItem metadato, DocumentAttribute biblosDSMetadato) { return(new DocumentAttributeValue { IdAttribute = biblosDSMetadato.IdAttribute, Attribute = biblosDSMetadato, Value = metadato.Value }); }
private static void CheckPreservationResponse(VerificaStatoConservazioneDocumentoResponse response, Document documentInfo) { response.Eseguito = true; var listaMetadatoItem = new List <MetadatoItem>(); foreach (var attributeValue in documentInfo.AttributeValues) { var proprietaDocumento = new MetadatoItem { Name = attributeValue.Attribute.Name, Posizione = attributeValue.Attribute.ConservationPosition, Value = attributeValue.Value, Tipo = attributeValue.Attribute.AttributeType }; listaMetadatoItem.Add(proprietaDocumento); } response.StatoDocumento.ProprietaDocumento = new List <MetadatoItem>(); response.StatoDocumento.ProprietaDocumento.AddRange(listaMetadatoItem); response.Conservato = documentInfo.IdPreservation.HasValue; if (documentInfo.Preservation != null) { if (documentInfo.Preservation.CloseDate.HasValue) { response.StatoDocumento.CodiceStato = StatoConservazione.STATODOC_ARCHIVIATO; } else { response.StatoDocumento.CodiceStato = StatoConservazione.STATODOC_INCORSO; } } else { response.StatoDocumento.CodiceStato = response.Conservato ? StatoConservazione.STATODOC_ARCHIVIATO : StatoConservazione.STATODOC_NONARCHIVIATO; } }
/// <summary> /// Informazioni su di un documento /// </summary> /// <param name="request"> /// <see cref="InfoDocumentoChiaveRequest">request</see> /// </param> /// <returns> /// <see cref="InfoDocumentoChiaveResponse">response</see> /// </returns> /// <remarks> /// IdDocumento richiesto per effattuare la richiesta /// </remarks> /// <example> /// var request = new InfoDocumentoRequest /// { /// IdDocumento = new Guid("d4d7a0dc-5cf2-4813-a1d7-0006b53c7799"), /// IdClient = "ClienteTest", /// dRichiesta = "20081128000001", /// IdCliente = "ClienteTest", /// TipoDocumento = "DDT_ATH_TEST2" /// }; /// Assert.IsTrue(DocumentoFacade.InfoDocumento(request).CodiceEsito == CodiceErrore.NessunErrore); /// </example> public static InfoDocumentoResponse InfoDocumento(InfoDocumentoRequest request) { var response = new InfoDocumentoResponse { StatoDocumento = new StatoDocumento() }; try { logger.DebugFormat("InfoDocumento request:{0}", request.ToString()); response.TokenInfo = Helpers.ValidaToken(request); if (response.TokenInfo == null) { response.CodiceEsito = CodiceErrore.TokenNonValidoOScaduto; } else { var checkRequestResult = request.CheckRequest(response); if (checkRequestResult != CodiceErrore.NessunErrore) { response.CodiceEsito = checkRequestResult; response.Eseguito = false; } else { if (request.IdDocumento == Guid.Empty) { response.CodiceEsito = CodiceErrore.IdDocumentoNonValido; response.Eseguito = false; } else { //Recupero Archive var idArchive = Helpers.GetArchive(request); if (!idArchive.HasValue) { response.CodiceEsito = CodiceErrore.ArchivioNonDefinito; response.Eseguito = false; } else { using (var client = new DocumentsClient()) { try { //TODO Controllare come mai non torna l'ultima versione response.Documento = new DocumentoItem { IdDocumento = request.IdDocumento, Stato = Operazione.Default }; var documentInfo = client.GetDocumentInfoById(request.IdDocumento); response.Eseguito = true; response.Documento.Nome = documentInfo.Name; var listaMetadatoItem = new List <MetadatoItem>(); foreach (var attributeValue in documentInfo.AttributeValues) { var proprietaDocumento = new MetadatoItem { Name = attributeValue.Attribute.Name, Posizione = attributeValue.Attribute.ConservationPosition, Value = attributeValue.Value, Tipo = attributeValue.Attribute.AttributeType }; listaMetadatoItem.Add(proprietaDocumento); } response.StatoDocumento.ProprietaDocumento = new List <MetadatoItem>(); response.StatoDocumento.ProprietaDocumento.AddRange(listaMetadatoItem); logger.DebugFormat("InfoDocumento response:{0}", response.ToString()); } catch (FaultException <BiblosDsException> faultEx) { logger.Error(faultEx); response.Eseguito = false; ParseBiblosDSFaultException(response, faultEx); } catch (Exception ex) { logger.Error(ex); response.Eseguito = false; response.CodiceEsito = CodiceErrore.ErroreGenerico; response.MessaggioErrore = ex.ToString(); } } } } } } } catch (Exception ex) { logger.Error(ex); response.Eseguito = false; response.CodiceEsito = CodiceErrore.ErroreGenerico; response.MessaggioErrore = ex.ToString(); } response.CheckResponse(); return(response); }