예제 #1
0
 public ResultVersamento(VersamentoSoggettoRicevutaDTO versamento, int? idVersamento, int? idProtocollo, int? idMovimentoContabile, string descrizione, string message)
 {
     Versamento = versamento;
     IdVersamento = idVersamento;
     IdProtocollo = idProtocollo;
     IdMovimentoContabile = idMovimentoContabile;
     Descrizione = descrizione;
     Message = message;
 }
예제 #2
0
        //private VersamentiRate setRataVersamentoPrimaApertura(VersamentoSoggetto versamento, Esercizio esercizio, LogTransazione logTransazione)
        //{
        //    VersamentiRate rataVersamento = null;
        //    LogTransazione logTransazioneRata = null;
        //    if (esercizio.Gestione == GestioneEsercizioEnum.Ordinario && esercizio.Stato == StatoEsercizioEnum.Aperto && versamento.TipoVersamentoPrimaApertura == TipoVersamentoPrimaAperturaEnum.RicEsPrec)
        //    {
        //        var pianoRatealeDettaglio = _daoFactory.GetPianoRatealeDettaglioDao().GetRataVersamentoPrimaApertura(esercizio);
        //        if (pianoRatealeDettaglio == null)
        //        {
        //            var pianoRateale = _daoFactory.GetPianoRatealeDao().GetByEsercizio(esercizio);
        //            LogTransazione logTransazioneDettaglio = null;
        //            if (pianoRateale == null)
        //                pianoRateale = new PianoRateale(esercizio, TipoAccorpamentoRateEnum.Nessuno, logTransazione);
        //            else
        //                logTransazioneDettaglio = logTransazione;
        //            pianoRatealeDettaglio = new PianoRatealeDettaglio(pianoRateale, esercizio.DataChiusura, null, 0, false, logTransazioneDettaglio)
        //            {
        //                Descrizione = "Versamenti eseguiti prima della apertura",
        //                IsAcconto = true,
        //                VersamentiDopoChiusura = true
        //            };
        //        }
        //        else
        //            logTransazioneRata = logTransazione;

        //        var rataSoggetto = new RataSoggetto(pianoRatealeDettaglio, versamento.Soggetto, versamento.Data, versamento.Importo, logTransazioneRata);
        //        rataVersamento = new VersamentiRate(versamento, rataSoggetto, versamento.Importo);
        //        rataSoggetto.SetStato();
        //    }

        //    return rataVersamento;
        //}

        private VersamentoSoggettoRicevutaDTO setVersamentoRicevutaDTO(VersamentoSoggetto versamento)
        {
            if (versamento != null)
            {
                var condominio = versamento.Esercizio.CondominioRiferimento;

                var banca = versamento.ContoBancario ?? condominio.DatiBancariPrincipale;
                var abiCab = new AbiCab(null);
                if (banca != null)
                    abiCab = _daoFactory.GetAbiCabDao().GetByAbiCab(banca.Abi, banca.Cab);

                var dto = new VersamentoSoggettoRicevutaDTO
                {
                    ID = versamento.ID,
                    Banca = abiCab != null ?
                        $"{abiCab.DescrizioneAbi} - {abiCab.DescrizioneCab} - {(banca != null ? banca.DisplayName : "<N.D.>")}"
                        : string.Empty,
                    Causale = versamento.Causale,
                    CodiceNominativoVersamento = versamento.Soggetto.UnitaImmobiliare.InternoCompleto,
                    NominativoVersamento = versamento.Soggetto.DisplayName,
                    OrdineNominativoVersamento = versamento.Soggetto.UnitaImmobiliare.Ordine.GetValueOrDefault(),
                    IdCondominio = condominio.ID,
                    DescrizioneCondominio = "CONDOMINIO " + condominio.Descrizione,
                    IdEsercizio = versamento.Esercizio.ID,
                    Data = versamento.Data,
                    CoordinateBancarie = banca != null ? banca.Iban : "<N.D.>",
                    Importo = versamento.Importo,
                    ImportoLettere = CifreLettere.CalcolaLettere(versamento.Importo),
                    NominativoAmministratore = condominio.Azienda.Amministratore != null ? condominio.Azienda.Amministratore.DisplayName : string.Empty,
                    NumeroRicevuta = versamento.NumeroProtocollo
                };

                if (!string.IsNullOrEmpty(versamento.Nota))
                    dto.NominativoVersamento += " (" + versamento.Nota.Trim() + ")";

                return dto;
            }

            return null;
        }