/// <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"); } }
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; } }
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; } }
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"); } }