Example #1
0
        /// <summary>
        /// GET Accion para cuando es un documento no registrado en la DB
        /// Se crea el vehiculo sobre el objeto en memoria
        /// </summary>
        /// <param name="model">Modelo de datos en memoria</param>
        /// <returns></returns>
        public ActionResult CreateVehiculo()
        {
            try
            {
                // Recupero el modelo
                var modelComplete = (GenericoViewModel)Session["ModeloEnUso"];

                // Consecutivo de Vehiculos
                int consec = 1;
                if (modelComplete.vehiculos != null)
                {
                    consec = modelComplete.vehiculos.Count + 1;
                }

                // Valores por defecto de propiedades
                var car = new VehiculoModel();
                car.nNumVehi = consec;
                car.codigoPostal = modelComplete.codigoPostal;
                car.EstacionaEnCasa = true;
                car.EstacionaEnOfic = true;
                car.UsaParaTrabajo = false;
                car.UsaAsesoriaLegal = true;

                //Default cValidaSerie
                //Tipo Número de Serie
                car.EsSerieCorrecta = false;
                car.numeroSerie = "";
                car.placas = "";
                car.descEqEsp = "";
                car.ccNCI = "";
                car.fecEBC = "";
                car.pagEBC = "";
                car.autorizaSerie = "";
                car.VIN = "";

                car.TieneSUVA = false;
                car.deducDañMat = 5;
                car.deducRobTot = 10;
                car.coberGtoMed = 100000;
                car.coberRepCiv = 500000;
                car.coberRepCivCat = 3000000;

                // Datos heredados de póliza
                SetHerenciaProperties(ref car, modelComplete);

                // Seteo las listas
                SetVehiculoListProperties(ref car);

                // Conductor por defecto
                car.conductores = modelComplete.conductores;
                if (car.conductores == null) car.conductores = new List<ClsConductor>();
                if (car.conductores.FirstOrDefault(c => c.nNumCond == 0) == null)
                {
                    car.conductores.Insert(0, new ClsConductor() { nNumCond = 0, nombre = "-- Seleccione un conductor asignado --" });
                    car.conducAsign = 0;
                }

                // Redirecciono
                return PartialView("Vehiculos", car);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
Example #2
0
 private void SetHerenciaProperties(ref VehiculoModel car, GenericoViewModel modelComplete)
 {
     try
     {
         // Datos heredados de póliza
         car.titulo = modelComplete.titulo;
         car.apellidoPaterno = modelComplete.apellidoPaterno;
         car.apellidoMaterno = modelComplete.apellidoMaterno;
         car.nombres = modelComplete.nombres;
         car.campaña = modelComplete.campaña;
         car.numConductores = modelComplete.numConductores;
         car.numVehiculos = modelComplete.numVehiculos;
     }
     catch (Exception err)
     {
         Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
         LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
         throw err;
     }
 }
Example #3
0
        private void SetVehiculoListProperties(ref VehiculoModel car)
        {
            try
            {
                ctzC.ControllerContext = this.ControllerContext;
                DropDownList ddlSumA = new DropDownList();
                ctlg.CargaCmbSAFWeb(ddlSumA);
                car.SumaAseguradaSource = new Dictionary<string, string>();
                for (int i = 0; i < ddlSumA.Items.Count; i++)
                    car.SumaAseguradaSource.Add(ddlSumA.Items[i].Value, ddlSumA.Items[i].Text);

                DropDownList ddlGuiaEBC = new DropDownList();
                ctlg.CargaCmbDatGuiaEbcWeb(ddlGuiaEBC);

                car.SubRamoSource = VarProcInterfazX.arrSubRamo;
                car.YearsSource = (Dictionary<string, string>)ctzC.ObtenAños("R").Data;

                DropDownList ddlAViaje = new DropDownList();
                ctlg.CargaCmbAsisteViajeWeb(ddlAViaje);
                car.AsistenciaViajeSource = new Dictionary<string, string>();
                for (int i = 0; i < ddlAViaje.Items.Count; i++)
                    car.AsistenciaViajeSource.Add(ddlAViaje.Items[i].Value, ddlAViaje.Items[i].Text);

                DropDownList ddlVhSus = new DropDownList();
                ctlg.CargaCmbVehSusWeb(ddlVhSus);
                car.VehSustitutoSource = new Dictionary<string, string>();
                for (int i = 0; i < ddlVhSus.Items.Count; i++)
                    car.VehSustitutoSource.Add(ddlVhSus.Items[i].Value, ddlVhSus.Items[i].Text);

                car.PorcentajeDMSource = VarProcInterfazX.arrDeducibleDM.OrderBy(d => d.curMonto);
                car.PorcentajeRTSource = VarProcInterfazX.arrDeducibleRT.OrderBy(d => d.curMonto);
                car.CoberturaGMSource = VarProcInterfazX.arrCoberturaGM.OrderBy(d => d.curMonto);
                car.CoberturaRCSource = VarProcInterfazX.arrCoberturaRC.OrderBy(d => d.curMonto);
                car.CoberturaRCCSource = VarProcInterfazX.arrCoberturaRCCat.OrderBy(d => d.curMonto);
                car.TipoTransmisionSource = VarProcInterfazX.arrTransmision;
                car.TipoAlarmaSource = VarProcInterfazX.arrTpoAlarma;
                car.GuiaEBCSource = ddlGuiaEBC.Items;
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                throw err;
            }
        }
Example #4
0
        public ActionResult UpdateVehiculo(VehiculoModel coche)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return Json(new { success = false, errores = GetElementsFromModelState(), validaciones = "" });
                }
                if (coche.PolObligatoria == "S")
                {
                    ValSeguroObli(coche.nNumVehi, coche.coberRepCiv);
                }
                //Antes de Guardar un Vehículo, hay algunas validaciones adicionales

                var logged = (DataSet)Session["UserObj"];
                var agentID = logged.Tables["catAgentes"].Rows[0]["nAgenteID"].ToString();

                // Recupero el modelo
                GenericoViewModel modelComplete = (GenericoViewModel)Session["ModeloEnUso"];
                modelComplete.conductores.Remove(modelComplete.conductores.FirstOrDefault(x=> x.nombre== "-- Seleccione un conductor asignado --"));
                Dictionary<string, object> results = new Dictionary<string, object>();
                if (modelComplete.ModulodeTrabajo == "Cotizaciones")
                {
                    // Validaciones Nueva Cotización

                    ClsVehiculo vehiculo = CentralAgentesMvc.App_Start.CastObject.Cast<ClsVehiculo>(coche);
                    results = vehiculo.ValidaVehiculoWeb(vehiculo, "C", agentID);
                }
                else
                {
                    ClsVehiculo vehiculo = CentralAgentesMvc.App_Start.CastObject.Cast<ClsVehiculo>(coche);
                    results = vehiculo.ValidaVehiculoWeb(vehiculo, "R", agentID);
                    // Validaciones Renovación
                }

                if (results.First().Value.ToString() != "OK")
                {
                    return Json(new { success = false, errores = "", validaciones = results });
                }

                // Inicializo coleccion si estan null
                if (modelComplete.vehiculos == null) modelComplete.vehiculos = new List<ClsVehiculo>();
                if (modelComplete.prospectos == null) modelComplete.prospectos = new List<ClsProspecto>();
                if (modelComplete.complemento == null) modelComplete.complemento = new ClsComplemento();

                // Elimino el conductor 0
                if (modelComplete.conductores != null)
                {
                    var cndR = modelComplete.conductores.FirstOrDefault(c => c.nNumCond == 0);
                    if (cndR != null)
                        modelComplete.conductores.Remove(cndR);
                }

                // Verifico si es edición
                if (modelComplete.vehiculos.FirstOrDefault(c => c.nNumVehi == coche.nNumVehi) != null)
                {
                    var remove = modelComplete.vehiculos.FirstOrDefault(c => c.nNumVehi == coche.nNumVehi);
                    modelComplete.vehiculos.Remove(remove);
                }

                // Agrego el vehiculo a la colección
                var car = CentralAgentesMvc.App_Start.CastObject.Cast<ClsVehiculo>(coche);
                if (coche.conducAsign != 0)
                {
                    car.NombreConductorA = modelComplete.conductores.First(c => c.nNumCond == coche.conducAsign).nombre.ToUpper();
                }
                modelComplete.vehiculos.Add(car);

                // Valido el TERSSA
                int contTerssa = 0;
                ValidaVehiculos vv = new ValidaVehiculos();
                modelComplete.tersa = vv.ValidaConvierteTerssa(ref contTerssa, modelComplete.tersa, modelComplete.vehiculos, "C");

                // Valido Cobertura 100
                int contCober = 0;
                int contCond = 0;
                modelComplete.cobertura100 = vv.ValidaConvierteCobertura100Siempre(ref contCober
                                                                                 , ref contCond
                                                                                 , modelComplete.cobertura100
                                                                                 , modelComplete.vehiculos
                                                                                 , modelComplete.conductores
                                                                                 , "C");

                // Guardo el modelo
                SetPorcentajeComisionList(ref modelComplete);
                ViewBag.SubTitle = (modelComplete.ModulodeTrabajo == "Cotizaciones" ? "cotización" : "renovación");
                GuardaEnMemoria(modelComplete);
                ClearErrors();

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