Ejemplo n.º 1
0
 private PremioAssicurativoRepository getPremioAssicurativoRepository()
 {
     return _premioRepository ?? (_premioRepository = new PremioAssicurativoRepository(_info, _windsorRepository));
 }
Ejemplo n.º 2
0
        private AssicurazioneContrattoDTO setAssicurazioniContrattiDto(AssicurazioneContratto item)
        {
            try
            {
                if (item != null)
                {
                    var dto = new AssicurazioneContrattoDTO {Note = item.Note};

                    if (Conversione.IsTypeOf(item, typeof (GlobaleAssicurazione)))
                    {
                        dto.Tipo = TipoPolizza.GlobaleFabbricati;
                        dto.DanniAcqua = ((GlobaleAssicurazione) item).DanniAcqua;
                        dto.FranchigiaDanniAcqua = ((GlobaleAssicurazione) item).FranchigiaDanniAcqua;
                        dto.FranchigiaRicercaGuasto = ((GlobaleAssicurazione) item).FranchigiaRicercaGuasto;
                        dto.ImportoLimiteCoseRCT = ((GlobaleAssicurazione) item).ImportoLimiteCoseRCT;
                        dto.ImportoMassimaleSinistroRCT = ((GlobaleAssicurazione) item).ImportoMassimaleSinistroRCT;
                        dto.ImportoUnicoRCT = ((GlobaleAssicurazione) item).ImportoUnicoRCT;
                        dto.RicercaGuasto = ((GlobaleAssicurazione) item).RicercaGuasto;
                        dto.ValoreRicostruzioneNuovo = ((GlobaleAssicurazione) item).ValoreRicostruzioneNuovo;
                        dto.ImportoLimitePersonaRCT = ((GlobaleAssicurazione) item).ImportoLimitePersonaRCT;
                    }
                    else if (Conversione.IsTypeOf(item, typeof (FurtoAssicurazione)))
                    {
                        dto.Tipo = TipoPolizza.Furto;
                        dto.DescrizioneTipo = item.DescrizioneTipo;
                    }
                    else if (Conversione.IsTypeOf(item, typeof (IncendioAssicurazione)))
                    {
                        dto.Tipo = TipoPolizza.Incendio;
                        dto.DanniAcqua = ((IncendioAssicurazione) item).DanniAcqua;
                        dto.FranchigiaDanniAcqua = ((IncendioAssicurazione) item).FranchigiaDanniAcqua;
                        dto.FranchigiaRicercaGuasto = ((IncendioAssicurazione) item).FranchigiaRicercaGuasto;
                        dto.ImportoLimiteCoseRCT = ((IncendioAssicurazione) item).ImportoLimiteCoseRCT;
                        dto.ImportoMassimaleSinistroRCT = ((IncendioAssicurazione) item).ImportoMassimaleSinistroRCT;
                        dto.ImportoUnicoRCT = ((IncendioAssicurazione) item).ImportoUnicoRCT;
                        dto.RicercaGuasto = ((IncendioAssicurazione) item).RicercaGuasto;
                        dto.ValoreRicostruzioneNuovo = ((IncendioAssicurazione) item).ValoreRicostruzioneNuovo;
                        dto.ImportoLimitePersonaRCT = ((IncendioAssicurazione) item).ImportoLimitePersonaRCT;
                    }
                    else if (Conversione.IsTypeOf(item, typeof (InfortuniAssicurazione)))
                    {
                        dto.Tipo = TipoPolizza.Incendio;
                        dto.DescrizioneTipo = item.DescrizioneTipo;
                    }
                    else if (Conversione.IsTypeOf(item, typeof (ResponsabilitaCivileAssicurazione)))
                        dto.Tipo = TipoPolizza.ResponsabilitaCivile;
                    else
                        dto.Tipo = TipoPolizza.Undefined;

                    dto.ImportoPremio = item.ImportoPremio;
                    dto.AnniDurata = item.AnniDurata;
                    dto.Descrizione = item.Descrizione;
                    dto.AlertScadenzaAbilitato = item.AlertScadenzaAbilitato;
                    dto.AlertPremioAbilitato = item.AlertPremioAbilitato;
                    dto.DescrizioneTipo = item.DescrizioneTipo;
                    dto.DisplayName = item.DisplayName;
                    dto.NumeroPolizza = item.NumeroContratto;
                    dto.ID = item.ID;
                    dto.Version = item.Version;

                    var ultimoPagato = item.GetUltimoPremioPagato();
                    if (ultimoPagato != null)
                    {
                        if (ultimoPagato.DataPagamento != null)
                            dto.DataPagamentoPremio = ultimoPagato.DataPagamento.Value;
                        if (ultimoPagato.Importo != null)
                            dto.UltimoPremioPagato = ultimoPagato.Importo.Value;
                    }

                    // --------------------------------------------------------
                    // Alert scadenza contratto
                    // --------------------------------------------------------
                    var indexAlertScadenza = 0;
                    var repAlert = new AlertContrattoRepository(_info, _windsorRepository);
                    foreach (var alertScadenza in item.AlertScadenza)
                    {
                        if (dto.AlertScadenza.Length == 0)
                            dto.AlertScadenza = new AlertContrattoDTO[item.AlertScadenza.Count];
                        dto.AlertScadenza[indexAlertScadenza] = repAlert.GetByDomainEntity(alertScadenza);
                        indexAlertScadenza++;
                    }

                    // --------------------------------------------------------
                    // Alert premio contratto
                    // --------------------------------------------------------
                    var indexAlertPremio = 0;
                    foreach (AlertPremioContratto alertPremio in item.AlertPremio)
                    {
                        if (dto.AlertPremio.Length == 0)
                            dto.AlertPremio = new AlertContrattoDTO[item.AlertPremio.Count];
                        dto.AlertPremio[indexAlertPremio] = repAlert.GetByDomainEntity(alertPremio);
                        indexAlertPremio++;
                    }

                    if (item.MesiDurata != null)
                        dto.MesiDurata = item.MesiDurata.Value;
                    if (item.Scadenza != null)
                        dto.Scadenza = item.Scadenza.Value;
                    if (item.ScadenzaPremio != null)
                        dto.ScadenzaPremio = item.ScadenzaPremio.Value;

                    dto.TipologiaContratto = TipoContrattoEnum.ContrattoAssicurativo;

                    if (item.Tipo != null)
                    {
                        dto.IdTipoContratto = item.Tipo.ID;
                        dto.DisplayTipoContratto = item.Tipo.Descrizione;
                    }

                    if (item.FornitoreAttuale != null)
                    {
                        dto.IdFornitore = item.FornitoreAttuale.ID;
                        dto.DisplayFornitore = item.FornitoreAttuale.DisplayName;
                    }

                    if (item.CondominioRiferimento != null)
                    {
                        dto.IdCondominio = item.CondominioRiferimento.ID;
                        dto.DisplayCondominio = item.CondominioRiferimento.DisplayName;
                    }

                    // --------------------------------------------------------
                    // Premi
                    // --------------------------------------------------------
                    var indexPremio = 0;
                    var repPremio = new PremioAssicurativoRepository(_info, _windsorRepository);
                    foreach (var premio in item.PremiPagati)
                    {
                        if (dto.PremiPagati.Length == 0)
                            dto.PremiPagati = new PremioAssicurativoDTO[item.PremiPagati.Count];
                        dto.PremiPagati[indexPremio] = repPremio.GetByDomainEntity(premio);
                        indexPremio++;
                    }

                    // -----------------------------------
                    // Documenti
                    // -----------------------------------
                    var indexDocumenti = 0;
                    foreach (var documento in item.Documenti)
                    {
                        var docDto = getDocumentoRepository().GetByDomainEntity(documento);
                        if (dto.Documenti.Length == 0)
                            dto.Documenti = new DocumentoDTO[item.Documenti.Count];
                        dto.Documenti[indexDocumenti] = docDto;
                        indexDocumenti++;
                    }

                    return dto;
                }
                return new AssicurazioneContrattoDTO();
            }
            catch (Exception ex)
            {
                
                _log.Error("Errore nel caricamento di un singolo DTO di un Contratto Assicurativo: " + Utility.GetMethodDescription() + " - id:" + item.ID, ex);
                throw;
            }
        }
Ejemplo n.º 3
0
		public AssicurazioneContrattoDTO PagamentoPremioAssicurativo(int idContratto, DateTime dataPagamento, decimal importo, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new PremioAssicurativoRepository(userinfo, windsorRep);
				var item = repo.Pagamento(idContratto, dataPagamento, importo);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore nel pagamento del premio assicurativo:  " + Utility.GetMethodDescription() + " - azienda:" + userinfo.Azienda + " - id: " + idContratto, ex);
				windsorRep.Rollback();
				throw;
			}
		
		}
Ejemplo n.º 4
0
		public PremioAssicurativoDTO GetPremiAssicurativiById(int id, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new PremioAssicurativoRepository(userinfo, windsorRep);
				var item = repo.GetById(id);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore nel caricamento dei premi assicurativi - " + Utility.GetMethodDescription() + " - azienda:" + userinfo.Azienda, ex);
				windsorRep.Rollback();
				throw;
			}
		}
Ejemplo n.º 5
0
		public bool DeletePremioAssicurativo(int idPremioAssicurativo, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new PremioAssicurativoRepository(userinfo, windsorRep);
				bool item = repo.Delete(idPremioAssicurativo);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore nella eliminazione del premio assicurativo - " + Utility.GetMethodDescription() + " - id:" + idPremioAssicurativo.ToString(), ex);
				windsorRep.Rollback();
				throw;
			}
		}
Ejemplo n.º 6
0
		public int? SetPremioAssicurativo(PremioAssicurativoDTO premioAssicurativo, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new PremioAssicurativoRepository(userinfo, windsorRep);
				var item = repo.ManageDomainEntity(premioAssicurativo);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore il salvataggio del premio assicurativo - " + Utility.GetMethodDescription() + " - id:" + premioAssicurativo, ex);
				windsorRep.Rollback();
				throw;
			}
		}