Exemplo n.º 1
0
        private SpesaDetrazioneDTO setDetrazioneDto(Spesa spesa, bool includeDettagli, bool includeDettaglioMovimenti, int? anno, int? detrazione)
        {
            try
            {
                var dto = setDto(spesa, includeDettagli, includeDettaglioMovimenti, anno, detrazione);
                var dtoDetrazione = new SpesaDetrazioneDTO(dto);

                if (spesa.RipartizioneSpesa.Count > 0)
                {
                    foreach (var ripartizioneSpesa in spesa.RipartizioneSpesa)
                    {
                        var ripartizioneSpesaDto = getMovimentoRepository().GetRipartizioneSpesaByDomainEntity(ripartizioneSpesa);
                        dtoDetrazione.RipartizioneDetrazione.Add(ripartizioneSpesaDto);
                    }
                }
                else if(spesa.Stato == StatoSpesaEnum.PagataAltroAmministratore)
                {
                    // Nel caso di spesa inserita fiscalmente propongo come riparto le singole righe di dettaglio con i relativi importi
                    foreach (var dettaglioSpesa in spesa.Dettagli)
                    {
                        var ripartizioneSpesaDto = new RipartizioneSpesaDTO { ID = dettaglioSpesa.ID * -1, Descrizione = dettaglioSpesa.Descrizione, Importo = dettaglioSpesa.ImportoLordo, Stato = "RIPARTIZIONE"};
                        dtoDetrazione.RipartizioneDetrazione.Add(ripartizioneSpesaDto);
                    }
                }

                dtoDetrazione.Dettagli = null;

                return dtoDetrazione;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella creazione dell'istanza DTO per una spesa - {0} - id:{1}", ex, Utility.GetMethodDescription(), spesa.ID);
                throw;
            }
        }
        private RipartizioneSpesaDTO setRipartizioneSpesaDTO(RipartizioneSpesa item)
        {
            try
            {
                var dto = new RipartizioneSpesaDTO
                {
                    ID = item.ID,
                    GruppiAddebito = item.GruppiAddebito,
                    IdConto = item.ContoRiferimento.ID,
                    IdSottoConto = item.SottoContoRiferimento != null ? item.SottoContoRiferimento.ID : (int?) null,
                    Importo = item.Importo,
                    LottiAddebito = item.LottiAddebito,
                    Segno = item.Segno,
                    Descrizione = item.Descrizione,
                    Stato = "RIPARTIZIONE"
                };

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella creazione dell'istanza DTO per un dettaglio di una spesa - {0} - ripartizione:{1}", ex, Utility.GetMethodDescription(), item.ID);
                throw;
            }
        }
 public RipartizioneSpeseDTO GetRipartizioneByMovimento(RipartizioneSpesaDTO ripartizioneSpesaDTO, EsercizioDTO esercizio, RipartizioneSpeseDTO ripartizioneDettaglio)
 {
     return GetRipartizioneByMovimento(ConvertRipartizioneToMovimento(ripartizioneSpesaDTO), esercizio, ripartizioneDettaglio);            
 }
        public MovimentoContabileDTO ConvertRipartizioneToMovimento(RipartizioneSpesaDTO ripartizioneSpesaDTO)
        {
            var movimentoContabileDTO = new MovimentoContabileDTO
            {
                ID = ripartizioneSpesaDTO.ID,
                IdConto = ripartizioneSpesaDTO.IdConto,
                IdSottoConto = ripartizioneSpesaDTO.IdSottoConto,
                Stato = ripartizioneSpesaDTO.Stato,
                Descrizione = ripartizioneSpesaDTO.Descrizione,
            };

            return movimentoContabileDTO;
        }
 public RipartizioneSpeseDTO GetRipartizioneByMovimentoEsistente(RipartizioneSpesaDTO ripartizioneSpesaDTO, EsercizioDTO esercizio, RipartizioneSpeseDTO ripartizione, int? idContoDetrazione)
 {
     return GetRipartizioneByMovimentoEsistente(ConvertRipartizioneToMovimento(ripartizioneSpesaDTO), esercizio, ripartizione, idContoDetrazione);
 }