public static AssicurazioneContratto GetIstance(TipoPolizza tipo, DateTime dataScadenza, DateTime dataScadenzaPremio, int durata, TipoContratto tipoContratto) { AssicurazioneContratto contratto; switch (tipo) { case TipoPolizza.Furto: contratto = new FurtoAssicurazione(dataScadenza, dataScadenzaPremio, tipoContratto); break; case TipoPolizza.GlobaleFabbricati: contratto = new GlobaleAssicurazione(dataScadenza, dataScadenzaPremio, tipoContratto); break; case TipoPolizza.Incendio: contratto = new IncendioAssicurazione(dataScadenza, dataScadenzaPremio, tipoContratto); break; case TipoPolizza.Infortuni: contratto = new InfortuniAssicurazione(dataScadenza, dataScadenzaPremio, tipoContratto); break; case TipoPolizza.ResponsabilitaCivile: contratto = new ResponsabilitaCivileAssicurazione(dataScadenza, dataScadenzaPremio, tipoContratto); break; default: contratto = new AssicurazioneContratto(dataScadenza, dataScadenzaPremio, tipoContratto); break; } contratto.MesiDurata = durata; return contratto; }
public AssicurazioneContrattoDTO GetNew(CondominioDTO condominio, TipoPolizza tipoPolizza, int idTipoContratto) { var result = GetServiceClient().GetNewContrattoAssicurativo(condominio.ID, tipoPolizza, idTipoContratto, GetUserInfo()); CloseService(); return result; }
public AssicurazioneContrattoDTO GetNewContrattoAssicurativo(int idCondominio, TipoPolizza tipoPolizza, int idTipoContratto, int idAzienda) { try { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); AssicurazioneContratto contratto; var tipo = daoFactory.GetTipoContrattoDao().Find(idTipoContratto, false); if(tipo == null) _log.WarnFormat("Tipo contratto non trovato - {0} - tipo:{1} - azienda:{2}", Utility.GetMethodDescription(), idTipoContratto, idAzienda); switch (tipoPolizza) { case TipoPolizza.Furto: contratto = new FurtoAssicurazione(null, null, tipo); break; case TipoPolizza.GlobaleFabbricati: contratto = new GlobaleAssicurazione(null, null, tipo); break; case TipoPolizza.Incendio: contratto = new IncendioAssicurazione(null, null, tipo); break; case TipoPolizza.Infortuni: contratto = new InfortuniAssicurazione(null, null, tipo); break; case TipoPolizza.ResponsabilitaCivile: contratto = new ResponsabilitaCivileAssicurazione(null, null, tipo); break; default: contratto = new AssicurazioneContratto(null, null, tipo); break; } contratto.CondominioRiferimento = daoFactory.GetCondominioDao().GetById(idCondominio, false); Common.AssicurazioneContrattoHelper.SetDefault(contratto); return setAssicurazioniContrattiDto(contratto); } catch (Exception ex) { _log.ErrorFormat("Errore nella creazione di un nuovo contratto assicurativo - {0} - condominio:{1} - tipo:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), idCondominio, tipoPolizza, idAzienda); throw; } }
public AssicurazioneContrattoDTO GetNewContrattoAssicurativo(int idCondominio, TipoPolizza tipoPolizza, int idTipoContratto, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var repo = new ContrattoRepository(userinfo, windsorRep); var item = repo.GetNewContrattoAssicurativo(idCondominio, tipoPolizza, idTipoContratto, userinfo.Azienda); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella creazione di un nuovo contratto assicurativo - {0} - condominio:{1} - tipo polizza:{2} - tipo contratto:{3} - azienda:{4}" , ex, Utility.GetMethodDescription(), idCondominio, tipoPolizza, idTipoContratto, userinfo.Azienda); windsorRep.Rollback(); throw; } }