public ActionResult Update(string plan_mayor, int?menu) { icb_vehiculo vehiculo = context.icb_vehiculo.Find(plan_mayor); listas(vehiculo); BuscarFavoritos(menu); return(View(vehiculo)); }
public ActionResult Create(int?menu) { icb_vehiculo vh = new icb_vehiculo(); listas(vh); BuscarFavoritos(menu); return(View()); }
// GET: inventario_vhUsado //public ActionResult Update(int id) //{ // var vehiculo = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == id); // ViewBag.tipos = new SelectList(context.tipo_vehiculo, "tpvh_id", "tpvh_nombre"); // ViewBag.marcas = new SelectList(context.marca_vehiculo, "marcvh_id", "marcvh_nombre",vehiculo.marcvh_id); // var modelosActual = context.modelo_vehiculo.Where(x => x.mar_vh_id == vehiculo.marcvh_id); // ViewBag.modelos = new SelectList(modelosActual, "modvh_id", "modvh_nombre",vehiculo.modvh_id); // var estilosActual = context.estilo_vehiculo.Where(x => x.mod_vh_id == vehiculo.modvh_id); // ViewBag.estilos = new SelectList(estilosActual, "estvh_id", "estvh_nombre",vehiculo.estvh_id); // ViewBag.color = new SelectList(context.color_vehiculo, "colvh_id", "colvh_nombre",vehiculo.colvh_id); // ViewBag.clasificacion = new SelectList(context.clacompra_vehiculo, "clacompvh_id", "clacompvh_nombre",vehiculo.clavh_id); // return View(vehiculo); //} public JsonResult ActualizarVehiculo(int id, int marca, string modelo, int estilo, string color, string serie, string motor, int anio, string placa, int clasificacion) { int result = 0; icb_vehiculo QueryVehiculo = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == id); icb_vehiculo motorVh = context.icb_vehiculo.FirstOrDefault(x => x.nummot_vh == motor); icb_vehiculo serieVh = context.icb_vehiculo.FirstOrDefault(x => x.vin == serie); icb_vehiculo placaVh = context.icb_vehiculo.FirstOrDefault(x => x.plac_vh == placa); if (motorVh != null && QueryVehiculo.icbvh_id != motorVh.icbvh_id) { result = -1; } else if (serieVh != null && QueryVehiculo.icbvh_id != serieVh.icbvh_id) { result = -2; } else if (placaVh != null && QueryVehiculo.icbvh_id != placaVh.icbvh_id) { result = -3; } else { QueryVehiculo.anio_vh = anio; QueryVehiculo.colvh_id = color; QueryVehiculo.estvh_id = estilo; QueryVehiculo.icbvhfec_actualizacion = DateTime.Now; QueryVehiculo.icbvhuserid_actualizacion = Convert.ToInt32(Session["user_usuarioid"]); QueryVehiculo.marcvh_id = marca; QueryVehiculo.modvh_id = modelo; QueryVehiculo.nummot_vh = motor; QueryVehiculo.plac_vh = placa; QueryVehiculo.vin = serie; QueryVehiculo.clavh_id = clasificacion; //icbvh_id=id, //anio_vh = anio, //colvh_id = color, //estvh_id = estilo, //icbvhfec_actualizacion = DateTime.Now, //icbvhuserid_actualizacion = Convert.ToInt32(Session["user_usuarioid"]), //marcvh_id = marca, //modvh_id = modelo, //nummot_vh = motor, //plac_vh = placa, //// Id del tipo de vehiculo usado registrado en la BD //tpvh_id = 5, //num_serie = serie, //clavh_id = clasificacion context.Entry(QueryVehiculo).State = EntityState.Modified; result = context.SaveChanges(); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult Update(icb_vehiculo vehiculo, int?menu) { vehiculo.icbvhfec_actualizacion = DateTime.Now; vehiculo.icbvhuserid_actualizacion = Convert.ToInt32(Session["user_usuarioid"]); context.Entry(vehiculo).State = EntityState.Modified; context.SaveChanges(); listas(vehiculo); BuscarFavoritos(menu); return(View(vehiculo)); }
public ActionResult envio_improntas(IngresoVhModel modelo, int?menu) { string listVin = Request["listVin"]; string[] exploded = listVin.Split('|'); foreach (string item in exploded) { if (item != "") { int id = Convert.ToInt32(item); icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == id); if (buscaVin != null) { buscaVin.icbvh_fec_envioimpronta = DateTime.Now; context.Entry(buscaVin).State = EntityState.Modified; } bool result = context.SaveChanges() > 0; if (result) { TempData["mensaje"] = "El envio de impronta fue exitoso!"; icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P15"); string tpEventoParametro = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "5"; context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos { eventofec_creacion = DateTime.Now, eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]), evento_nombre = "Envio Impronta", evento_estado = true, evento_observacion = "Se realiza envio de impronta", //id_vehiculo = id, vin = buscaVin.vin, bodega_id = Convert.ToInt32(buscaVin.icbvh_bodpro), id_tpevento = Convert.ToInt32(tpEventoParametro) }); context.SaveChanges(); } else { TempData["mensaje_error"] = "Error de conexion, intente mas tarde!"; } } } BuscarFavoritos(menu); return(View()); }
public void listas(icb_vehiculo vh) { ViewBag.tpvh_id = new SelectList(context.tipo_vehiculo, "tpvh_id", "tpvh_nombre", vh.tpvh_id); ViewBag.marcvh_id = new SelectList(context.marca_vehiculo, "marcvh_id", "marcvh_nombre", vh.marcvh_id); ViewBag.modvh_id = new SelectList(context.modelo_vehiculo, "modvh_codigo", "modvh_nombre", vh.modvh_id); ViewBag.estilos = new SelectList(Enumerable.Empty <SelectListItem>()); ViewBag.colvh_id = new SelectList(context.color_vehiculo, "colvh_id", "colvh_nombre", vh.colvh_id); ViewBag.clasificacion = new SelectList(context.clacompra_vehiculo, "clacompvh_id", "clacompvh_nombre"); ViewBag.ciumanf_vh = new SelectList(context.nom_ciudad, "ciu_id", "ciu_nombre", vh.ciumanf_vh); ViewBag.asignado = context.icb_vehiculo.Where(x => x.asignado != null).Count(); ViewBag.totalVehiculos = context.icb_vehiculo.Where(x => x.usado == true).Count(); users creator = context.users.Find(vh.icbvhuserid_creacion); if (creator != null) { ViewBag.user_nombre_cre = creator.user_nombre + " " + creator.user_apellido; } users modificator = context.users.Find(vh.icbvhuserid_actualizacion); if (modificator != null) { ViewBag.user_nombre_act = modificator.user_nombre + " " + modificator.user_apellido; ViewBag.user_fec_act = modificator.userfec_actualizacion.ToString(); } var provedores = from pro in context.tercero_proveedor join ter in context.icb_terceros on pro.tercero_id equals ter.tercero_id select new { idTercero = ter.tercero_id, nombreTErcero = ter.prinom_tercero, apellidosTercero = ter.apellido_tercero }; List <SelectListItem> items = new List <SelectListItem>(); foreach (var item in provedores) { items.Add(new SelectListItem { Text = item.nombreTErcero, Value = item.idTercero.ToString() }); } ViewBag.proveedor_id = items; }
//public JsonResult BuscarEstilos(int modelo) //{ // var modelos = context.estilo_vehiculo.Where(x => x.mod_vh_id == modelo).ToList(); // var result = modelos.Select(x => new { // x.estvh_id, // x.estvh_nombre // }); // return Json(result, JsonRequestBehavior.AllowGet); //} public JsonResult AgregarVehiculo(int marca, string modelo, int estilo, string color, string serie, string motor, int anio, string placa, int clasificacion) { int result = 0; int motorVh = context.icb_vehiculo.Where(x => x.nummot_vh == motor).Count(); if (motorVh > 0 && motor.Length > 0) { result = -1; } int serieVh = context.icb_vehiculo.Where(x => x.vin == serie).Count(); if (serieVh > 0 && serie.Length > 0) { result = -2; } int placaVh = context.icb_vehiculo.Where(x => x.plac_vh == placa).Count(); if (placaVh > 0 && placa.Length > 0) { result = -3; } if (motorVh == 0 && serieVh == 0 && placaVh == 0) { icb_vehiculo vehiculoNuevo = new icb_vehiculo { anio_vh = anio, colvh_id = color, estvh_id = estilo, icbvhfec_creacion = DateTime.Now, icbvhuserid_creacion = Convert.ToInt32(Session["user_usuarioid"]), marcvh_id = marca, modvh_id = modelo, nummot_vh = motor, plac_vh = placa, // Id del tipo de vehiculo usado registrado en la BD tpvh_id = 5, vin = serie, clavh_id = clasificacion }; context.icb_vehiculo.Add(vehiculoNuevo); result = context.SaveChanges(); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult toma_improntas(IngresoVhModel modelo, int?menu) { icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == modelo.vin); if (buscaVin != null) { icb_sysparameter buscarParametroStatus = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P7"); string statusParametro = buscarParametroStatus != null ? buscarParametroStatus.syspar_value : "6"; icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P13"); string tpEventoParametro = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "3"; buscaVin.icbvh_estatus = statusParametro; buscaVin.id_evento = Convert.ToInt32(tpEventoParametro); //buscaVin.id_bod = buscaVin.icbvh_bodpro; buscaVin.icbvh_fec_impronta = DateTime.Now; context.Entry(buscaVin).State = EntityState.Modified; bool result = context.SaveChanges() > 0; if (result) { TempData["mensaje"] = "La toma de impronta fue exitoso!"; context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos { eventofec_creacion = DateTime.Now, eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]), evento_nombre = "Toma Impronta", evento_estado = true, //id_vehiculo = modelo.icbvh_id, vin = modelo.vin, bodega_id = Convert.ToInt32(buscaVin.icbvh_bodpro), id_tpevento = Convert.ToInt32(tpEventoParametro) }); context.SaveChanges(); } else { TempData["mensaje_error"] = "Error de conexion, intente mas tarde!"; } } else { TempData["mensaje_error"] = "No se encontro el numero de vin, verifique o intente mas tarde!"; } BuscarFavoritos(menu); return(View()); }
public ActionResult crearMatricula(int id, int tramitador_id, int cartera, string placa, int valor, string fechamatricula, string observacion, encab_documento encabezado)/*cartera,tramitador*/ { placaVh(id, placa, fechamatricula); string mensaje = ""; int iduser = Convert.ToInt32(Session["user_usuarioid"]); icb_tpeventos tpevento = context.icb_tpeventos.Where(a => a.tpevento_nombre == "Matriculado").FirstOrDefault(); vw_pendientesAlistamiento x = context.vw_pendientesAlistamiento.FirstOrDefault(t => t.id == id); icb_terceros tercero = context.icb_terceros.Where(b => b.doc_tercero == x.doc_tercero).FirstOrDefault(); icb_vehiculo vh = context.icb_vehiculo.Where(c => c.plan_mayor == x.plan_mayor).FirstOrDefault(); icb_vehiculo_eventos ve = new icb_vehiculo_eventos { planmayor = x.planmayor, eventofec_creacion = DateTime.Now, eventouserid_creacion = iduser, evento_nombre = "Matriculado", evento_estado = true, bodega_id = x.bodega, id_tpevento = tpevento.tpevento_id, fechaevento = DateTime.Now, terceroid = tercero.tercero_id, placa = placa, vin = vh.vin, evento_observacion = observacion, cartera_id = cartera,/*cartera*/ }; if (encabezado.idencabezado != 0) { ve.idencabezado = encabezado.idencabezado; encabezado.id_pedido_vehiculo = id; vh.tramitador_id = tramitador_id;/*tramitador*/ } context.icb_vehiculo_eventos.Add(ve); try { context.SaveChanges(); } catch (DbEntityValidationException e) { mensaje = e.Message; } return(Json(valor, JsonRequestBehavior.AllowGet)); }
public void placaVh(int id, string placa, string fechamatricula) { string mensaje = ""; DateTime fechaM = DateTime.Now; vw_pendientesAlistamiento x = context.vw_pendientesAlistamiento.FirstOrDefault(t => t.id == id); int iduser = Convert.ToInt32(Session["user_usuarioid"]); icb_vehiculo vehiculo = context.icb_vehiculo.Where(d => d.plan_mayor == x.planmayor).FirstOrDefault(); vehiculo.icbvhfec_actualizacion = DateTime.Now; vehiculo.icbvhuserid_actualizacion = iduser; vehiculo.plac_vh = placa; bool convertir = DateTime.TryParse(fechamatricula, out fechaM); if (convertir) { vehiculo.fecmatricula = fechaM; } else { vehiculo.fecmatricula = DateTime.Now; } context.icb_vehiculo.Attach(vehiculo); context.Entry(vehiculo).Property(z => z.icbvhfec_actualizacion).IsModified = true; context.Entry(vehiculo).Property(z => z.icbvhuserid_actualizacion).IsModified = true; context.Entry(vehiculo).Property(z => z.plac_vh).IsModified = true; context.Entry(vehiculo).Property(z => z.fecmatricula).IsModified = true; try { context.SaveChanges(); } catch (DbEntityValidationException e) { mensaje = e.Message; } }
public JsonResult AgregarInspeccionIndividual(int idVehiculo, decimal ccaBateria, decimal voltajeBateria, decimal ccaTomado, int idTomaBateria, int idBodega) { string observacion = "CCA Bateria = " + ccaBateria + " , Voltaje Bateria = " + voltajeBateria + " ,CCA Tomado = " + ccaTomado; icb_vehiculo buscaVehiculo = context.icb_vehiculo.FirstOrDefault(x => x.icbvh_id == idVehiculo); bool result = false; if (buscaVehiculo != null) { icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P12"); string tpEventoParametro = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "6"; context.icb_vehiculo_eventos.Add(new icb_vehiculo_eventos { eventofec_creacion = DateTime.Now, eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]), evento_nombre = "Toma Bateria", evento_estado = true, //id_vehiculo = idVehiculo, vin = buscaVehiculo.vin, bodega_id = idBodega, id_tpevento = Convert.ToInt32(tpEventoParametro), evento_observacion = observacion }); result = context.SaveChanges() > 0; if (result) { buscaVehiculo.icbvh_fecing_bateria = DateTime.Now; context.Entry(buscaVehiculo).State = EntityState.Modified; context.SaveChanges(); } } return(Json(result, JsonRequestBehavior.AllowGet)); }
public string verificarplaca(string placa) { string resultado = ""; //verifico que placa no venga vacio if (!string.IsNullOrWhiteSpace(placa)) { //verifico que sea de un vehículo válido icb_vehiculo vei = context.icb_vehiculo.Where(d => d.plan_mayor == placa).FirstOrDefault(); if (vei != null) { if (!string.IsNullOrWhiteSpace(vei.plac_vh)) { resultado = vei.plac_vh; } else { resultado = vei.plan_mayor; } } } return(resultado); }
public ActionResult Index(HttpPostedFileBase excelfile, int?menu) { int items = 0; string log = ""; int itemsCorrectos = 0; int itemsFallidos = 0; string nombreArchivo = excelfile.FileName; bool agregarArchivo = false; int idUltimoArchTomBat = 0; int tomaBateriaId = 0; try { tomaBateriaId = Convert.ToInt32(Request["tomaBateriaExcel"]); } catch (FormatException) { //Validacion para cuando no se asigna una toma de bateria al importar el archivo excel } int codigoBodega = 0; try { codigoBodega = Convert.ToInt32(Request["bodegaExcel"]); } catch (FormatException) { //Validacion para cuando no se asigna una bodega al importar el archivo excel } if (excelfile == null || excelfile.ContentLength == 0) { TempData["mensajeCargue"] = "El archivo esta vacio o no es un archivo valido!"; ViewBag.tomaBateria = context.icb_toma_baterias; ViewBag.bodegas = context.bodega_concesionario; BuscarFavoritos(menu); return(View()); } icb_arch_tombat buscaNombre = context.icb_arch_tombat.FirstOrDefault(x => x.arch_tombat_nombre == excelfile.FileName); if (buscaNombre != null) { TempData["mensajeCargue"] = "El nombre del archivo ya se encuentra registrado, verifique que el archivo no ha sido cargado antes o cambie de nombre!"; ViewBag.tomaBateria = context.icb_toma_baterias; ViewBag.bodegas = context.bodega_concesionario; BuscarFavoritos(menu); return(View()); } if (excelfile.FileName.EndsWith("xls") || excelfile.FileName.EndsWith("xlsx")) { string path = Server.MapPath("~/Content/" + excelfile.FileName); // Validacion para cuando el archivo esta en uso y no puede ser usado desde visual try { if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } } catch (IOException) { TempData["mensajeCargue"] = "El archivo esta siendo usado por otro proceso, asegurece de cerrarlo o cree una copia del archivo e intente de nuevo!"; ViewBag.tomaBateria = context.icb_toma_baterias; ViewBag.bodegas = context.bodega_concesionario; BuscarFavoritos(menu); return(View()); } excelfile.SaveAs(path); // Read data from excel file Application application = new Application(); Workbook workbook = application.Workbooks.Open(path); Worksheet worksheet = workbook.ActiveSheet; Range range = worksheet.UsedRange; items = range.Rows.Count; // Se hace la validacion para agregar solo una vez el archivo de facturacion con el total de registros que existen if (!agregarArchivo) { icb_arch_tombat archivoTomBat = new icb_arch_tombat { arch_tombat_nombre = nombreArchivo, arch_tombat_fecha = DateTime.Now, items = items - 1, toma_bateria_id = tomaBateriaId }; context.icb_arch_tombat.Add(archivoTomBat); bool resultArchTombat = context.SaveChanges() > 0; if (resultArchTombat) { idUltimoArchTomBat = context.icb_arch_tombat.OrderByDescending(x => x.arch_tombat_id).First() .arch_tombat_id; } agregarArchivo = true; } byte[] fileBytes = new byte[excelfile.ContentLength]; int data = excelfile.InputStream.Read(fileBytes, 0, Convert.ToInt32(excelfile.ContentLength)); for (int row = 2; row <= range.Rows.Count; row++) { icb_vehiculo_eventos nuevoRegistroTomaBateria = new icb_vehiculo_eventos(); dynamic capturaFecha = ((Range)range.Cells[row, 12]).Text; //DateTime resultFecha = DateTime.Parse(capturaFecha); DateTime parseo = new DateTime(); try { parseo = DateTime.Parse(capturaFecha); nuevoRegistroTomaBateria.eventofec_creacion = parseo; nuevoRegistroTomaBateria.eventouserid_creacion = Convert.ToInt32(Session["user_usuarioid"]); string VoltajeBateria = ((Range)range.Cells[row, 2]).Text; ; string CCATomado = ((Range)range.Cells[row, 3]).Text; ; string CCABateria = ((Range)range.Cells[row, 4]).Text; string observacion = "CCA Bateria = " + CCABateria + " , Voltaje Bateria = " + VoltajeBateria + " ,CCA Tomado = " + CCATomado; string decision = ((Range)range.Cells[row, 7]).Text; string vin = ((Range)range.Cells[row, 14]).Text; icb_vehiculo buscarVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == vin); if (buscarVin != null) { icb_vehiculo_bateria buscarTomaExiste = context.icb_vehiculo_bateria.FirstOrDefault(x => x.veh_bat_vhid == buscarVin.icbvh_id && x.veh_bat_toma_id == tomaBateriaId); if (buscarTomaExiste != null) { itemsFallidos++; if (log.Length < 1) { log += vin + "*El VIN ya registro inspeccion de bateria"; } else { log += "|" + vin + "*El VIN ya registro inspeccion de bateria"; } } else { if (buscarVin.icbvh_estatus == "0") { itemsFallidos++; if (log.Length < 1) { log += vin + "*El VIN se encuentra en estado 0"; } else { log += "|" + vin + "*El VIN se encuentra en estado 0"; } } else { itemsCorrectos++; nuevoRegistroTomaBateria.vin = vin; nuevoRegistroTomaBateria.evento_nombre = "Toma Bateria"; nuevoRegistroTomaBateria.evento_estado = true; //nuevoRegistroTomaBateria.id_vehiculo = buscarVin.icbvh_id; nuevoRegistroTomaBateria.bodega_id = codigoBodega; icb_sysparameter buscarParametroTpEvento = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P12"); string tpEventoParametro = buscarParametroTpEvento != null ? buscarParametroTpEvento.syspar_value : "6"; nuevoRegistroTomaBateria.id_tpevento = Convert.ToInt32(tpEventoParametro); nuevoRegistroTomaBateria.evento_observacion = observacion; context.icb_vehiculo_eventos.Add(nuevoRegistroTomaBateria); bool guardarEventoVehiculo = context.SaveChanges() > 0; context.icb_vehiculo_bateria.Add(new icb_vehiculo_bateria { veh_bat_fecha = parseo, veh_bat_toma_id = tomaBateriaId, veh_bat_vhid = buscarVin.icbvh_id, veh_bat_vin = buscarVin.vin, veh_bat_archid = idUltimoArchTomBat, veh_bat_decision = decision }); bool guardarTipoTomaBateria = context.SaveChanges() > 0; if (guardarEventoVehiculo && guardarTipoTomaBateria) { buscarVin.icbvh_fecing_bateria = DateTime.Now; context.Entry(buscarVin).State = EntityState.Modified; context.SaveChanges(); } } } } else { itemsFallidos++; if (log.Length < 1) { log += vin + "*El VIN no esta registrado en base de datos"; } else { log += "|" + vin + "*El VIN no esta registrado en base de datos"; } } } catch (FormatException) { //excelfile.InputStream.Close(); //excelfile.InputStream.Dispose(); //System.IO.File.Delete(path); //TempData["mensajeError"] = "Verifique que los campos de excel no tengan valores vacios o mal escritos!"; //return View(); } } // Fin del ciclo FOR workbook.Close(0); application.Quit(); } icb_arch_tombat_log archLog = new icb_arch_tombat_log { tombat_log_fecha = DateTime.Now, tombat_log_itemscorrecto = itemsCorrectos, tombat_log_itemserror = itemsFallidos, tombat_log_nombrearchivo = nombreArchivo, tombat_log_items = items - 1, tombat_log_log = log, id_arch_tombat = idUltimoArchTomBat }; context.icb_arch_tombat_log.Add(archLog); context.SaveChanges(); ViewBag.tomaBateria = context.icb_toma_baterias; ViewBag.bodegas = context.bodega_concesionario; BuscarFavoritos(menu); return(View()); }
public JsonResult BuscarVehiculoVin(string vin) { int idUsuario = Convert.ToInt32(Session["user_usuarioid"]); List <bodega_usuario> bodegaUsuarioActual = context.bodega_usuario.Where(x => x.id_usuario == idUsuario).ToList(); List <int> bodegasDelUsuario = new List <int>(); foreach (bodega_usuario item in bodegaUsuarioActual) { bodegasDelUsuario.Add(item.id_bodega); } int estadoVin = 0; icb_sysparameter buscarParametroStatus = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P7"); string statusParametro = buscarParametroStatus != null ? buscarParametroStatus.syspar_value : "6"; var vehiculo = (from icb_vh in context.icb_vehiculo join color in context.color_vehiculo on icb_vh.colvh_id equals color.colvh_id join bodega in context.bodega_concesionario on icb_vh.id_bod equals bodega.id join modelo in context.modelo_vehiculo on icb_vh.modvh_id equals modelo.modvh_codigo join evento in context.icb_tpeventos on icb_vh.id_evento equals evento.tpevento_id where icb_vh.vin == vin && bodegasDelUsuario.Contains(icb_vh.id_bod) && icb_vh.icbvh_estatus == statusParametro && icb_vh.icbvh_fec_impronta == null select new { icb_vh.icbvh_id, icb_vh.vin, modelo.modvh_nombre, color.colvh_nombre, bodega.bodccs_nombre, evento.tpevento_nombre }).ToList(); if (vehiculo.Count > 0) { estadoVin = 1; } else { icb_vehiculo buscaSinBodega = context.icb_vehiculo.FirstOrDefault(x => x.vin == vin && !bodegasDelUsuario.Contains(x.icbvh_bodpro ?? 0)); if (buscaSinBodega != null) { estadoVin = -1; // Significa usuario no tiene permiso de ver el vin } else { icb_vehiculo buscaVin = context.icb_vehiculo.FirstOrDefault(x => x.vin == vin); if (buscaVin != null) { if (buscaVin.icbvh_estatus != statusParametro) { estadoVin = -2; } if (buscaVin.icbvh_fec_impronta != null) { estadoVin = -3; } } else { estadoVin = -4; // Sginifica que el vin no existe en db } } } var data = new { estadoVin, vehiculo }; return(Json(data, JsonRequestBehavior.AllowGet)); }