public PremioAssicurativoDTO GetByDomainEntity(PremioAssicurativo premio)
 {
     try
     {
         return setDto(premio);
     }
     catch (Exception ex)
     {
         
         _log.Error("Errore nel caricamento dei Premi Assicurativi - " + Utility.GetMethodDescription() + " - id:" + premio.ID.ToString(), ex);
         throw;
     }
 }
        private bool insert(PremioAssicurativoDTO dto, out PremioAssicurativo entity)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
            entity = null;

            try
            {
                if (dto.IdContratto != null)
                {
                    entity = new PremioAssicurativo(daoFactory.GetAssicurazioneContrattoDao().GetById((int) dto.IdContratto, false), dto.DataPagamento, dto.ImportoPagamento);
                    daoFactory.GetPremioAssicurativoDao().SaveOrUpdate(entity);
                }
            }
            catch (Exception ex)
            {
                
                _log.Error("Errore nell'inserimento del Premio Assicurativo - " + Utility.GetMethodDescription() + " - id:" + dto.ID, ex);
                throw;
            }

            return true;
        }
 private static PremioAssicurativoDTO setDto(PremioAssicurativo entity)
 {
     var dto = new PremioAssicurativoDTO
     {
         DataPagamento = entity.DataPagamento,
         ID = entity.ID,
         IdContratto = entity.ContrattoRiferimento.ID,
         ImportoPagamento = entity.Importo,
         VersionContratto = entity.ContrattoRiferimento.Version,
         Version = entity.Version
     };
     
     return dto;
 }
        private bool update(PremioAssicurativoDTO dto, out PremioAssicurativo entity)
        {
            bool result;
            entity = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                entity = daoFactory.GetPremioAssicurativoDao().GetById(dto.ID, false);

                // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia
                if (dto.Version == entity.Version)
                {
                    entity.DataPagamento = dto.DataPagamento;
                    entity.Importo = dto.ImportoPagamento;
                    entity.ContrattoRiferimento = daoFactory.GetAssicurazioneContrattoDao().GetById(dto.IdContratto.GetValueOrDefault(), false);
                    entity.ContrattoRiferimento.ImportoPremio = entity.Importo;
                    result = true;
                }
                else
                {
                    // Eccezione: Sul db c'è qualche cosa di più nuovo.
                    
                    _log.Error("Errore nel salvataggio del Premio Assicurativo: 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 Premio Assicurativo - " + Utility.GetMethodDescription() + " - id:" + dto.ID, ex);
                throw;
            }

            return result;
        }
Exemplo n.º 5
0
        public virtual PremioAssicurativo PagamentoPremio(DateTime dataPagamento, decimal importo)
        {
            var premio = new PremioAssicurativo(this, dataPagamento, importo);
            ScadenzaPremio = ScadenzaPremio.GetValueOrDefault().AddYears(1);

            // Automaticamente aggiorno la scadenza del contratto
            if (Scadenza != null)
                Scadenza = Scadenza.GetValueOrDefault().AddMonths(MesiDurata.GetValueOrDefault());

            return premio;
        }