//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); }
public string ProcessSISE(int cotizacionID, int usuarioID) { IUnitOfWork unitOfWork = _cotizacionRepository.UnitOfWork as IUnitOfWork; //Verificar si ya se ha mandado Cotizacion cot = _cotizacionRepository.FindCotizacionLogSISE(cotizacionID); if (cot.bk_te_CotizacionLog.ToList().Exists(x => x.isOK.Value)) { return(cot.ErrorSISE()); } //Este ID sería el id_pv int cotizacionLogID = _cotizacionRepository.LastCotizacionLogID() + 1; WsCotizador sise = new WsCotizador(); string mensaje = sise.GrabarCotizacion(_workFlowRepository.GetSISEPol(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEAge(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISECob(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEInc(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISETransporte(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEObs(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEDetalle(cotizacionID, cotizacionLogID), _workFlowRepository.GetSISEAne(cotizacionID, cotizacionLogID), _cotizacionRepository.GetCotizacionPresentacionTextos(cotizacionID)); CotizacionLog log = new CotizacionLog() { CotizacionLogID = cotizacionLogID, cotizacionID = cotizacionID, mensaje = mensaje, usuarioID = usuarioID, LogTime = DateTime.Now, isOK = Function.IsOKSISE(mensaje) }; cot.nroPoliza = Function.NroPolizaSISE(mensaje); cot.bk_te_CotizacionLog.Add(log); cot.Fecha = DateTime.Now; cot.isActivo = !log.isOK.Value; unitOfWork.Commit(); return(mensaje); }