Ejemplo n.º 1
0
        //public void SaveCotizacionTransporteCuota(double prima, int cotizacionID)
        //{
        //    //Grabar Cotizacion
        //    IUnitOfWork unitOfWork = _cotizacionRepository.UnitOfWork as IUnitOfWork;
        //    Cotizacion cotDatos = _cotizacionRepository.FindCotizacionTransporte(cotizacionID);
        //    //double? newCuota;

        //    if (cotDatos.isNew)
        //    {
        //        cotDatos.bk_te_CotizacionTrans.primaNetaNuevo = prima;
        //        cotDatos.bk_te_CotizacionTrans.CuotaNuevo = prima / cotDatos.bk_te_CotizacionTrans.EstimadoAnual;
        //        //newCuota = cotDatos.bk_te_CotizacionTrans.CuotaNuevo;
        //    }
        //    else
        //    {
        //        cotDatos.bk_te_CotizacionTrans.primaNetaRenovacion = prima;
        //        cotDatos.bk_te_CotizacionTrans.CuotaRenovacion = prima / cotDatos.bk_te_CotizacionTrans.EstimadoAnual;
        //        //newCuota = cotDatos.bk_te_CotizacionTrans.CuotaRenovacion;
        //    }

        //    _cotizacionRepository.Modify(cotDatos);

        //    unitOfWork.Commit();
        //    //return newCuota;
        //}

        //#region CotizacionCobertura

        //public List<CotizacionCobertura> FindCotizacionCoberturasbyID(int cotizacionID)
        //{
        //    Domain.MainModule.CotizacionCoberturas.CotizacionIDSpecification cotizacionCobSpec = new Domain.MainModule.CotizacionCoberturas.CotizacionIDSpecification(cotizacionID);
        //    return _cotizacionCoberturaRepository.FindCotizacionCoberturas(cotizacionCobSpec);
        //}

        //public void SaveCotizacionCobertura(int cotizacionID, string[] incendio, string[] terremoto, string[] hidro)
        //{
        //    Domain.MainModule.CotizacionCoberturas.CotizacionIDSpecification cotizacionCobSpec = new Domain.MainModule.CotizacionCoberturas.CotizacionIDSpecification(cotizacionID);
        //    List<CotizacionCobertura> listaInicial = _cotizacionCoberturaRepository.FindCotizacionCoberturas(cotizacionCobSpec);

        //    IUnitOfWork unitOfWork = _cotizacionCoberturaRepository.UnitOfWork as IUnitOfWork;

        //    int id = _cotizacionCoberturaRepository.LastCotizacionCoberturaID();
        //    //Eliminar los que no se encuentran
        //    listaInicial.Where(t => t.LineaNegocioID == 1).Where(t => !incendio.Contains(t.CoberturaID.ToString())).ToList().ForEach(x => { _cotizacionCoberturaRepository.Remove(x); });
        //    listaInicial.Where(t => t.LineaNegocioID == 6).Where(t => !terremoto.Contains(t.CoberturaID.ToString())).ToList().ForEach(x => { _cotizacionCoberturaRepository.Remove(x); });
        //    listaInicial.Where(t => t.LineaNegocioID == 7).Where(t => !hidro.Contains(t.CoberturaID.ToString())).ToList().ForEach(x => { _cotizacionCoberturaRepository.Remove(x); });

        //    //Insertar los que faltan
        //    incendio.Where(t => !listaInicial.Where(x => x.LineaNegocioID == 1).Select(y => y.CoberturaID).Contains(Convert.ToInt32(t))).ToList().ForEach(x => { id++;  _cotizacionCoberturaRepository.Add(new CotizacionCobertura() { CotizacionCoberturaID = id, CotizacionID = cotizacionID, LineaNegocioID = 1, CoberturaID = Convert.ToInt32(x) }); });
        //    terremoto.Where(t => !listaInicial.Where(x => x.LineaNegocioID == 6).Select(y => y.CoberturaID).Contains(Convert.ToInt32(t))).ToList().ForEach(x => { id++; _cotizacionCoberturaRepository.Add(new CotizacionCobertura() { CotizacionCoberturaID = id, CotizacionID = cotizacionID, LineaNegocioID = 6, CoberturaID = Convert.ToInt32(x) }); });
        //    hidro.Where(t => !listaInicial.Where(x => x.LineaNegocioID == 7).Select(y => y.CoberturaID).Contains(Convert.ToInt32(t))).ToList().ForEach(x => { id++; _cotizacionCoberturaRepository.Add(new CotizacionCobertura() { CotizacionCoberturaID = id, CotizacionID = cotizacionID, LineaNegocioID = 7, CoberturaID = Convert.ToInt32(x) }); });

        //    unitOfWork.Commit();

        //    //Actualizamos campos de valores
        //    _cotizacionCoberturaRepository.execUpdateCotizacionCoberturaUbicacion(cotizacionID);
        //}

        //public List<CotizacionCoberturaUbicacion> FindCotizacionCoberturaUbicacionesbyID(int cotizacionID)
        //{
        //    Domain.MainModule.CotizacionCoberturaUbicaciones.CotizacionIDSpecification cotizacionCobSpec = new Domain.MainModule.CotizacionCoberturaUbicaciones.CotizacionIDSpecification(cotizacionID);
        //    return _cotizacionCoberturaUbicacionRepository.FindCotizacionCoberturaUbicaciones(cotizacionCobSpec);
        //}

        //#endregion

        public Presentacion FindPresentacionCotizacionbyID(int cotizacionID, int usuarioID, bool isRC)
        {
            Presentacion presentacion = new Presentacion();

            presentacion.DatosGenerales = _cotizacionRepository.GetCotizacionPresentacion(cotizacionID);

            if (presentacion.DatosGenerales.Count() > 0)
            {
                int diasRetro = Convert.ToInt32(_catalogoRepository.GetGlobalParam((int)globalParam.DiasRetro));

                //Validacion retroactividad
                if (_cotizacionRepository.GetActivoCotizacion(cotizacionID) && (DateTime.Now - presentacion.DatosGenerales[0].VigenciaInicio).Days > diasRetro)
                {
                    presentacion.MensajeError = (new Cotizacion()).ErrorRetroactividad(diasRetro);
                }
                else
                {
                    List <string> mensajesLimite = _cotizacionRepository.GetMensajeLimite(cotizacionID, usuarioID); //Limite por Suscriptor
                    mensajesLimite.AddRange(_cotizacionRepository.GetMensajeLimiteReaseguro(cotizacionID));

                    if (mensajesLimite.Count() > 0)
                    {
                        mensajesLimite.ForEach(x => { presentacion.MensajeError += x + "<br>"; });
                    }
                    else
                    {
                        presentacion.Primas = _cotizacionRepository.GetCotizacionPresentacionPrimas(cotizacionID);

                        if (isRC)
                        {
                            presentacion.TextosRC         = _cotizacionRepository.GetCotizacionPresentacionTextosRC(cotizacionID);
                            presentacion.DatosGeneralesRC = _cotizacionRepository.GetCotizacionPresentacionRC(cotizacionID);
                        }
                        else
                        {
                            presentacion.Textos  = _cotizacionRepository.GetCotizacionPresentacionTextos(cotizacionID);
                            presentacion.Equipos = _cotizacionRepository.GetCotizacionPresentacionEquipo(cotizacionID);
                        }

                        presentacion.Resumen = _cotizacionRepository.GetCotizacionPresentacionResumen(cotizacionID);
                    }
                }
            }

            return(presentacion);
        }