Beispiel #1
0
        private decimal getImportoNettoAcconti(RiepilogoRipartoDTO riparto, IEnumerable<PianoRatealeDettaglio> acconti)
        {
            var importoNetto = riparto.Importo;
            if (acconti != null)
            {
                var rateAcconto = new List<RataSoggetto>();
                foreach (var dettaglioPiano in acconti)
                {
                    rateAcconto.AddRange(dettaglioPiano.RateSoggetti.Where(item => !item.DaRichiamare && item.Stato != StatoRataEnum.Richiamata && item.Soggetto.ID == riparto.IdSoggettoCondominio));
                }

                var importoAcconto = rateAcconto.Sum(item => item.Importo);
                importoNetto -= importoAcconto;
            }
            
            return importoNetto;
        }
Beispiel #2
0
        private RiepilogoRipartoDTO setRiepilogoRiparto(ReportRipartizioneBilancioDTO reportRipartizioneBilancioDTO, Esercizio esercizio)
        {
            try
            {
                var unitaImmobiliare = _daoFactory.GetUnitaImmobiliareDao().Find(reportRipartizioneBilancioDTO.IdUnitaImmobiliare, false);
                if (unitaImmobiliare != null)
                {
                    var riepilogoPreventivo = new RiepilogoRipartoDTO
                    {
                        CodiceTipoUnita = unitaImmobiliare.TipoUnitaImmobiliare.ID,
                        DescrizioneTipoUnita = reportRipartizioneBilancioDTO.TipoUnitaImmobiliare,
                        DescrizioneUnitaImmobiliare = unitaImmobiliare.Descrizione,
                        IdPersona = reportRipartizioneBilancioDTO.IdPersona,
                        IdSoggettoCondominio = reportRipartizioneBilancioDTO.IdPartecipante,
                        IdUnitaImmobiliare = reportRipartizioneBilancioDTO.IdUnitaImmobiliare,
                        Importo = getImporto(reportRipartizioneBilancioDTO.Importo.GetValueOrDefault(), esercizio),
                        Interno = reportRipartizioneBilancioDTO.InternoUnitaImmobiliare,
                        Nominativo = reportRipartizioneBilancioDTO.Nominativo,
                        OrdineUnitaImmobiliare = reportRipartizioneBilancioDTO.OrdineUnitaImmobiliare,
                        Subalterno = reportRipartizioneBilancioDTO.SubalternoUnitaImmobiliare,
                        TipoSoggettoCondominio = reportRipartizioneBilancioDTO.TipoNominativoEffettivo == "P" ? TipoSoggetto.Proprietario : TipoSoggetto.Conduttore
                    };

                    return riepilogoPreventivo;
                }
                else
                {
                    _log.ErrorFormat("Non trovato unità immobiliare - {0} idUnita:{1}", Utility.GetMethodDescription(), reportRipartizioneBilancioDTO.IdUnitaImmobiliare);
                    throw new InvalidDataException($"Non trovata unità immobiliare id#{reportRipartizioneBilancioDTO.IdUnitaImmobiliare}");
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel riepilogo del riparto - {0} - unità immobiliare:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), reportRipartizioneBilancioDTO.IdUnitaImmobiliare, esercizio?.ID.ToString() ?? "<NULL>");                
                throw;
            }
        }