public void Upload(SecureDocumentModel documentModel) { try { if (documentModel.DocumentContent == null) { _logger.WriteWarning(new LogMessage("Upload -> document not found"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.DocumentContent), "Nessun documento passato per la securizzazione"); } if (string.IsNullOrEmpty(documentModel.IdDocument)) { _logger.WriteWarning(new LogMessage("Upload -> idDocument is null"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.IdDocument), "Nessun iddocument passato per la securizzazione"); } DOUService.DOUResponse response = _client.upload(documentModel.DocumentContent, documentModel.IdDocument, _idService, Encoding.UTF8.GetBytes(DEFAULT_METADATA)); ValidateResponse(response); _logger.WriteInfo(new LogMessage(string.Concat("Upload -> document with id ", documentModel.IdDocument, " uploaded correctly")), LogCategories); } catch (Exception ex) { _logger.WriteError(new LogMessage("Upload -> Error on upload secure document call."), ex, LogCategories); throw; } }
public SecureDocumentModel Create(SecureDocumentModel documentModel) { try { _logger.WriteDebug(new LogMessage(string.Concat("Create -> create secure document for document ", documentModel.DocumentName)), LogCategories); if (documentModel.DocumentContent == null) { _logger.WriteWarning(new LogMessage("Create -> document not found"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.DocumentContent), "Nessun documento passato per la securizzazione"); } DOUService.DOUResponse response = _client.create(documentModel.DocumentContent, _idService, null); ValidateResponse(response); _logger.WriteInfo(new LogMessage(string.Concat("Create -> document generated correctly with id ", response.idPdf)), LogCategories); return(new SecureDocumentModel() { IdDocument = response.idPdf, DocumentContent = response.pdf }); } catch (Exception ex) { _logger.WriteError(new LogMessage("Create -> Error on create secure document call."), ex, LogCategories); throw; } }
public SecureDocumentModel Update(SecureDocumentModel documentModel) { try { _logger.WriteDebug(new LogMessage(string.Concat("Update -> update secure document for iddocument ", documentModel.IdDocument)), LogCategories); if (documentModel.DocumentContent == null) { _logger.WriteWarning(new LogMessage("Update -> document not found"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.DocumentContent), "Nessun documento passato per la securizzazione"); } if (string.IsNullOrEmpty(documentModel.IdDocument)) { _logger.WriteWarning(new LogMessage("Update -> idDocument is null"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.IdDocument), "Nessun iddocument passato per la securizzazione"); } DOUService.DOUResponse response = _client.update(documentModel.DocumentContent, documentModel.IdDocument, _idService); ValidateResponse(response); _logger.WriteInfo(new LogMessage(string.Concat("Update -> document with id ", response.idPdf, " updated correctly")), LogCategories); return(new SecureDocumentModel() { IdDocument = response.idPdf, DocumentContent = response.pdf }); } catch (Exception ex) { _logger.WriteError(new LogMessage("Update -> Error on update secure document call."), ex, LogCategories); throw; } }
private void ValidateResponse(DOUService.DOUResponse response) { _logger.WriteDebug(new LogMessage("ValidateResponse -> validation received response"), LogCategories); if (!_responseHelper.ValidateResponse(response)) { string errorMessage = _responseHelper.ReadStatusMessage(response); _logger.WriteWarning(new LogMessage(string.Concat("ValidateResponse -> received error from DOU WS with status: ", response.status, " and description: ", errorMessage)), LogCategories); throw new Exception(string.Format("E' avvenuto un errore durante la richiesta di securizzazione. Codice: {0} - Descrizione: {1}", response.status, errorMessage)); } _logger.WriteInfo(new LogMessage("ValidateResponse -> response from DOU WS is valid"), LogCategories); }
public void Delete(SecureDocumentModel documentModel) { try { if (string.IsNullOrEmpty(documentModel.IdDocument)) { _logger.WriteWarning(new LogMessage("Delete -> idDocument is null"), LogCategories); throw new ArgumentNullException(nameof(SecureDocumentModel.IdDocument), "Nessun iddocument passato per la securizzazione"); } DOUService.DOUResponse response = _client.delete(documentModel.IdDocument, _idService); ValidateResponse(response); _logger.WriteInfo(new LogMessage(string.Concat("Delete -> document with id ", documentModel.IdDocument, " deleted correctly")), LogCategories); } catch (Exception ex) { _logger.WriteError(new LogMessage("Delete -> Error on delete secure document call."), ex, LogCategories); throw; } }
public string ReadStatusMessage(DOUService.DOUResponse response) { string message = string.Empty; DOUResponseStatus status = (DOUResponseStatus)response.status; switch (status) { case DOUResponseStatus.Ok: message = "OK"; break; case DOUResponseStatus.InputParameterError: message = "Errore inserimento parametri di input al WS"; break; case DOUResponseStatus.InvalidDocumentType: message = "Il file in input non e’ tra quelli elaborabili dal WS"; break; case DOUResponseStatus.CallerVerifyError: message = "Errore verifica del chiamante"; break; case DOUResponseStatus.NotAuthorized: message = "Chiamante non autorizzato"; break; case DOUResponseStatus.SaveDataToDbError: message = "Errore durante il salvataggio dei dati del PDF sul DB"; break; case DOUResponseStatus.SaveDataToDbGenericError: message = "Errore generico durante il salvataggio dei dati del PDF sul DB"; break; case DOUResponseStatus.VerifyFromDbError: message = "Errore durante la verifica dei dati del PDF su DB"; break; case DOUResponseStatus.VerifyFromDbGenericError: message = "Errore generico durante la verifica dei dati del PDF su DB"; break; case DOUResponseStatus.DeleteTemporaryDataError: message = "Errore durante l’eliminazione dei dati temporanei del PDF"; break; case DOUResponseStatus.DeleteTemporaryDataGenericError: message = "Errore generico durante l’eliminazione dei dati temporanei del PDF"; break; case DOUResponseStatus.DOUManagerInitializationError: message = "Errore nell’inizializzazione della classe DOUManager"; break; case DOUResponseStatus.DOUManagerInitializationGenericError: message = "Errore generico nell’inizializzazione della classe DOUManager"; break; case DOUResponseStatus.PDFNotRegistered: message = "PDF non registrato su database"; break; case DOUResponseStatus.ReadArchiveConfigurationFromDbError: message = "Errore durante il prelevamento delle configurazioni di archiviazione da DB"; break; case DOUResponseStatus.ReadArchiveConfigurationFromDbGenericError: message = "Errore generico durante il prelevamento delle configurazioni di archiviazione da DB"; break; case DOUResponseStatus.ArchiverInitializationError: message = "Errore durante l’inizializzazione dell’oggetto Archiver"; break; case DOUResponseStatus.ArchiverInitializationGenericError: message = "Errore generico durante l’inizializzazione dell’oggetto Archiver"; break; case DOUResponseStatus.ArchiveDocumentError: message = "Errore durante l’archiviazione del documento"; break; case DOUResponseStatus.ArchiveDocumentGenericError: message = "Errore generico durante l’archiviazione del documento"; break; case DOUResponseStatus.SaveArchiveDataToDbError: message = "Errore durante il salvataggio dei dati di archiviazione su DB"; break; case DOUResponseStatus.SaveArchiveDataToDbGenericError: message = "Errore generico durante il salvataggio dei dati di archiviazione su DB"; break; case DOUResponseStatus.ArchiveDataNotSaved: message = "Dati di archiviazione non salvati su DB"; break; case DOUResponseStatus.GenerateDocumentHashError: message = "Errore durante il calcolo della hash del documento"; break; case DOUResponseStatus.SignDocumentHashError: message = "Errore durante la firma della hash del documento"; break; case DOUResponseStatus.SignDocumentHashGenericError: message = "Errore generico durante la firma della hash del documento"; break; case DOUResponseStatus.VerifyDocumentError: message = "Errore durante la verifica del file archiviato tramite l’ID di archiviazione"; break; case DOUResponseStatus.VerifyDocumentGenericError: message = "Errore generico durante la verifica del file archiviato tramite l’ID di archiviazione"; break; case DOUResponseStatus.ArchiveDataNotFound: message = "Nessun dato archiviazione con l’ID archiviazione ricevuto"; break; case DOUResponseStatus.ReadConfigurationFromDbError: message = "Errore durante l’ottenimento delle configurazioni da DB"; break; case DOUResponseStatus.ReadConfigurationFromDbGenericError: message = "Errore generico durante l’ottenimento delle configurazioni da DB"; break; case DOUResponseStatus.IdArchiveMatchError: message = "ID archiviazione in input non corrisponde con quello estratto dal QRCode"; break; case DOUResponseStatus.IdServiceMathcError: message = "ID service in input non corrispondente a quello associato al pdf"; break; case DOUResponseStatus.TemporaryArchiveError: message = "Errore durante l’archiviazione temporanea del documento"; break; case DOUResponseStatus.ConfigurationInitializeError: message = "Errore durante l’inizializzazione degli oggetti di configurazione"; break; case DOUResponseStatus.QRCodeReadError: message = "Errore durante l’estrazione dei dati dal QRCode"; break; } return(message); }
public bool ValidateResponse(DOUService.DOUResponse response) { return(response.status == (int)DOUResponseStatus.Ok); }