Exemplo n.º 1
0
        public JsonResult ResultadoCotizacion(CotizaExpressModel model)
        {
            try
            {
                if (model.OrigenCotExp == "Clientes")
                {
                    if (model.CaptchaText == HttpContext.Session["captchastring"].ToString())
                        ViewBag.Message = "CAPTCHA correcto!";
                    else
                    {
                        ViewBag.Message = "CAPTCHA incorrecto!";

                        ModelState["CaptchaText"].Errors.Add("CAPTCHA incorrecto!");
                    }
                }

                if (!ModelState.IsValid)
                {
                    return Json(new { success = false, errores = GetElementsFromModelState(), validaciones = "", view = model });
                }

                model.conductor.sexo = (model.EsHombre ? 0 : 1);
                model.conductor.nNumCond = 1;
                model.conductor.nombre = model.cotizacion.apellidoPaterno + " " + model.cotizacion.apellidoMaterno + " " + model.cotizacion.nombres;
                model.cotizacion.sexo = model.conductor.sexo;
                model.cotizacion.titulo = "C.";
                model.cotizacion.nombreAsegurado = model.conductor.nombre;

                model.cotizacion.conductores.Add(model.conductor);
                model.cotizacion.meses = 12;
                model.cotizacion.cobertura = 12;
                model.cotizacion.cEra = "N";
                model.cotizacion.conductorRestringido = 1;
                model.cotizacion.oficinaID = 1;
                model.cotizacion.agente = 4;
                model.cotizacion.clienteID = 1;
                var client = VarProcInterfazX.arrClientes.First(c => c.lngClave == 1);
                model.cotizacion.ClienteInfo = new ClsCliente()
                {
                    ClienteID = client.lngClave,
                    RazonSocial = client.strDescrip,
                };
                model.cotizacion.nomTitular = client.strDescrip;

                model.vehiculo.nNumVehi = 1;
                model.vehiculo.conducAsign = model.conductor.nNumCond = 1;
                model.vehiculo.cCOBER100SN = "";
                if (model.cotizacion.telefono.Count == 0)
                {
                    if (model.Telefonos == null)
                    {
                        model.Telefonos = new ClsTelefono();
                        model.Telefonos.cTel = "0";
                        model.Telefonos.cLada = "0";
                        model.Telefonos.cCelular = "0";
                    }
                    model.cotizacion.telefono.Add(model.Telefonos);
                    model.cotizacion.telefono[0].cLada = "55";
                    model.cotizacion.telefono[0].cCelular = "5555555555";
                    model.Telefonos.cHistorial = "";
                    model.Telefonos.cTpo1 = "";
                }

                if (model.vehiculo.subRamo == "L")
                {
                    model.vehiculo.modelo = 999;
                    model.vehiculo.DescripcionTipo = VarProcInterfazX.arrModelos.FirstOrDefault(t => t.lngClave == model.vehiculo.modelo).strModelo;
                    model.vehiculo.VIN = model.tipoVeh;
                }
                else
                {
                    model.vehiculo.modelo = int.Parse(model.tipoVeh);
                    model.vehiculo.DescripcionTipo = VarProcInterfazX.arrModelos.FirstOrDefault(t => t.lngClave == model.vehiculo.modelo).strModelo;
                }
                model.vehiculo.tpoEspecifAuto = model.vehiculo.DescripcionTipo;
                model.vehiculo.codigoPostal = model.cotizacion.codigoPostal;
                model.cotizacion.vehiculos.Add(model.vehiculo);
                model.cotizacion.numConductores = model.cotizacion.conductores.Count;
                model.cotizacion.numVehiculos = model.cotizacion.vehiculos.Count;
                model.cotizacion.meses = 12;
                model.cotizacion.cFormaPago = "T";
                model.cotizacion.tipoPago = "C";
                // poner aqui el valor que depende de donde vienen dirigidos

                string modulo = "C";
                ResumenCotizar rCtz = new ResumenCotizar();
                TempData.Keep("RsmClc");
                modulo = "C";
                GenericoViewModel ModeloGenerico = new GenericoViewModel();
                ModeloGenerico = CentralAgentesMvc.App_Start.CastObject.Cast<GenericoViewModel>(model.cotizacion);
                DataSet TpCober = MnInf.CargaTipoCotizaciones(model.OrigenCotExp);
                DataTable tblCoberturas = new DataTable("Cotizaciones");
                tblCoberturas.Columns.Add("TipoCobertura", typeof(string));
                tblCoberturas.Columns.Add("Contado", typeof(string));
                tblCoberturas.Columns.Add("Semestral", typeof(string));
                tblCoberturas.Columns.Add("Trimestral", typeof(string));
                tblCoberturas.Columns.Add("Mensual", typeof(string));
                switch (model.OrigenCotExp)
                {
                    #region clientes
                    case "Clientes":
                        CotizaExpressModel.coberturas = new List<CoberturasModel>();
                        model.vehiculo.sumAsegFija = "S";

                        int pvtCalculos = -1;

                        ModeloGenerico.tblCotizacionesCober = new DataTable("CotizacionesCober");
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("nOrdenCobertura", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("Cobertura", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("nFormaPago", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("desFormaPago", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("PagoIni", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("PagoSub", typeof(string));
                        ModeloGenerico.tblCotizacionesCober.Columns.Add("Total", typeof(string));

                        foreach (DataRow cobertura in TpCober.Tables[0].Rows)
                        {
                            CoberturasModel CalculoCober = new CoberturasModel();
                            CalculoCober.OrdenCobertura = int.Parse(cobertura["OrdenCobertura"].ToString());
                            CalculoCober.Nombre = cobertura["Nombre"].ToString();
                            CalculoCober.Descripcion = cobertura["Descripcion"].ToString();
                            CalculoCober.DM = int.Parse(cobertura["DM"].ToString());
                            CalculoCober.RT = int.Parse(cobertura["RT"].ToString());
                            CalculoCober.Cober100 = cobertura["Cober100"].ToString();
                            CalculoCober.Terssa = cobertura["Terssa"].ToString();
                            CalculoCober.ExtensionRC = cobertura["ExtensionRC"].ToString();
                            CalculoCober.GarageCasa = cobertura["GarageCasa"].ToString();
                            CalculoCober.GarageTrabajo = cobertura["GarageTrabajo"].ToString();
                            CalculoCober.Usotrabajo = cobertura["Usotrabajo"].ToString();
                            CalculoCober.RC = int.Parse(cobertura["RC"].ToString());
                            CalculoCober.RCcatastrofica = int.Parse(cobertura["RCcatastrofica"].ToString());
                            CalculoCober.AseLegal = cobertura["AseLegal"].ToString();
                            CalculoCober.SumaAseg = cobertura["SumaAseg"].ToString();
                            CalculoCober.VehSus = cobertura["VehSus"].ToString();
                            CalculoCober.Aviaje = cobertura["Aviaje"].ToString();
                            CalculoCober.BajoRiesgo = cobertura["BajoRiesgo"].ToString();
                            CalculoCober.MasAutos = cobertura["MasAutos"].ToString();
                            CalculoCober.Procar = int.Parse(cobertura["Procar"].ToString());
                            CalculoCober.Campaña = int.Parse(cobertura["Campaña"].ToString());
                            CalculoCober.DetalleCobertura = cobertura["DetalleCobertura"].ToString();
                            CalculoCober.GM = int.Parse(cobertura["GastosMedicos"].ToString());
                            CalculoCober.ExDedu = cobertura["ExenDeducible"].ToString();

                            ModeloGenerico.vehiculos[0].ExcenDedu = CalculoCober.ExDedu;
                            ModeloGenerico.vehiculos[0].coberGtoMed = CalculoCober.GM;
                            ModeloGenerico.vehiculos[0].deducDañMat = CalculoCober.DM;
                            ModeloGenerico.vehiculos[0].deducRobTot = CalculoCober.RT;
                            ModeloGenerico.vehiculos[0].cober100 = CalculoCober.Cober100;
                            ModeloGenerico.tersa = CalculoCober.Terssa == "N" ? 0 : 1;
                            ModeloGenerico.vehiculos[0].estacionaCasa = CalculoCober.GarageCasa;
                            ModeloGenerico.vehiculos[0].estacionaTrab = CalculoCober.GarageTrabajo;
                            ModeloGenerico.vehiculos[0].usoTrabajo = CalculoCober.Usotrabajo;
                            ModeloGenerico.vehiculos[0].coberRepCiv = CalculoCober.RC;
                            ModeloGenerico.vehiculos[0].coberRepCivCat = CalculoCober.RCcatastrofica;
                            ModeloGenerico.vehiculos[0].proliber = CalculoCober.AseLegal;
                            ModeloGenerico.vehiculos[0].sumAsegFija = CalculoCober.SumaAseg;
                            ModeloGenerico.vehiculos[0].vehSus = CalculoCober.VehSus;
                            ModeloGenerico.vehiculos[0].asistenciaViaje = CalculoCober.Aviaje;
                            ModeloGenerico.vehiculos[0].EsConductorBajoRiesgo = CalculoCober.BajoRiesgo;
                            ModeloGenerico.vehiculos[0].puertas = 4;
                            ModeloGenerico.vehiculos[0].cilindros = 4;
                            ModeloGenerico.vehiculos[0].validaSerie = "S";
                            ModeloGenerico.vehiculos[0].SUVA = "S";
                            ModeloGenerico.complemento.telefono = ModeloGenerico.telefono[0].cTel;
                            ModeloGenerico.conductorRestringido = CalculoCober.BajoRiesgo == "S" ? 0 : 1;
                            ModeloGenerico.conductores[0].extRespCivil = CalculoCober.Cober100 == "S" ? 1 : 0;
                            ModeloGenerico.cobertura100 = CalculoCober.Cober100 == "S" ? 1 : 0;
                            ModeloGenerico.masAutos = CalculoCober.MasAutos;
                            ModeloGenerico.control = CalculoCober.Procar;
                            //CtExp.cotizacion.campaña = 1549;
                            ValidaParaCotizara(ModeloGenerico);

                            Calculo(ref ModeloGenerico, modulo);
                            CotizaExpressModel.coberturas.Add(CalculoCober);
                            DataRow fila = tblCoberturas.NewRow();

                            fila["TipoCobertura"] = "<div class='col-xs-4 text-right'>" +
                                "<a id='popoverH" + CalculoCober.OrdenCobertura + "'" +
                                "   class='btn btn-sm btn-primary qtip-content'" +
                                "   role='button' onmouseover=\"tooltips(\'popoverH" + CalculoCober.OrdenCobertura + "\',\'" + CalculoCober.DetalleCobertura + "\',\'" + CalculoCober.Nombre + "\')\" > ?" +
                                "</a>" +
                                "</div><strong>" + CalculoCober.Nombre + "</strong>" + "</br>" + CalculoCober.Descripcion;

                            pvtCalculos++;
                            fila["Contado"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|1' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong> </br> Pago único";

                            /**********************************************************************************/
                            DataRow cotCoberFila = ModeloGenerico.tblCotizacionesCober.NewRow();
                            cotCoberFila["nOrdenCobertura"] = CalculoCober.OrdenCobertura;
                            cotCoberFila["Cobertura"] = CalculoCober.Nombre;
                            cotCoberFila["nFormaPago"] = "1";
                            cotCoberFila["desFormaPago"] = "Contado";
                            cotCoberFila["PagoIni"] = ModeloGenerico.calculos[pvtCalculos].mTotal;
                            cotCoberFila["PagoSub"] = "Pago único";
                            cotCoberFila["Total"] = ModeloGenerico.calculos[pvtCalculos].mTotal;
                            ModeloGenerico.tblCotizacionesCober.Rows.Add(cotCoberFila);
                            /***********************************************************************************/
                            pvtCalculos++;
                            fila["Semestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|2' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> primer pago de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de) + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago2de);
                            /************************************************************************************/
                            DataRow cotCoberFila2 = ModeloGenerico.tblCotizacionesCober.NewRow();
                            cotCoberFila2["nOrdenCobertura"] = CalculoCober.OrdenCobertura;
                            cotCoberFila2["Cobertura"] = CalculoCober.Nombre;
                            cotCoberFila2["nFormaPago"] = "2";
                            cotCoberFila2["desFormaPago"] = "Semestral";
                            cotCoberFila2["PagoIni"] = ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            cotCoberFila2["PagoSub"] = ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de " +
                                                                    ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            cotCoberFila2["Total"] = ModeloGenerico.calculos[pvtCalculos].mTotal;
                            ModeloGenerico.tblCotizacionesCober.Rows.Add(cotCoberFila2);
                            /******************************************************************************/
                            pvtCalculos++;
                            fila["Trimestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|3' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> cuatro pagos de  " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de);
                            /**********************************************************************************/
                            DataRow cotCoberFila3 = ModeloGenerico.tblCotizacionesCober.NewRow();
                            cotCoberFila3["nOrdenCobertura"] = CalculoCober.OrdenCobertura;
                            cotCoberFila3["Cobertura"] = CalculoCober.Nombre;
                            cotCoberFila3["nFormaPago"] = "3";
                            cotCoberFila3["desFormaPago"] = "Trimestral";
                            cotCoberFila3["PagoIni"] = ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            cotCoberFila3["PagoSub"] = "cuatro pagos de  " +
                                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            cotCoberFila3["Total"] = ModeloGenerico.calculos[pvtCalculos].mTotal;
                            ModeloGenerico.tblCotizacionesCober.Rows.Add(cotCoberFila3);
                            /**********************************************************************************/
                            pvtCalculos++;
                            fila["Mensual"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|4' type='radio'" + (CalculoCober.OrdenCobertura == 1 ? "checked='checked'" : "") + "> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> primer pago  de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de) + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de  " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago2de);
                            /**********************************************************************************/
                            DataRow cotCoberFila4 = ModeloGenerico.tblCotizacionesCober.NewRow();
                            cotCoberFila4["nOrdenCobertura"] = CalculoCober.OrdenCobertura;
                            cotCoberFila4["Cobertura"] = CalculoCober.Nombre;
                            cotCoberFila4["nFormaPago"] = "4";
                            cotCoberFila4["desFormaPago"] = "Mensual";
                            cotCoberFila4["PagoIni"] = ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            cotCoberFila4["PagoSub"] = ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de  " +
                                                                ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            cotCoberFila4["Total"] = ModeloGenerico.calculos[pvtCalculos].mTotal;
                            ModeloGenerico.tblCotizacionesCober.Rows.Add(cotCoberFila4);
                            /**************************************************************************************/
                            tblCoberturas.Rows.Add(fila);
                        }
                        ModeloGenerico.ObjCalculo = ModeloGenerico.calculos[1];
                        //var responsa                                        = VarProcInterfazX.arrAgentes.Where(a => a.lngAgente == long.Parse(agentID)).First().cresponsa;
                        //ModeloGenerico.responsable              = responsa == "" ? "XX" : responsa;
                        ModeloGenerico.agente = 0;
                        ModeloGenerico.formaPago = 4;
                        ModeloGenerico.complemento.primaNeta = ModeloGenerico.ObjCalculo.primaNeta;
                        ModeloGenerico.complemento.interes = "COB";
                        CoberturasModel cbrSeleccionada = CotizaExpressModel.coberturas[0];
                        Dictionary<string, object> resultado = new Dictionary<string, object>();

                        ModeloGenerico.cEra = VarProcInterfazX.arrPago[1].strEra;

                        ModeloGenerico.vehiculos = ModeloGenerico.calculos[0].vehiculos;

                        ModeloGenerico.vehiculos[0].ExcenDedu = cbrSeleccionada.ExDedu;
                        ModeloGenerico.vehiculos[0].coberGtoMed = cbrSeleccionada.GM;
                        ModeloGenerico.vehiculos[0].deducDañMat = cbrSeleccionada.DM;
                        ModeloGenerico.vehiculos[0].deducRobTot = cbrSeleccionada.RT;
                        ModeloGenerico.vehiculos[0].cober100 = cbrSeleccionada.Cober100;
                        ModeloGenerico.tersa = cbrSeleccionada.Terssa == "N" ? 0 : 1;
                        ModeloGenerico.vehiculos[0].estacionaCasa = cbrSeleccionada.GarageCasa;
                        ModeloGenerico.vehiculos[0].estacionaTrab = cbrSeleccionada.GarageTrabajo;
                        ModeloGenerico.vehiculos[0].usoTrabajo = cbrSeleccionada.Usotrabajo;
                        ModeloGenerico.vehiculos[0].coberRepCiv = cbrSeleccionada.RC;
                        ModeloGenerico.vehiculos[0].coberRepCivCat = cbrSeleccionada.RCcatastrofica;
                        ModeloGenerico.vehiculos[0].proliber = cbrSeleccionada.AseLegal;
                        ModeloGenerico.vehiculos[0].sumAsegFija = cbrSeleccionada.SumaAseg;
                        ModeloGenerico.vehiculos[0].vehSus = cbrSeleccionada.VehSus;
                        ModeloGenerico.vehiculos[0].asistenciaViaje = cbrSeleccionada.Aviaje;
                        ModeloGenerico.vehiculos[0].EsConductorBajoRiesgo = cbrSeleccionada.BajoRiesgo;
                        ModeloGenerico.conductorRestringido = cbrSeleccionada.BajoRiesgo == "S" ? 0 : 1;
                        ModeloGenerico.masAutos = cbrSeleccionada.MasAutos;
                        ModeloGenerico.control = cbrSeleccionada.Procar;

                        ModeloGenerico.conductores[0].extRespCivil = cbrSeleccionada.ExtensionRC == "S" ? 1 : 0;
                        ModeloGenerico.cobertura100 = cbrSeleccionada.Cober100 == "S" ? 1 : 0;

                        ModeloGenerico.conductores[0].DescripcionExRespCivil = ModeloGenerico.conductores[0].extRespCivil == 1 ? "Sí" : "No";
                        ModeloGenerico.estatus = "H";
                        ModeloGenerico.cVendida = "I";
                        ModeloGenerico.responsable = "XX";
                        ModeloGenerico.fechaCotizacion = DateTime.Now;
                        ModeloGenerico.inicioVigencia = DateTime.Now.ToShortDateString();
                        ModeloGenerico.finVigencia = DateTime.Now.AddYears(1).ToShortDateString();
                        ModeloGenerico.persona = "F";
                        ModeloGenerico.contraEntrega = "";
                        ModeloGenerico.entregaPol = "N";
                        ModeloGenerico.entregaComen = " ";
                        ModeloGenerico.campaña = 1549;
                        ModeloGenerico.subRamo = "1";
                        ModeloGenerico.ramo = 1;
                        ModeloGenerico.comentariosV = "Cotización generada en línea por cotizador exprés";
                        ModeloGenerico.observaciones = "";
                        CotizaExpressModel.CotComp = CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(ModeloGenerico);
                        resultado = CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(ModeloGenerico).GuardaCotizacionWeb(CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(ModeloGenerico), "A", "");
                        ModeloGenerico.cotizacionID = int.Parse(resultado["ID"].ToString());
                        ModeloGenerico.ModulodeTrabajo = "Cotizaciones";
                        ViewBag.idCotizacion = ModeloGenerico.cotizacionID;
                        //CotizaExpressModel.CotComp = CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(ModeloGenerico);

                        break;
                    #endregion

                    #region Agentes
                    case "Agentes":
                        ModeloGenerico.vehiculos[0].sumAsegFija = model.vehiculo.sumAsegFija.Substring(0, 1) == "V" ? "F" : model.vehiculo.sumAsegFija.Substring(0, 1);
                        CotizaExpressModel.coberturas = new List<CoberturasModel>();
                        pvtCalculos = -1;
                        foreach (DataRow cobertura in TpCober.Tables[0].Rows)
                        {
                            CoberturasModel CalculoCober = new CoberturasModel();
                            CalculoCober.OrdenCobertura = int.Parse(cobertura["OrdenCobertura"].ToString());
                            CalculoCober.Nombre = cobertura["Nombre"].ToString();
                            CalculoCober.Descripcion = cobertura["Descripcion"].ToString();

                            ModeloGenerico.vehiculos[0].ExcenDedu = CalculoCober.ExDedu = CalculoCober.ExDedu = cobertura["ExenDeducible"].ToString();
                            ModeloGenerico.vehiculos[0].coberGtoMed = CalculoCober.GM = int.Parse(cobertura["GastosMedicos"].ToString());
                            ModeloGenerico.vehiculos[0].deducDañMat = CalculoCober.DM = int.Parse(cobertura["DM"].ToString());
                            ModeloGenerico.vehiculos[0].deducRobTot = CalculoCober.RT = int.Parse(cobertura["RT"].ToString());
                            ModeloGenerico.vehiculos[0].cober100 = CalculoCober.Cober100 = cobertura["Cober100"].ToString();
                            ModeloGenerico.vehiculos[0].estacionaTrab = CalculoCober.GarageTrabajo = cobertura["GarageTrabajo"].ToString();
                            ModeloGenerico.vehiculos[0].estacionaCasa = CalculoCober.GarageCasa = cobertura["GarageCasa"].ToString();
                            //ModeloGenerico.vehiculos[0].usoTrabajo = CalculoCober.Usotrabajo = cobertura["Usotrabajo"].ToString();
                            ModeloGenerico.masAutos = CalculoCober.MasAutos = cobertura["MasAutos"].ToString();
                            CalculoCober.Procar = int.Parse(cobertura["Procar"].ToString());
                            ModeloGenerico.cobertura100 = CalculoCober.Cober100 == "S" ? 1 : 0;
                            if (ModeloGenerico.cobertura100 == 0)
                            {
                                ModeloGenerico.conductores[0].extRespCivil = 0;
                                ModeloGenerico.vehiculos[0].cober100 = "N";
                            }
                            ValidaParaCotizara(ModeloGenerico);
                            Calculo(ref ModeloGenerico, modulo);
                            CotizaExpressModel.coberturas.Add(CalculoCober);
                            DataRow fila = tblCoberturas.NewRow();
                            fila["TipoCobertura"] = "<strong>" + CalculoCober.Nombre + "</strong>" + "</br>" + CalculoCober.Descripcion;

                            pvtCalculos++;
                            fila["Contado"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|1' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong> </br> Pago único";
                            pvtCalculos++;
                            fila["Semestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|2' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> primer pago de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de) + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago2de);
                            pvtCalculos++;
                            fila["Trimestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|3' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> cuatro pagos de  " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de);
                            pvtCalculos++;
                            fila["Mensual"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|4' type='radio'> <strong>" +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mTotal) + "</strong></br> primer pago  de " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago1de) + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de  " +
                                                    string.Format("{0:C2}", ModeloGenerico.calculos[pvtCalculos].mPago2de);
                            tblCoberturas.Rows.Add(fila);
                        }
                        break;
                    #endregion

                    #region Servidores
                    case "Servidores":
                        modulo = "C";

                        CotizaExpressModel.coberturas = new List<CoberturasModel>();
                        pvtCalculos = -1;
                        foreach (DataRow cobertura in TpCober.Tables[0].Rows)
                        {
                            CoberturasModel CalculoCober = new CoberturasModel();
                            CalculoCober.OrdenCobertura = int.Parse(cobertura["OrdenCobertura"].ToString());
                            CalculoCober.Nombre = cobertura["Nombre"].ToString();
                            CalculoCober.Descripcion = cobertura["Descripcion"].ToString();
                            ModeloGenerico.vehiculos[0].cober100 = CalculoCober.Cober100 = cobertura["Cober100"].ToString();
                            ModeloGenerico.vehiculos[0].deducDañMat = CalculoCober.DM = int.Parse(cobertura["DM"].ToString());
                            model.cotizacion.vehiculos[0].deducRobTot = CalculoCober.RT = int.Parse(cobertura["RT"].ToString());
                            CalculoCober.Terssa = cobertura["Terssa"].ToString();
                            CalculoCober.ExtensionRC = cobertura["ExtensionRC"].ToString();
                            Calculo(ref ModeloGenerico, modulo);
                            CotizaExpressModel.coberturas.Add(CalculoCober);
                            DataRow fila = tblCoberturas.NewRow();
                            fila["TipoCobertura"] = "<strong>" + CalculoCober.Nombre + "</strong>" + "</br>" + CalculoCober.Descripcion;

                            pvtCalculos++;
                            fila["Contado"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|1' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong> </br>  Pago único";
                            pvtCalculos++;
                            fila["Semestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|2' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> primer pago de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            pvtCalculos++;
                            fila["Trimestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|3' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> cuatro pagos de  " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            pvtCalculos++;
                            fila["Mensual"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|4' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> primer pago  de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de  " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            tblCoberturas.Rows.Add(fila);
                        }
                        break;
                    #endregion

                    #region Prestadinero
                    case "Prestadinero":
                        modulo = "C";

                        CotizaExpressModel.coberturas = new List<CoberturasModel>();
                        pvtCalculos = -1;
                        foreach (DataRow cobertura in TpCober.Tables[0].Rows)
                        {
                            CoberturasModel CalculoCober = new CoberturasModel();
                            CalculoCober.OrdenCobertura = int.Parse(cobertura["OrdenCobertura"].ToString());
                            CalculoCober.Nombre = cobertura["Nombre"].ToString();
                            CalculoCober.Descripcion = cobertura["Descripcion"].ToString();
                            ModeloGenerico.vehiculos[0].cober100 = CalculoCober.Cober100 = cobertura["Cober100"].ToString();
                            ModeloGenerico.vehiculos[0].deducDañMat = CalculoCober.DM = int.Parse(cobertura["DM"].ToString());
                            model.cotizacion.vehiculos[0].deducRobTot = CalculoCober.RT = int.Parse(cobertura["RT"].ToString());
                            CalculoCober.Terssa = cobertura["Terssa"].ToString();
                            CalculoCober.ExtensionRC = cobertura["ExtensionRC"].ToString();
                            Calculo(ref ModeloGenerico, modulo);
                            CotizaExpressModel.coberturas.Add(CalculoCober);
                            DataRow fila = tblCoberturas.NewRow();
                            fila["TipoCobertura"] = "<strong>" + CalculoCober.Nombre + "</strong>" + "</br>" + CalculoCober.Descripcion;

                            pvtCalculos++;
                            fila["Contado"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|1' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong> </br>  Pago único";
                            pvtCalculos++;
                            fila["Semestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|2' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> primer pago de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            pvtCalculos++;
                            fila["Trimestral"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|3' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> cuatro pagos de  " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de;
                            pvtCalculos++;
                            fila["Mensual"] = "<input name='savecoti' value='" + CalculoCober.OrdenCobertura + "|4' type='radio'> <strong>" +
                                                    ModeloGenerico.calculos[pvtCalculos].mTotal + "</strong></br> primer pago  de " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago1de + " y " +
                                                    ModeloGenerico.calculos[pvtCalculos].nPago2de + " pagos de  " +
                                                    ModeloGenerico.calculos[pvtCalculos].mPago2de;
                            tblCoberturas.Rows.Add(fila);
                        }
                        break;
                    #endregion
                }

                Session["ModeloEnUso"] = ModeloGenerico;
                CotizaExpressModel.CotComp = new ClsCotizacion();
                CotizaExpressModel.CotComp = CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(ModeloGenerico);

                int totalRows = 0;

                var data = tblCoberturas;

                ClearErrors();
                return Json(from g in data.Select()
                            select new
                            {
                                //chkSelect = false,
                                TipoCobertura = g["TipoCobertura"],
                                Contado = g["Contado"],
                                Semestral = g["Semestral"],
                                Trimestral = g["Trimestral"],
                                Mensual = g["Mensual"],
                                IdCoti = "Cotización No: " + ModeloGenerico.cotizacionID,
                                total = totalRows,
                            }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
Exemplo n.º 2
0
        public ActionResult PlanSelectedExpress()
        {
            try
            {
                CoberturasModel c = (CoberturasModel)Session["SelectedCoberExpress"];
                if (c == null)
                {
                    c = new CoberturasModel();
                }

                return PartialView("_PlanSelectedPartial", c);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }