public FascicoloCondominioDTO GetByFCDomainEntity(FascicoloCondominio fascicoloCond) { try { return setFascicoloCondominioDto(fascicoloCond); } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento del fascicolo condominio - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), fascicoloCond != null ? fascicoloCond.ID.ToString() : "<NULL>"); 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(FascicoloCondominioDTO fcDto, out FascicoloCondominio fc) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { fc = new FascicoloCondominio(daoFactory.GetFascicoloImmobiliareDao().GetById(fcDto.IdFascicoloImmobiliare.GetValueOrDefault(), false), daoFactory.GetCondominioDao().GetById(fcDto.IdCondominio.GetValueOrDefault(), false)) {Necessario = fcDto.Necessario, Presente = fcDto.Presente}; //Documenti fc.Documenti.Clear(); foreach (var t in fcDto.Documenti) { if (t != null) { int? id = t.ID; if (t.Stato.ToUpper() == "U" || t.Stato.ToUpper() == "I") id = getDocumentoRepository().ManageDomainEntity(t, fc.CondominioRiferimento.Azienda.ID); var doc = daoFactory.GetDocumentoDao().Find(id.GetValueOrDefault(), false); if (doc != null) fc.Documenti.Add(doc); else { _log.WarnFormat("Documento non trovato - {0} - documento:{1}", Library.Utility.GetMethodDescription(), id); } } } daoFactory.GetFascicoloCondominioDao().SaveOrUpdate(fc); } catch (Exception ex) { _log.Error("Errore nell'inserimento del fascicolo condominio: " + Library.Utility.GetMethodDescription() + " - id:" + fcDto.ID, ex); throw; } return true; }
private bool update(FascicoloCondominioDTO fcDto, out FascicoloCondominio fc) { fc = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { fc = daoFactory.GetFascicoloCondominioDao().GetById(fcDto.ID, false); // Condizione necessaria per il controllo del fatto che sul DB ho una versione uguale o più vecchia // Per ora è troppo complicato gestire modifiche contemporanee.... ammetto sempre la modifica //if (fcDto.Version == fc.Version || true) //{ fc.Necessario = fcDto.Necessario; fc.Presente = fcDto.Presente; var condominio = daoFactory.GetCondominioDao().GetById(fcDto.IdCondominio.GetValueOrDefault(), false); //Documenti var indexDocumenti = 0; fc.Documenti.Clear(); while (indexDocumenti < fcDto.Documenti.Length) { if (fcDto.Documenti[indexDocumenti] != null) { int? id = fcDto.Documenti[indexDocumenti].ID; if (fcDto.Documenti[indexDocumenti].Stato.ToUpper() == "U" || fcDto.Documenti[indexDocumenti].Stato.ToUpper() == "I") id = getDocumentoRepository().ManageDomainEntity(fcDto.Documenti[indexDocumenti], condominio.Azienda.ID); var doc = daoFactory.GetDocumentoDao().Find(id.GetValueOrDefault(), false); if(doc != null) fc.Documenti.Add(doc); else { _log.WarnFormat("Documento non trovato - {0} - documento:{1}", Library.Utility.GetMethodDescription(), id); } } indexDocumenti++; } daoFactory.GetFascicoloCondominioDao().Update(fc); //} //else //{ // // Eccezione: Sul db c'è qualche cosa di più nuovo. // _log.Error("Errore nel salvataggio del Fascicolo Condominio id:" + fcDto.ID.ToString() + " - il dato sul db è più recente di quello che si vuole salvare"); //} } catch (Exception ex) { _log.Error("Errore nel salvataggio del Fascicolo Condominio: " + Library.Utility.GetMethodDescription() + " - id:" + fcDto.ID, ex); throw; } return true; }
private static FascicoloCondominioDTO setFascicoloCondominioDto(FascicoloCondominio fascicoloCond) { var dto = new FascicoloCondominioDTO { ID = fascicoloCond.ID, Necessario = fascicoloCond.Necessario, Presente = fascicoloCond.Presente, IdCondominio = fascicoloCond.CondominioRiferimento.ID, DescrizioneCondominio = fascicoloCond.CondominioRiferimento.Descrizione, Version = fascicoloCond.Version }; var documenti = new DocumentoDTO[fascicoloCond.Documenti.Count]; var index = 0; foreach (var documento in fascicoloCond.Documenti) { documenti[index] = setDocumentoDto(documento); index++; } dto.Documenti = documenti; return dto; }
public IList<FascicoloCondominioDTO> GetDataSourceFascicolo(int idCondominio) { try { _condominio = _daoFactory.GetCondominioDao().GetById(idCondominio, false); var fascicolo = _daoFactory.GetFascicoloImmobiliareDao().GetByAzienda(_condominio.Azienda.ID); _fascicoliCond = new List<FascicoloCondominioDTO>(fascicolo.Count); foreach (var dettaglioFascicolo in fascicolo) { var fascicoloCondominio = _daoFactory.GetFascicoloCondominioDao().GetByFascicoloImmobiliareCondominio(dettaglioFascicolo, _condominio); var insertVersion = 0; if (fascicoloCondominio == null) { fascicoloCondominio = new FascicoloCondominio(dettaglioFascicolo, _condominio) {Necessario = true, Presente = false}; _daoFactory.GetFascicoloCondominioDao().SaveOrUpdate(fascicoloCondominio); insertVersion = 1; } var fcDTO = new FascicoloCondominioDTO { Version = fascicoloCondominio.Version + insertVersion, IdFascicoloImmobiliare = fascicoloCondominio.DettaglioFascicolo.ID, Descrizione = fascicoloCondominio.DettaglioFascicolo.Descrizione, DisplayName = fascicoloCondominio.DettaglioFascicolo.Codice + " - " + fascicoloCondominio.DettaglioFascicolo.Descrizione, IdCondominio = fascicoloCondominio.CondominioRiferimento.ID, DescrizioneCondominio = fascicoloCondominio.CondominioRiferimento.Descrizione, Necessario = fascicoloCondominio.Necessario, Presente = fascicoloCondominio.Presente, DescrizioneBreve = fascicoloCondominio.DettaglioFascicolo.DescrizioneBreve, ID = fascicoloCondominio.ID }; if (fascicoloCondominio.Documenti != null) fcDTO.NumDocumenti = fascicoloCondominio.Documenti.Count; DocumentoDTO[] documenti = null; if (fascicoloCondominio.Documenti != null) documenti = new DocumentoDTO[fascicoloCondominio.Documenti.Count]; var index = 0; if (fascicoloCondominio.Documenti != null) { foreach (var documento in fascicoloCondominio.Documenti) { if (documenti != null) { documenti[index] = new DocumentoDTO { Descrizione = documento.Descrizione, ID = documento.ID, IdContratto = documento.ContrattoRiferimento != null ? documento.ContrattoRiferimento.ID : 0, FileName = documento.FileName, Checksum = documento.Checksum, FileExtension = documento.FileExtension, VisibileCondomino = documento.VisibileCondomino, NoCache = documento.NoCache, DataCreazione = documento.DataInserimento.GetValueOrDefault(), IdentificativoArchiviazioneOttica = _archiviazioneOtticaService.GetIdentificativoArchiviazione(documento, _condominio, false) }; } index++; } } fcDTO.Documenti = documenti; _fascicoliCond.Add(fcDTO); } return _fascicoliCond; } catch (Exception ex) { _log.Fatal("Errore inaspettato durante la lettura dei fascicoli: GetDataSourceFascicolo - " + Library.Utility.GetMethodDescription(), ex); } return _fascicoliCond; }
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); }