private PremioAssicurativoRepository getPremioAssicurativoRepository() { return _premioRepository ?? (_premioRepository = new PremioAssicurativoRepository(_info, _windsorRepository)); }
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; } }
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; } }
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; } }
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; } }
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; } }