Beispiel #1
0
 private AlertContrattoRepository getAlertRepository()
 {
     return _alertRepository ?? (_alertRepository = new AlertContrattoRepository(_info, _windsorRepository));
 }
Beispiel #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;
            }
        }
        private ContrattoAppaltoDTO setDto(ContrattoAppalto item)
        {
            var dto = new ContrattoAppaltoDTO
            {
                Descrizione = item.Descrizione ?? "",
                AlertScadenzaAbilitato = item.AlertScadenzaAbilitato,
                ID = item.ID,
                Note = item.Note,
                PresenzaAppalto = item.PresenzaAppalto,
                Version = item.Version
            };


            // -----------------------------------
            // Documenti
            // -----------------------------------
            int indexDocumenti = 0;
            foreach (Documento 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++;
            }

            // --------------------------------------------------------
            // 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++;
            }

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

            if (item.AnniDurata != null)
                dto.AnniDurata = item.MesiDurata / 12;
            
            if (item.DataInizioLavori != null)
                dto.DataInizioLavori = item.DataInizioLavori.Value;

            if (item.Importo != null)
                dto.Importo = item.Importo.Value;

            if (item.Penale != null)
                dto.Penale = item.Penale.Value;

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

            dto.TipologiaContratto = Gipasoft.Sfera.Enums.TipoContrattoEnum.ContrattoAppalto;

            if(item.Tipo != null)
            {
                dto.IdTipoContratto = item.Tipo.ID;
                dto.DisplayTipoContratto = item.Tipo.Descrizione;
            }
            
            // -------------------------------------------
            // Condominio Riferimento
            // -------------------------------------------
            if (item.CondominioRiferimento != null)
            {
                dto.IdCondominio = item.CondominioRiferimento.ID;
                dto.DisplayCondominio = item.CondominioRiferimento.DisplayName;
            }

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

            //Contratto o Preventivo
            dto.ContrattoPreventivo = Conversione.IsTypeOf(item, typeof(Preventivo)) ? Gipasoft.Sfera.Enums.ContrattoPreventivoEnum.Preventivo : Gipasoft.Sfera.Enums.ContrattoPreventivoEnum.Contratto;            
            
            return dto;
        }
Beispiel #4
0
		public bool DeleteAlertContratto(int idAlert, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new AlertContrattoRepository(userinfo, windsorRep);
                var item = repo.Delete(idAlert);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nella eliminazione di alert contratto - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idAlert, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #5
0
		public int? SetAlertContratto(AlertContrattoDTO alertContratto, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new AlertContrattoRepository(userinfo, windsorRep);
                var item = repo.ManageDomainEntity(alertContratto);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nella lettura del dettaglio di Tipo Alert - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), alertContratto.ID, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #6
0
		public string UpdateTipoAlert(IList<TipoAlertDettaglioDTO> tipoAlert, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new AlertContrattoRepository(userinfo, windsorRep);
                var item = repo.UpdateDefaultTipoAlertByReferente(tipoAlert, userinfo.Azienda);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nella lettura del dettaglio di Tipo Alert - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}