Exemplo n.º 1
0
        private MessaggioInvioDTO setDto(MessaggioInvio item)
        {
            var dto = new MessaggioInvioDTO
            {
                ID = item.ID,
                CheckSumFile = item.CheckSumFile,
                Descrizione = item.Descrizione,
                Data = item.DataInserimento.GetValueOrDefault(),
                StatoMessaggio = item.Stato,
                Version = item.Version
            };

            return dto;
        }
Exemplo n.º 2
0
        public DocumentInfo FinalizzaMessaggio(string descrizione, bool accodaMessaggio, int idAzienda)
        {
            byte[] document = null;
            var fileExtension = string.Empty;

            // Se è presente solo un documento singolo lo zippo
            if ((_fileSingolo == null || _fileSingolo.Count == 0) && _documentoSingolo != null)
            {
                if (_fileSingolo == null) { }
                _fileSingolo = new ZipFile();
                if (_fileSingolo.Count == 0)
                {
                    var nomeFile = $"{Guid.NewGuid()}.{_parametriInvioLettera.FormatoDocumento.ToString().ToLower()}";
                    _fileSingolo.AddEntry(nomeFile, _documentoSingolo);
                }
            }

            if (_fileSingolo != null && _fileSingolo.Count > 0)
            {
                var stream = new MemoryStream();
                _fileSingolo.Save(stream);
                document = stream.ToArray();
                fileExtension = ".zip";
            }

            if (document != null)
            {
                var documentMessage = _documentService.SaveDocument(document, descrizione.ToFileName() + fileExtension, fileExtension, null, idAzienda);
                if (documentMessage.Documento != null)
                {
                    var checkSum = documentMessage.Documento.Checksum;

                    if (accodaMessaggio)
                    {
                        var messaggioInvio = new MessaggioInvio(descrizione, checkSum, null, _daoFactory.GetAziendaDao().Find(idAzienda, false));
                        _daoFactory.GetMessaggioInvioDao().SaveOrUpdate(messaggioInvio);
                    }

                    if (string.IsNullOrEmpty(descrizione))
                        descrizione = checkSum;

                    return new DocumentInfo(document, checkSum, descrizione.ToFileName(), fileExtension);
                }
                else
                    return new DocumentInfo();
            }

            return new DocumentInfo();
        }