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;
     }
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 public bool ValidateResponse(DOUService.DOUResponse response)
 {
     return(response.status == (int)DOUResponseStatus.Ok);
 }