public ResultDocumento Save(Appalto appalto, byte[] data, string nomeFile) { // Oggetto contratto var contratto = new ContrattoAppalto(_daoFactory.GetTipoContrattoDao().GetById(appalto.TipoContratto, false), _daoFactory.GetCondominioDao().GetById(appalto.CodiceStabile.GetValueOrDefault(), false), _daoFactory.GetFornitoreDao().GetById(appalto.CodiceFornitore.GetValueOrDefault(), false)); Common.ContrattoGenericoHelper.SetDefault(contratto); contratto.Descrizione = "Appalto: " + appalto.DescrizioneStabile + " - " + appalto.Appaltatore; contratto.DataInizioLavori = appalto.DataInizioLavori; contratto.Scadenza = appalto.DataInizioLavori.GetValueOrDefault().AddDays(Convert.ToDouble(appalto.GiorniFineLavori)); contratto.Importo = appalto.ImportoAppalto; contratto.Penale = appalto.ImportoPenalitaAppalto; contratto.PresenzaAppalto = true; // Salvataggio documento var documentMessage = _documentService.SaveDocument(data, nomeFile, ".rtf", null, contratto.CondominioRiferimento.Azienda.ID); if (documentMessage.Documento != null) { var checksum = documentMessage.Documento.Checksum; var doc = new Documento(checksum, nomeFile, ".rtf", "", false, contratto.CondominioRiferimento.Azienda) { ContrattoRiferimento = contratto }; _daoFactory.GetDocumentoDao().SaveOrUpdate(doc); _daoFactory.GetContrattoAppaltoDao().SaveOrUpdate(contratto); return new ResultDocumento { Documento = doc }; } return new ResultDocumento { Message = documentMessage.Message }; }
/// <summary> /// Crea un dettaglio di Spedizione per Archiviazione Ottica valido /// </summary> public SpedizioneArchiviazioneOtticaDettaglio(SpedizioneArchiviazioneOttica testata, Documento documentoRiferimento) { Testata = testata; DocumentoRiferimento = documentoRiferimento; if (Testata != null) Testata.Dettaglio.Add(this); }
public string SetPdfDocumentiRicevuti(IEnumerable<DocumentoBollettaDTO> bollette, string folderPath) { try { foreach (var documentoBollettaDTO in bollette) { try { var condominio = _daoFactory.GetCondominioDao().GetByCodiceFiscale(documentoBollettaDTO.CodiceFiscaleCliente); if (condominio != null) { var bolletta = _daoFactory.GetSpesaDao().Find(documentoBollettaDTO.IdSpesa, false); if (bolletta != null) { var documentBody = _fileSystem.ReadAllBytes($@"{folderPath}/{documentoBollettaDTO.NomeFileDocumento}"); var documentMessages = _documentService.SaveDocument(documentBody, string.Empty, ".pdf", null, condominio.Azienda.ID); var documento = new Documento(documentMessages.Documento.Checksum, $"Bolletta n.{bolletta.NumeroDocumento} del {bolletta.DataDocumento.GetValueOrDefault():d}", documentMessages.Documento.FileExtension, "Fattura", false, condominio.Azienda) { SpesaRiferimento = bolletta, CondominioRiferimento = condominio, CodiceImportazione = documentoBollettaDTO.IdDocflow }; bolletta.Documenti.Add(documento); _daoFactory.GetDocumentoDao().SaveOrUpdate(documento); } } } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento dei documenti ricevuti - SINGOLA BOLLETTA - {0} - bolletta:{1} - path:{2}", ex, documentoBollettaDTO.IdSpesa, Library.Utility.GetMethodDescription(), folderPath); throw; } } return string.Empty; } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento dei documenti ricevuti - {0} - path:{1}", ex, Library.Utility.GetMethodDescription(), folderPath); throw; } }
public byte[] CreateRitenute(int idAzienda, IList<RitenutaAccontoDTO> lista, DateTime dataPagamento, string descrizione, string descrizioneAddebitoInteressi, string descrizioneAddebitoSanzioni, bool mittenteCondominio, bool testataPerCondominio, TipoVersamentoF24Enum tipoVersamento) { var fileRitenuta = new PagamentoRitenuta(idAzienda, descrizione, dataPagamento, false, tipoVersamento); _daoFactory.GetPagamentoRitenutaDao().SaveOrUpdate(fileRitenuta); decimal importoTotaleRitenuta = 0; decimal importoTotaleInteressi = 0; decimal importoTotaleSanzione = 0; foreach (var ritenuta in lista) { var pagamentoRiferimento = _daoFactory.GetPagamentoDao().Find(ritenuta.IdPagamento.GetValueOrDefault(), true); if(pagamentoRiferimento != null) { pagamentoRiferimento.RitenutaAcconto.TestataRiferimento = fileRitenuta; fileRitenuta.Pagamenti.Add(pagamentoRiferimento); pagamentoRiferimento.RitenutaAcconto.Stato = StatoRitenutaEnum.Pagata; pagamentoRiferimento.RitenutaAcconto.ImportoInteressi = ritenuta.ImportoInteressi; pagamentoRiferimento.RitenutaAcconto.ImportoSanzione = ritenuta.ImportoSanzione; importoTotaleRitenuta += ritenuta.ImportoRitenuta.GetValueOrDefault(); importoTotaleInteressi += ritenuta.ImportoInteressi.GetValueOrDefault(); importoTotaleSanzione += ritenuta.ImportoSanzione.GetValueOrDefault(); } } fileRitenuta.ImportoRitenuta = importoTotaleRitenuta; fileRitenuta.ImportoInteressi = importoTotaleInteressi; fileRitenuta.ImportoSanzione = importoTotaleSanzione; var fileBody = _esecuzioneRitenuta.EsecuzionePagamenti(fileRitenuta, testataPerCondominio, mittenteCondominio, dataPagamento); if (fileBody != null) { // Se richiesto il modulo PDF salvo il modulo come documento if(tipoVersamento == TipoVersamentoF24Enum.PDF) { var fileName = string.Format("Modulo F24 del {0}-{1}-{2}", dataPagamento.Day, dataPagamento.Month, dataPagamento.Year); var documentMessage = _documentService.SaveDocument(fileBody, fileName, ".pdf", null, idAzienda); if(documentMessage.Documento != null) { var checksum = documentMessage.Documento.Checksum; var moduloPdf = new Documento(checksum, fileName, ".pdf", "ModuloF24", false, _daoFactory.GetAziendaDao().GetById(idAzienda, false)) { PagamentoRitenuta = fileRitenuta }; _daoFactory.GetDocumentoDao().SaveOrUpdate(moduloPdf); } } _movimentiContabilitaService.SetMovimentiRitenuta(fileRitenuta, descrizioneAddebitoInteressi, descrizioneAddebitoSanzioni); return fileBody; } _persistenceContext.RollbackAndCloseSession(Security.Login.Instance.CurrentLogin().LoginName); _persistenceContext.BeginTransaction(Security.Login.Instance.CurrentLogin().LoginName, IsolationLevel.ReadUncommitted); return null; }
public bool SetConfermaRicezioneNotifica(string codiceInvio, string messageBody) { try { var result = false; _documentService.SetDaoFactory(_daoFactory); _log.DebugFormat("Richiesta conferma di invio messaggio - {0} - codiceInvio:{1}", Utility.GetMethodDescription(), codiceInvio); var messaggi = _daoFactory.GetStoricoMessaggioDao().GetByCodiceInvio(codiceInvio); if (!messaggi.Any()) messaggi = _daoFactory.GetStoricoMessaggioDao().GetByCodiceMessaggio(codiceInvio); foreach (var messaggio in messaggi) { var azienda = _daoFactory.GetAziendaDao().Find(messaggio.Persona.AziendaID.GetValueOrDefault(), false); if (azienda != null) { _log.DebugFormat("Salvataggio documento di conferma invio messaggio - {0} - codiceInvio:{1} - messageBody:{2}", Utility.GetMethodDescription(), codiceInvio, messageBody); var documentoMessage = _documentService.SaveDocument(Conversione.ToByteArray(messageBody), $"Rapportino per {codiceInvio}.eml", ".eml", null, azienda.ID); if (documentoMessage.Documento != null) { result = true; var checksum = documentoMessage.Documento.Checksum; var nomeFile = $"Rapportino per {codiceInvio}.eml"; var doc = new Documento(checksum, nomeFile, ".eml", "RapportinoFax", false, azienda) { Descrizione = $"Rapportino per {codiceInvio} del: {DateTime.Today:d}" }; _daoFactory.GetDocumentoDao().SaveOrUpdate(doc); var rapportino = new StoricoMessaggioAllegato(messaggio, checksum, nomeFile, ".eml") { DataInserimento = DateTime.Now, UtenteInserimento = "quartz" }; _daoFactory.GetStoricoMessaggioAllegatoDao().SaveOrUpdate(rapportino); messaggio.RapportinoRicevuto = true; messaggio.DataRicezione = DateTime.Now; _daoFactory.GetAttivitaMessaggioDao().CommitChanges(); } } } return result; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la conferma di ricezione di un rapportino di invio messaggio - {0} - codiceInvio:{1}", ex, Utility.GetMethodDescription(), codiceInvio); throw; } }
public void SetUp() { _azienda = new Azienda("PROVA", "Azienda di prova") {ID=1}; _aziendaDestinazione = new Azienda("DEST", "Azienda di destinazione") { ID = 2 }; _condominio = new Condominio("Condominio ABC", 31, 12, 2015, _azienda) { ID = 1, Codice = "COND01", CodiceCUC = "CUC123456", CodiceSIA = "SIA12", AnnoInizio = 2015, CodiceFiscale = "012365477859", CodiceCalcoloTariffaAcqua = "TAR01" }; _condominio.Palazzine.Clear(); _esercizio = new EsercizioDTO { Descrizione = "Primo Esercizio", DataApertura = new DateTime(2016, 6, 1), DataChiusura = new DateTime(2017, 5, 31) }; _banca01 = new DatiBancariCondomini("12345", "12345", "123456789012", "A", _condominio) {Iban = "IT02L1234512345123456789012" }; _banca02 = new DatiBancariCondomini("03268", "10001", "100000000000", "A", _condominio) { Iban = "IT11X03268100001100000000000" }; _stabile01 = new Palazzina(_condominio, "Stabile 01") {ID=1}; _stabile01.GruppiStabile.Clear(); _condominio.Palazzine.Add(_stabile01); var comune = new Comune("A944", "Bologna", new Provincia("BO", new Regione("Emilia Romagna"))); _gruppoStabile01 = new GruppoStabile(_stabile01, "Scala 01") { ID = 1, Ordine = 1, Note = "Note per Scala01", Indirizzo = new Address { Cap = "40131", Civico = "SCA/1", Indirizzo = "Via Scala01", Localita = "Scaletta01", Comune = comune } }; _gruppoStabile02 = new GruppoStabile(_stabile01, "Scala 02") { ID = 2, Ordine = 2, Note = "Note per Scala02", Indirizzo = new Address { Cap = "40132", Civico = "SCA/2", Indirizzo = "Via Scala02", Localita = "Scaletta02", Comune = comune } }; _condominio.Indirizzo = new Address { Indirizzo = "via dei Fiori", Cap = "40100", Civico = "23", Localita = "Pioppa", Comune = comune }; var listaTipoUnitaImmobiliare = new List<TipoUnitaImmobiliare> { new TipoUnitaImmobiliare("Tipo01") {ID = 1}, new TipoUnitaImmobiliare("Tipo02") {ID = 2} }; var fornitore = new Fornitore(new Persona(TipoPersonaEnum.Giuridica, "Franco", "Livoresi", _azienda.ID, true) {PartitaIva = "01867511204"}, _azienda.ID) {ID =1}; var fornitore01 = new Fornitore(new Persona(TipoPersonaEnum.Giuridica, "Luigi", "Majorana", _azienda.ID, true) { PartitaIva = "01230460394" }, _azienda.ID) {ID = 2}; var agenziaAssicurativa = new AgenziaAssicurativa(new Persona(TipoPersonaEnum.Giuridica, "", "Agenzia Bologna", _azienda.ID, true) { PartitaIva = "03211600402" }, fornitore01, "Agenzia BO", _azienda.ID) {ID = 3}; var tipoContratto = new TipoContratto("Pulizia Scale") {ID=1}; var tipoContrattoAssicurativo = new TipoContratto("Assicurazione") {ID=2}; _unitaImmobiliare01 = new UnitaImmobiliare(_gruppoStabile01, listaTipoUnitaImmobiliare[0]) { ID = 1, Descrizione = "Unità 01", Ordine = 1}; _unitaImmobiliare02 = new UnitaImmobiliare(_gruppoStabile01, new TipoUnitaImmobiliare("Tipo02")) { ID = 2, Descrizione = "Unità 02", Ordine = 2 }; _unitaImmobiliare03 = new UnitaImmobiliare(_gruppoStabile02, listaTipoUnitaImmobiliare[1]) { ID = 3, Descrizione = "Unità 03", Ordine = null }; _unitaImmobiliare04 = new UnitaImmobiliare(_gruppoStabile02, new TipoUnitaImmobiliare("Tipo NEW")) { ID = 4, Descrizione = "Unità 04", Ordine = 4 }; _unitaImmobiliare01.CondizioniSicurezzaImpianto = new SicurezzaImpianto { Norma = true, Note = "Note01" }; _unitaImmobiliareImpiantistica01 = new UnitaImmobiliareImpiantistica(_unitaImmobiliare01, "TipoImpianto01", true) { ID = 1, Descrizione = "Impianto 01"}; _unitaImmobiliareImpiantistica02 = new UnitaImmobiliareImpiantistica(_unitaImmobiliare01, "TipoImpianto02", false) {ID = 2, Descrizione = "Impianto 02"}; _persona01 = new Persona(TipoPersonaEnum.Fisica, "Mario", "Rossi", _azienda.ID, false) { ID = 1, ComuneNascita = comune, IndirizzoResidenza = new Address { Indirizzo = "via residenza01", Cap = "40101", Civico = "1", Comune = comune, Localita = "Pioppa 01" }, Domicilio = new Address { Indirizzo = "via domicilio01", Cap = "40101", Civico = "1", Comune = comune, Localita = "Pioppa 01" }, Recapito = new Address { Indirizzo = "via recapito01", Cap = "40101", Civico = "1", Comune = comune, Localita = "Pioppa 01" } }; _proprietario01 = new Proprietario(_unitaImmobiliare01, _persona01) {ID = 1, Descrizione = "Mario Rossi", VersamentoMav = true, Consigliere = true, Principale = true}; _persona02 = new Persona(TipoPersonaEnum.Giuridica, "Giulio", "Verdi", _azienda.ID, false) { ID = 2, ComuneNascita = comune, IndirizzoResidenza = new Address { Indirizzo = "via residenza02", Cap = "40102", Civico = "2", Comune = comune, Localita = "Pioppa 02" }, Domicilio = new Address { Indirizzo = "via domicilio02", Cap = "40102", Civico = "2", Comune = comune, Localita = "Pioppa 02" }, Recapito = new Address { Indirizzo = "via recapito02", Cap = "40102", Civico = "2", Comune = comune, Localita = "Pioppa 02" } }; _proprietario02 = new Proprietario(_unitaImmobiliare02, _persona02) {ID = 2, Descrizione = "Giulio Verdi", DataInizio = new DateTime(2015, 1, 1)}; _persona03 = new Persona(TipoPersonaEnum.Fisica, "Franco", "Bianchi", _azienda.ID, false) { ID = 3, IndirizzoResidenza = new Address { Indirizzo = "via residenza03", Cap = "40103", Civico = "3", Comune = comune, Localita = "Pioppa 03" }, Domicilio = new Address { Indirizzo = "via domicilio03", Cap = "40103", Civico = "3", Comune = comune, Localita = "Pioppa 03" } }; _persona01.Recapito = new Address { Indirizzo = "via recapito03", Cap = "40103", Civico = "3", Comune = comune, Localita = "Pioppa 03" }; _proprietario03 = new Proprietario(_unitaImmobiliare03, _persona03) {ID = 3, Descrizione = "Franco Bianchi"}; _proprietario04 = new Proprietario(_unitaImmobiliare04, _persona01) { ID = 4, SoggettoPrincipale = _proprietario01 }; _persona04 = new Persona(TipoPersonaEnum.Fisica, "Primo", "Conduttore", _azienda.ID, false) { ID = 4, IndirizzoResidenza = new Address { Indirizzo = "via residenza04", Cap = "40104", Civico = "4", Comune = comune, Localita = "Pioppa 04" }, Domicilio = new Address { Indirizzo = "via domicilio04", Cap = "40104", Civico = "4", Comune = comune, Localita = "Pioppa 04" }, Recapito = new Address { Indirizzo = "via recapito04", Cap = "40104", Civico = "4", Comune = comune, Localita = "Pioppa 04" } }; _conduttore01 = new Conduttore(_unitaImmobiliare01, _persona04) {ID = 5, Descrizione = "Primo Conduttore"}; _persona05 = new Persona(TipoPersonaEnum.Fisica, "Secondo", "Conduttore", _azienda.ID, false) { ID = 5, IndirizzoResidenza = new Address { Indirizzo = "via residenza05", Cap = "40105", Civico = "5", Comune = comune, Localita = "Pioppa 05" }, Domicilio = new Address { Indirizzo = "via domicilio05", Cap = "40105", Civico = "5", Comune = comune, Localita = "Pioppa 05" }, Recapito = new Address { Indirizzo = "via recapito05", Cap = "40105", Civico = "5", Comune = comune, Localita = "Pioppa 05" } }; _conduttore02 = new Conduttore(_unitaImmobiliare02, _persona05) {ID = 6, Descrizione = "Secondo Conduttore"}; _contatto01 = new Email("*****@*****.**", true, _persona01) { ID = 1, Descrizione = "mail principale persona 01"}; _contatto02 = new Email("*****@*****.**", false, _persona01) { ID = 2, Descrizione = "mail secondaria persona 01" }; _contatto03 = new Cellulare("1234567890", true, _persona01) { ID = 3, Descrizione = "cellulare principale persona 01" }; _contatto04 = new Fax("9876543210", false, _persona02) { ID = 4, Descrizione = "fax persona 02" }; _contatto05 = new Telefono("1357924680", true, _persona03) { ID = 5, Descrizione = "telefono persona 03" }; _contatto06 = new EmailCertificata("*****@*****.**", true, _persona01) { ID = 6, Descrizione = "mail certificata persona 01" }; _contatto07 = new SitoInternet("www.bianchi.it", false, _persona03) { ID = 7, Descrizione = "sito internet persona03" }; _contatto08 = new Telefono("3333333333", false, _persona04) { ID = 8, Descrizione = "telefono persona 04" }; _contatto09 = new Cellulare("9999999999", true, _persona05) { ID = 9, Descrizione = "cellulare persona 05" }; _contatto10 = new Email("*****@*****.**", false, _persona05) { ID=10 }; _condominio.PersoneDaNonSollecitare.Add(new PersonaDaNonSollecitare(_persona01, _condominio) { Motivo = "persona01 non paga" }); _condominio.PersoneDaNonSollecitare.Add(new PersonaDaNonSollecitare(_persona03, _condominio) { Motivo = "persona02 è simpatica" }); // Contratto Appalto _documentocontrattoAppalto01 = new Documento(201, "Appalto", true, _azienda) { ID = 1, CondominioRiferimento = _condominio, Checksum = "CHK001", FileName = "appalto01", FileExtension = "pdf", Descrizione = "Appalto001" }; _documentocontrattoAppalto02 = new Documento(202, "Appalto", true, _azienda) { ID = 2, CondominioRiferimento = _condominio, Checksum = "CHK002", FileName = "appalto02", FileExtension = "pdf", Descrizione = "Appalto002" }; _contrattoAppalto = new ContrattoAppalto(tipoContratto, _condominio, fornitore) { ID = 1, NumeroContratto = "CONTRA001", Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto di Appalto di prova", Note = "Nota per contratto appalto", Documenti = { _documentocontrattoAppalto01, _documentocontrattoAppalto02 } }; _documentocontrattoAppalto01.ContrattoRiferimento = _contrattoAppalto; _documentocontrattoAppalto02.ContrattoRiferimento = _contrattoAppalto; // Contratto Assicurativo _documentocontrattoAssicurativo01 = new Documento(203, "Assicurativo01", true, _azienda) { ID = 3, CondominioRiferimento = _condominio, Checksum = "CHK003", FileName = "assicurazione01", FileExtension = "pdf", Descrizione = "Assicurazione001" }; _documentocontrattoAssicurativo02 = new Documento(204, "Assicurativo02", true, _azienda) { ID = 4, CondominioRiferimento = _condominio, Checksum = "CHK004", FileName = "assicurazione02", FileExtension = "pdf", Descrizione = "Assicurazione002" }; _contrattoAssicurativo = new AssicurazioneContratto(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 2, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_ASS_001", Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto Assicurativo di prova", Note = "Nota per contratto assicurativo", Documenti = { _documentocontrattoAssicurativo01, _documentocontrattoAssicurativo02 } }; _contrattoAssicurativoGlobale = new GlobaleAssicurazione(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 3, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_GLOB_001", Scadenza = new DateTime(2016, 12, 31), ImportoLimiteCoseRCT = 50000, ImportoMassimaleSinistroRCT = 60000, ImportoUnicoRCT = 70000, ImportoPremio = 80000, Descrizione = "Contratto Globale di prova", Note = "Nota per contratto globale", FranchigiaDanniAcqua = 90000, FranchigiaRicercaGuasto = 100000, ValoreRicostruzioneNuovo = 110000, DanniAcqua = true, RicercaGuasto = true }; _contrattoAssicurativoIncendio = new IncendioAssicurazione(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 4, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_INC_001", ImportoLimiteCoseRCT = 150000, ImportoMassimaleSinistroRCT = 160000, ImportoUnicoRCT = 170000, ImportoPremio = 180000, FranchigiaDanniAcqua = 120000, FranchigiaRicercaGuasto = 130000, ValoreRicostruzioneNuovo = 140000, DanniAcqua = true, RicercaGuasto = false, Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto Incendio di prova", Note = "Nota per contratto incendio" }; _contrattoAssicurativoFurto = new FurtoAssicurazione(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 5, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_FURTO_001", Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto Furto di prova", Note = "Nota per contratto furto" }; _contrattoAssicurativoInfortuni = new InfortuniAssicurazione(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 6, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_INFORTUNI_001", Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto Infortuni di prova", Note = "Nota per contratto infortuni" }; _contrattoAssicurativoResponsabilitaCivile = new ResponsabilitaCivileAssicurazione(new DateTime(2016, 11, 30), new DateTime(2016, 07, 15), tipoContrattoAssicurativo) { ID = 7, FornitoreAttuale = agenziaAssicurativa, NumeroContratto = "CONTR_RESPCIV_001", Scadenza = new DateTime(2016, 12, 31), Descrizione = "Contratto Responsabilità civile di prova", Note = "Nota per contratto responsabilità civile" }; _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativo); _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativoGlobale); _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativoIncendio); _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativoFurto); _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativoInfortuni); _condominio.ContrattiAssicurativi.Add(_contrattoAssicurativoResponsabilitaCivile); _contrattoAssicurativo.CondominioRiferimento = _condominio; _contrattoAssicurativoGlobale.CondominioRiferimento = _condominio; _contrattoAssicurativoIncendio.CondominioRiferimento = _condominio; _contrattoAssicurativoFurto.CondominioRiferimento = _condominio; _contrattoAssicurativoInfortuni.CondominioRiferimento = _condominio; _contrattoAssicurativoResponsabilitaCivile.CondominioRiferimento = _condominio; _documentocontrattoAssicurativo01.ContrattoRiferimento = _contrattoAssicurativo; _documentocontrattoAssicurativo02.ContrattoRiferimento = _contrattoAssicurativo; // Conti / Millesimi _conto01 = new Conto(_condominio, TipoContoEconomicoEnum.Economico, TipoPeriodoCompetenzaContabile.Esercizio, "SPESE GENERALI PROPRIETA'", true, true, false) {DescrizioneBilancio = "SPE GEN", Codice = "001", ID = 1}; _conto02 = new Conto(_condominio, TipoContoEconomicoEnum.Economico, TipoPeriodoCompetenzaContabile.Riscaldamento, "SPESE RISCALDAMENTO", true, true, false) { DescrizioneBilancio = "SPE RIS", Codice = "002", ID = 2 }; _sottoconto01 = new SottoConto(_conto01, "SPESE SCALA 01") { Codice = "001.001", ID = 1 }; _sottoconto02 = new SottoConto(_conto01, "SPESE SCALA 02") { Codice = "001.002", ID = 2 }; _sottoconto03 = new SottoConto(_conto02, "SPESE ABITAZIONI") { Codice = "002.001", ID = 3 }; _sottoconto04 = new SottoConto(_conto02, "SPESE GARAGE") { Codice = "002.002", ID = 4 }; _millesimo01 = new Millesimo(_conto01, _unitaImmobiliare01) { ID = 1, Valore = 100 }; _millesimo02 = new Millesimo(_conto01, _unitaImmobiliare02) { ID = 2, Valore = 200 }; _millesimo03 = new Millesimo(_conto02, _unitaImmobiliare01) { ID = 3, Valore = 300 }; _millesimo04 = new Millesimo(_conto02, _unitaImmobiliare02) { ID = 4, Valore = 400 }; _fascicoloImmobiliare = new FascicoloImmobiliare("Prova Fascicolo", "PRO", "01") {ID=1}; _fascicoloCondominio = new FascicoloCondominio(_fascicoloImmobiliare, _condominio) { ID =1, Necessario = true, Presente = false }; _fascicoloCondominio.Documenti.Add(_documentocontrattoAppalto01); _fascicoloCondominio.Documenti.Add(_documentocontrattoAssicurativo02); _documentocontrattoAppalto01.Fascicoli.Add(_fascicoloCondominio); _documentocontrattoAssicurativo02.Fascicoli.Add(_fascicoloCondominio); // Stub per IDaoFactory _daoFactory = MockRepository.GenerateStub<IDaoFactory>(); // Stub per azienda var aziendaDao = MockRepository.GenerateStub<IAziendaDao>(); aziendaDao.Stub(x => x.Find(2, false)).Return(_aziendaDestinazione); _daoFactory.Stub(x => x.GetAziendaDao()).Return(aziendaDao); // Stub per tipo unità immobiliare var tipoUnitaImmobiliareDao = MockRepository.GenerateStub<ITipoUnitaImmobiliareDao>(); tipoUnitaImmobiliareDao.Stub(x => x.GetByAzienda(Arg<int>.Is.Anything)).Return(listaTipoUnitaImmobiliare); _daoFactory.Stub(x => x.GetTipoUnitaImmobiliareDao()).Return(tipoUnitaImmobiliareDao); // Stub per fornitore var fornitoreDao = MockRepository.GenerateStub<IFornitoreDao>(); fornitoreDao.Stub(x => x.Find(1, false)).Return(fornitore); fornitoreDao.Stub(x => x.Find(2, false)).Return(fornitore01); fornitoreDao.Stub(x => x.GetByPartitaIva("01867511204", _aziendaDestinazione.ID)).Return(fornitore); fornitoreDao.Stub(x => x.GetByPartitaIva("01230460394", _aziendaDestinazione.ID)).Return(fornitore01); fornitoreDao.Stub(x => x.GetByPartitaIva("03211600402", _aziendaDestinazione.ID)).Return(agenziaAssicurativa); _daoFactory.Stub(x => x.GetFornitoreDao()).Return(fornitoreDao); // Stub per tipo contratto var tipoContrattoDao = MockRepository.GenerateStub<ITipoContrattoDao>(); tipoContrattoDao.Stub(x => x.GetByDescrizione("Pulizia Scale", _aziendaDestinazione.ID)).Return(tipoContratto); tipoContrattoDao.Stub(x => x.GetByDescrizione("Assicurazione", _aziendaDestinazione.ID)).Return(tipoContrattoAssicurativo); _daoFactory.Stub(x => x.GetTipoContrattoDao()).Return(tipoContrattoDao); // Stub per Comune var comuneDao = MockRepository.GenerateStub<IComuneDao>(); comuneDao.Stub(x => x.Find(comune.Codice, false)).Return(comune); comuneDao.Stub(x => x.Find(null, false)).Throw(new NullReferenceException("Id non può essere null")); _daoFactory.Stub(x => x.GetComuneDao()).Return(comuneDao); // Stub per fascicolo immobiliare _fascicoloImmobiliareDao = MockRepository.GenerateStub<IFascicoloImmobiliareDao>(); _fascicoloImmobiliareDao.Stub(x => x.GetByAzienda(_aziendaDestinazione.ID)).Return(new List<FascicoloImmobiliare> { _fascicoloImmobiliare }); _daoFactory.Stub(x => x.GetFascicoloImmobiliareDao()).Return(_fascicoloImmobiliareDao); _documentService = MockRepository.GenerateStub<IDocumentService>(); _exportCsvCondominiService = new ExportCsvCondominiService(); _importCsvCondominiService = new ImportCsvCondominiService(_daoFactory, _documentService); }
private bool insert(DocumentoDTO dto, out Documento item, int idAzienda) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); bool result; try { var fileName = dto.FileName; if (!string.IsNullOrEmpty(fileName) && fileName.Length > 256) fileName = fileName.Substring(0, 256); var descrizione = dto.Descrizione; if (!string.IsNullOrEmpty(descrizione) && descrizione.Length > 500) descrizione = fileName.Substring(0, 500); if (string.IsNullOrEmpty(dto.Tipo)) dto.Tipo = "Altro"; item = new Documento(dto.Checksum, fileName, dto.FileExtension, dto.Tipo, false, daoFactory.GetAziendaDao().GetById(idAzienda, false)) { Descrizione = descrizione, DirectoryName = dto.DirectoryName, VisibileCondomino = dto.VisibileCondomino }; // ------------------------------------- // Fascicoli // ------------------------------------- item.Fascicoli.Clear(); if (dto.IdFascicoli != null) { foreach (var t in dto.IdFascicoli.Where(t => t > 0)) item.Fascicoli.Add(daoFactory.GetFascicoloCondominioDao().GetById(t, false)); } // ------------------------------------- // Condominio Riferimento // ------------------------------------ if (dto.IdCondominio != null && dto.IdCondominio > 0) item.CondominioRiferimento = daoFactory.GetCondominioDao().GetById(dto.IdCondominio.Value, false); // ------------------------------------- // Fornitore Riferimento // ------------------------------------ if (dto.IdFornitore != null && dto.IdFornitore > 0) item.FornitoreRiferimento = daoFactory.GetFornitoreDao().GetById(dto.IdFornitore.Value, false); // ------------------------------------- // Unità Immobiliare Riferimento // ------------------------------------ if (dto.IdUnitaImmobiliare != null && dto.IdUnitaImmobiliare > 0) item.UnitaImmobiliareRiferimento = daoFactory.GetUnitaImmobiliareDao().GetById(dto.IdUnitaImmobiliare.Value, false); // ------------------------------------- // Attivita Riferimento // ------------------------------------ if (dto.IdAttivita != null && dto.IdAttivita > 0) item.AttivitaRiferimento = daoFactory.GetAttivitaDao().GetById(dto.IdAttivita.Value, false); // ------------------------------------- // Pratica Riferimento // ------------------------------------ if (dto.IdPratica != null && dto.IdPratica > 0) item.PraticaRiferimento = daoFactory.GetPraticaDao().GetById(dto.IdPratica.Value, false); // ------------------------------------- // Spesa Riferimento // ------------------------------------ if (dto.IdSpesa != null && dto.IdSpesa > 0) { var spesa = daoFactory.GetSpesaDao().Find(dto.IdSpesa.Value, false); if(spesa != null) item.SpesaRiferimento = spesa; else _log.WarnFormat("Spesa non trovata - {0} - spesa:{1} - azienda:{2}", Library.Utility.GetMethodDescription(), dto.IdSpesa, _info.Azienda); } // ------------------------------------- // Versamento Riferimento // ------------------------------------ if (dto.IdVersamento != null && dto.IdVersamento > 0) item.VersamentoRiferimento = daoFactory.GetVersamentoSoggettoDao().GetById(dto.IdVersamento.Value, false); // ------------------------------------- // Sollecito Riferimento // ------------------------------------ if (dto.IdSollecito != null && dto.IdSollecito > 0) item.SollecitoRiferimento = daoFactory.GetSollecitoDao().GetById(dto.IdSollecito.Value, false); // ------------------------------------- // Contratto // ------------------------------------ if (dto.IdContratto != null && dto.IdContratto > 0) { if(dto.TipoContratto == TipoContrattoEnum.ContrattoAppalto) item.ContrattoRiferimento = daoFactory.GetContrattoAppaltoDao().GetById(dto.IdContratto.Value, false); else if(dto.TipoContratto == TipoContrattoEnum.ContrattoAssicurativo) item.ContrattoRiferimento = daoFactory.GetAssicurazioneContrattoDao().GetById(dto.IdContratto.Value, false); } daoFactory.GetDocumentoDao().SaveOrUpdate(item); result = true; } catch (Exception ex) { _log.ErrorFormat("Errore nell'inserimento del documento - {0} - id:{1} - fileName:{2} - fileExtension:{3} - descrizione:{4} - directory:{5}", ex, Library.Utility.GetMethodDescription(), dto.ID, dto.FileName, dto.FileExtension, dto.Descrizione, dto.DirectoryName); throw; } return result; }
private bool update(DocumentoDTO dto, out Documento item) { bool result = false; item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = daoFactory.GetDocumentoDao().Find(dto.ID, false); if (item != null) { //// Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia //if (dto.Version == item.Version) //{ item.Checksum = dto.Checksum; item.Descrizione = dto.Descrizione; item.DirectoryName = dto.DirectoryName; item.FileExtension = dto.FileExtension; item.FileName = dto.FileName; item.VisibileCondomino = dto.VisibileCondomino; if (!string.IsNullOrEmpty(dto.Tipo)) item.Tipo = dto.Tipo; // ------------------------------------- // Fascicoli // ------------------------------------- item.Fascicoli.Clear(); if (dto.IdFascicoli != null) { foreach (var t in dto.IdFascicoli) { if (t > 0) item.Fascicoli.Add(daoFactory.GetFascicoloCondominioDao().GetById(t, false)); } } // ------------------------------------- // Condominio Riferimento // ------------------------------------ if (dto.IdCondominio != null && dto.IdCondominio > 0) item.CondominioRiferimento = daoFactory.GetCondominioDao().GetById(dto.IdCondominio.Value, false); // ------------------------------------- // Fornitore Riferimento // ------------------------------------ if (dto.IdFornitore != null && dto.IdFornitore > 0) item.FornitoreRiferimento = daoFactory.GetFornitoreDao().GetById(dto.IdFornitore.Value, false); // ------------------------------------- // Unità Immobiliare Riferimento // ------------------------------------ if (dto.IdUnitaImmobiliare != null && dto.IdUnitaImmobiliare > 0) item.UnitaImmobiliareRiferimento = daoFactory.GetUnitaImmobiliareDao().GetById(dto.IdUnitaImmobiliare.Value, false); // ------------------------------------- // Attivita Riferimento // ------------------------------------ if (dto.IdAttivita != null && dto.IdAttivita > 0) item.AttivitaRiferimento = daoFactory.GetAttivitaDao().GetById(dto.IdAttivita.Value, false); // ------------------------------------- // Pratica Riferimento // ------------------------------------ if (dto.IdPratica != null && dto.IdPratica > 0) item.PraticaRiferimento = daoFactory.GetPraticaDao().GetById(dto.IdPratica.Value, false); // ------------------------------------- // Contratto // ------------------------------------ if (dto.IdContratto != null && dto.IdContratto > 0) { switch (dto.TipoContratto) { case TipoContrattoEnum.ContrattoAppalto: item.ContrattoRiferimento = daoFactory.GetContrattoAppaltoDao().GetById(dto.IdContratto.Value, false); break; case TipoContrattoEnum.ContrattoAssicurativo: item.ContrattoRiferimento = daoFactory.GetAssicurazioneContrattoDao().GetById(dto.IdContratto.Value, false); break; } } // ------------------------------------- // Versamento Riferimento // ------------------------------------ if (dto.IdVersamento != null && dto.IdVersamento > 0) item.VersamentoRiferimento = daoFactory.GetVersamentoSoggettoDao().GetById(dto.IdVersamento.Value, false); // ------------------------------------- // Sollecito Riferimento // ------------------------------------ if (dto.IdSollecito != null && dto.IdSollecito > 0) item.SollecitoRiferimento = daoFactory.GetSollecitoDao().GetById(dto.IdSollecito.Value, false); daoFactory.GetDocumentoDao().Update(item); result = true; //} //else //{ // // Eccezione: Sul db c'è qualche cosa di più nuovo. // // _log.Error("Errore nel salvataggio del documento: id:" + dto.ID + " - il dato sul db è più recente di quello che si vuole salvare"); // result = false; //} } } catch (Exception ex) { _log.Error("Errore nel salvataggio del documento: " + Library.Utility.GetMethodDescription() + " - id:" + dto.ID, ex); throw; } return result; }
public ResultDocumento SaveDocument(int idFascicoloImmobiliare, int idCondominio, string descrizione, DateTime? data, int? idFornitore, bool visibileCondomino) { var message = string.Empty; var condominio = _daoFactory.GetCondominioDao().GetById(idCondominio, false); var fascicoloImmobiliare = _daoFactory.GetFascicoloImmobiliareDao().GetById(idFascicoloImmobiliare, false); var fascicolo = _daoFactory.GetFascicoloCondominioDao().GetByFascicoloImmobiliareCondominio(fascicoloImmobiliare, condominio); if (fascicolo == null) { fascicolo = new FascicoloCondominio(fascicoloImmobiliare, condominio) {Necessario = false, Presente = true}; _daoFactory.GetFascicoloCondominioDao().SaveOrUpdate(fascicolo); } Documento documento = null; var protocollo = _protocolloService.GetProgressivo(TipoProtocollo.Documento, fascicolo.CondominioRiferimento); if (protocollo.Progressivo != null) { documento = new Documento(protocollo.Progressivo.Value, fascicoloImmobiliare.GetDescrizioneCompleta(false, null), false, condominio.Azienda) {Descrizione = descrizione}; if (idFornitore != null) documento.FornitoreRiferimento = _daoFactory.GetFornitoreDao().GetById(idFornitore.Value, false); documento.Data = data; documento.FileName = _archiviazioneOtticaService.GetIdentificativoArchiviazione(documento, condominio, true); documento.IdentificativoArchiviazioneOttica = _archiviazioneOtticaService.GetIdentificativoArchiviazione(documento, condominio, false); documento.CondominioRiferimento = condominio; documento.VisibileCondomino = visibileCondomino; documento.FileExtension = "Archiva"; documento.IsAbilitataArchiviazioneOttica = true; fascicolo.Documenti.Add(documento); _daoFactory.GetDocumentoDao().SaveOrUpdate(documento); } else message = protocollo.Message + Environment.NewLine; if (!string.IsNullOrEmpty(message)) documento = null; return new ResultDocumento(documento, message); }
public DocumentInfo GetDocumentInfo(Documento doc, TipoDocumentoArchiviazione tipo) { var docInfo = new DocumentInfo(); if (doc != null) { var docService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IDocumentService>("savedocument.FileSystem"); docInfo = docService.GetDocument(doc.Checksum, _info.Azienda, tipo); docInfo.FileName = doc.FileName; } return docInfo; }
/// <summary> /// Crea il file per la disposizione dei bonifici in formato SEPA SCT /// Nel caso in cui siano presenti più debitori (Condomini) viene creato un file zip contenente tutte le disposizioni di bonifico /// </summary> /// <param name="disposizione">Oggetto contenente tutti i metadati dei bonifici</param> /// <param name="accorpate">Usato solo per i bonifici CBI</param> /// <param name="idModello">Usato solo per i pagamenti manuali</param> /// <param name="testataPerCondominio">Usato solo per i bonifici CBI</param> /// <param name="mittenteCondominio">Usato solo per i bonifici CBI</param> /// <returns></returns> public ResultPagamento EsecuzionePagamenti(Disposizione disposizione, bool accorpate, int? idModello, bool testataPerCondominio, bool mittenteCondominio) { string message; try { var documentInfo = new DocumentInfo(); message = IsAllowPagamento(disposizione.Pagamenti.Select(item => item.ScadenzaRiferimento.ID).ToList(), true); if (string.IsNullOrEmpty(message)) { var pagamenti = disposizione.Pagamenti.GroupBy(item => item.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento).ToList(); var stream = new MemoryStream(); ZipFile zipFile = null; var singleFileName = string.Empty; if (pagamenti.Count > 1) zipFile = new ZipFile(); foreach (var pagamentiGroupByCondominio in pagamenti) { try { var sepa = new CBIPaymentRequest000400 { PaymentInfo = getPaymentInfo(pagamentiGroupByCondominio.Key, pagamentiGroupByCondominio.ToList()), GroupHeader = getGroupHeader(pagamentiGroupByCondominio.ToList(), pagamentiGroupByCondominio.Key) }; var envelop = new CBIBdyPaymentRequest000400 { CBIEnvelPaymentRequest = { CBIPaymentRequest = sepa } }; var streamContent = Library.XML.SerializerHelper<CBIBdyPaymentRequest000400>.Serialize(envelop, new List<string> { "urn:CBI:xsd:CBIBdyPaymentRequest.00.04.00", "urn:CBI:xsd:CBIPaymentRequest.00.04.00" }); var fileName = ContabilitaHelper.GetFileName("Pagamenti", pagamentiGroupByCondominio.Key); if (zipFile != null) { streamContent.Seek(0, SeekOrigin.Begin); zipFile.AddEntry($"{fileName}.xml", streamContent); } else { stream = (MemoryStream)streamContent; singleFileName = fileName; } } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la creazione del file CBI dei bonifici - SINGOLO CONDOMINIO - {0} - condominio:{1} - modello:{2} - disposizione:{3} - azienda:{4}", ex, Library.Utility.GetMethodDescription(), pagamentiGroupByCondominio.Key.ID, idModello, disposizione.ID, disposizione.Azienda.ID); throw; } } if (zipFile != null) { documentInfo.FileName = ContabilitaHelper.GetFileName("Pagamenti", null); documentInfo.FileExtension = ".zip"; zipFile.Save(stream); var documentMessages = _documentService.SaveDocument(stream.ToArray(), documentInfo.FileName, documentInfo.FileExtension, null, disposizione.Azienda.ID); var documento = new Documento(documentMessages.Documento.Checksum, documentInfo.FileName, documentInfo.FileExtension, "DisposizioneBonifico", false, disposizione.Azienda); _daoFactory.GetDocumentoDao().Save(documento); disposizione.Documento = documento; documentInfo.Body = stream.ToArray(); zipFile.Dispose(); } else { documentInfo.Body = stream.ToArray(); documentInfo.FileName = singleFileName; documentInfo.FileExtension = ".xml"; disposizione.ContenutoFile = Library.Conversione.ToString(documentInfo.Body); } stream.Close(); stream.Dispose(); } return new ResultPagamento(message, documentInfo, null); } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la creazione del file CBI dei bonifici - {0} - modello:{1} - disposizione:{2} - azienda:{3}", ex, Library.Utility.GetMethodDescription(), idModello, disposizione.ID, disposizione.Azienda.ID); message = "Si sono verificati problemi inaspettati durante la creazione del file CBI dei bonifici." + Environment.NewLine + "Controllare il log per ulteriori dettagli."; return new ResultPagamento(message, new DocumentInfo(), null); } }
public string SetFirmaAmministratore(int idAzienda, DocumentInfo firma) { try { var message = string.Empty; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); var azienda = daoFactory.GetAziendaDao().GetById(idAzienda, false); // Salvo il documento fisico var docService = _windsorRepository.GetContainer(idAzienda).Resolve<IDocumentService>("savedocument.FileSystem"); var documentMessage = docService.SaveDocument(firma.Body, firma.FileName, null, null, idAzienda); if (documentMessage.Documento != null) { var checksum = documentMessage.Documento.Checksum; // Salvo la firma var documentoFirma = new Documento(checksum, firma.FileName, getEstensioneFromBytes(firma.Body, ".png"), "Firma", false, azienda); daoFactory.GetDocumentoDao().SaveOrUpdate(documentoFirma); azienda.FirmaAmministratore = documentoFirma; } else message = documentMessage.Message; return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio della firma dell'Amministratore - {0} - azienda: {1}", ex, Utility.GetMethodDescription(), idAzienda); throw; } }
public string SetLogoRtfDate(int idAzienda, DocumentInfo logo) { try { var message = string.Empty; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); var azienda = daoFactory.GetAziendaDao().GetById(idAzienda, false); // Salvo il documento fisico var docService = _windsorRepository.GetContainer(idAzienda).Resolve<IDocumentService>("savedocument.FileSystem"); if ((logo.Body == null || logo.Body.Length == 0) && !string.IsNullOrEmpty(logo.BodyText)) logo.Body = Conversione.ToByteArray(logo.BodyText); var documentMessage = docService.SaveDocument(logo.Body, logo.FileName, null, null, idAzienda); if (documentMessage.Documento != null) { var checksum = documentMessage.Documento.Checksum; // Salvo il documento var documentoLogo = new Documento(checksum, logo.FileName, getEstensioneFromBytes(logo.Body, ".rtf"), "Logo", false, azienda); daoFactory.GetDocumentoDao().SaveOrUpdate(documentoLogo); azienda.LogoRtfReportDate = documentoLogo; } else message = documentMessage.Message; return message; } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio del logo DATE della Azienda - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), idAzienda); throw; } }
private static DocumentoDTO setDocumentoDto(Documento item) { var dto = new DocumentoDTO { Checksum = item.Checksum, Descrizione = item.Descrizione, DirectoryName = item.DirectoryName, Version = item.Version, FileExtension = item.FileExtension, FileName = item.FileName, ID = item.ID, VisibileCondomino = item.VisibileCondomino, Tipo = item.Tipo, NoCache = item.NoCache, DataCreazione = item.DataInserimento.GetValueOrDefault() }; if (item.CondominioRiferimento != null) dto.IdCondominio = item.CondominioRiferimento.ID; if (item.ContrattoRiferimento!= null) dto.IdContratto = item.ContrattoRiferimento.ID; return dto; }
public string GetIdentificativoArchiviazione(Documento documento, Condominio condominio, bool separatore) { return getIdentificativoArchiviazione(documento, condominio, separatore); }
private string getIdentificativoArchiviazione(Documento documento, Condominio condominioRiferimento, bool separatore) { var identificativo = new StringBuilder(); try { if (documento.NumeroProtocollo != null) { // Azienda identificativo.Append(condominioRiferimento.Azienda.Codice); // Condominio if (separatore) identificativo.Append(SEPARATORE); identificativo.Append(condominioRiferimento.Codice.PadLeft(5, '0')); // Protocollo if (separatore) identificativo.Append(SEPARATORE); identificativo.Append(documento.NumeroProtocollo.Value.ToString().PadLeft(5, '0')); } } catch (Exception ex) { _log.Error("Errore inaspettato nella richiesta dell'identificativo per l'archiviazione ottica sostitutiva - " + Utility.GetMethodDescription() + " (Documento) - id:" + documento.ID, ex); throw; } return identificativo.ToString(); }
public DocumentoDTO GetByDomainEntity(Documento item) { try { return SetDto(item); } catch (Exception ex) { _log.Error("Errore nel caricamento dei condomini: " + Library.Utility.GetMethodDescription() + " - id:" + item.ID, ex); throw; } }
public DocumentoDTO SetDto(Documento item) { if(item != null) { var dto = new DocumentoDTO { Checksum = item.Checksum, Descrizione = item.Descrizione, DirectoryName = item.DirectoryName, FileExtension = item.FileExtension, FileName = item.FileName, ID = item.ID, VisibileCondomino = item.VisibileCondomino, IdentificativoArchiviazioneOttica = item.IdentificativoArchiviazioneOttica, NoCache = item.NoCache, DataCreazione = item.DataInserimento.GetValueOrDefault() }; if (string.IsNullOrEmpty(dto.Descrizione)) dto.Descrizione = dto.FileName; if (item.CondominioRiferimento != null) { dto.IdCondominio = item.CondominioRiferimento.ID; dto.DescrizioneCondominio = item.CondominioRiferimento.DisplayName; } else if (item.Fascicoli.Count > 0) { var fascicolo = Library.IesiGenericCollections<FascicoloCondominio>.GetByIndex(item.Fascicoli, 0); dto.IdCondominio = fascicolo.CondominioRiferimento.ID; dto.DescrizioneCondominio = fascicolo.CondominioRiferimento.DisplayName; } if (item.FornitoreRiferimento != null) { dto.IdFornitore = item.FornitoreRiferimento.ID; dto.DescrizioneFornitore = item.FornitoreRiferimento.DisplayName; } if (item.UnitaImmobiliareRiferimento != null) { dto.IdUnitaImmobiliare = item.UnitaImmobiliareRiferimento.ID; dto.DescrizioneUnitaImmobiliare = item.UnitaImmobiliareRiferimento.Descrizione; } if (item.SpesaRiferimento != null) { dto.IdSpesa = item.SpesaRiferimento.ID; dto.DescrizioneSpesa = item.IdentificativoArchiviazioneOttica; } if (item.AttivitaRiferimento != null) dto.IdAttivita = item.AttivitaRiferimento.ID; if (item.PraticaRiferimento != null) dto.IdPratica = item.PraticaRiferimento.ID; if (item.VersamentoRiferimento != null) dto.IdVersamento = item.VersamentoRiferimento.ID; if (item.SollecitoRiferimento != null) dto.IdSollecito = item.SollecitoRiferimento.ID; if (item.ContrattoRiferimento != null) { dto.IdContratto = item.ContrattoRiferimento.ID; if (item.ContrattoRiferimento is ContrattoAppalto) dto.TipoContratto = TipoContrattoEnum.ContrattoAppalto; else if (item.ContrattoRiferimento is AssicurazioneContratto) dto.TipoContratto = TipoContrattoEnum.ContrattoAssicurativo; dto.DescrizioneContratto = item.ContrattoRiferimento.DisplayName; } dto.Tipo = item.Tipo; if (string.IsNullOrEmpty(dto.Tipo) && dto.TipoContratto != TipoContrattoEnum.Undefined) dto.Tipo = dto.TipoContratto.Description(); dto.Version = item.Version; //Fascicoli var indexFascicoli = 0; foreach (var fascicoloCondominio in item.Fascicoli) { if (dto.IdFascicoli == null) dto.IdFascicoli = new int[item.Fascicoli.Count]; dto.IdFascicoli[indexFascicoli] = fascicoloCondominio.ID; indexFascicoli++; } return dto; } return new DocumentoDTO(); }
public ResultDocumento(Documento documento, string message) { Documento = documento; Message = message; }
public RisultatoInvioMessaggioAllegati NotificaAIncaricato(int idAttivita, MotivoMessaggio motivoMessaggio, IList<PersonaMessaggioDTO> persone, string oggettoMessaggio, string testoMessaggio, string mittente, string emailRapportino, IList<DocumentoMessaggioDTO> allegati, IList<DocumentInfo> allegatiNuovi, TipoMessaggio tipo, int? idModello, ParametriStampaUnione parametri, ParametriInvioLettera parametriInvioLettera, bool aggiornaContatti, int? idCondominio) { try { // Invio i messaggi var messaggioRepository = new MessaggioRepository(_info, _windsorRepository); var contatti = persone.ToDictionary(personaMessaggioDTO => personaMessaggioDTO.ID, personaMessaggioDTO => new BindingList<ContattoDTO>(personaMessaggioDTO.Contatti)); var risultatoInvio = messaggioRepository.InvioMessaggioPersone(motivoMessaggio, oggettoMessaggio, testoMessaggio, persone, contatti, mittente, emailRapportino, allegati, allegatiNuovi, tipo, idModello, parametri, parametriInvioLettera, aggiornaContatti, idCondominio, _info.Azienda); // Associo i messaggi avviati con l'attività var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); var attivita = daoFactory.GetAttivitaDao().Find(idAttivita, false); if (attivita != null) { foreach (var risultatoInvioMessaggio in risultatoInvio.RisultatoInvio) { if (risultatoInvioMessaggio.InvioRiuscito && risultatoInvioMessaggio.IdMessaggio > 0) { var attivitaMessaggio = new AttivitaMessaggio(attivita, daoFactory.GetStoricoMessaggioDao().GetById(risultatoInvioMessaggio.IdMessaggio, false)); daoFactory.GetAttivitaMessaggioDao().SaveOrUpdate(attivitaMessaggio); } } // Salvo tutti i documenti legandoli alla attività foreach (var documentInfo in risultatoInvio.Allegati) { var documento = new Documento(documentInfo.FileId, documentInfo.FileName, documentInfo.FileExtension, "Attivita", false, daoFactory.GetAziendaDao().GetById(attivita.PraticaRiferimento.AziendaID.GetValueOrDefault(), false)) { Descrizione = documentInfo.BodyText, AttivitaRiferimento = attivita }; daoFactory.GetDocumentoDao().SaveOrUpdate(documento); } // Documenti generati dall'invio manuale del messaggio foreach (var itemResult in risultatoInvio.RisultatoInvio) { if (itemResult.Messaggio.Body != null) { var documentoLettera = new Documento(itemResult.Messaggio.FileId, itemResult.Messaggio.FileName, itemResult.Messaggio.FileExtension, "Attivita", false, daoFactory.GetAziendaDao().GetById(attivita.PraticaRiferimento.AziendaID.GetValueOrDefault(), false)) { Descrizione = itemResult.Messaggio.BodyText, AttivitaRiferimento = attivita }; daoFactory.GetDocumentoDao().SaveOrUpdate(documentoLettera); } } } return risultatoInvio; } catch (Exception ex) { _log.ErrorFormat("Errore durante l'invio del messaggio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), _info.Azienda); throw; } }