예제 #1
0
        public ActionResult Update(string plan_mayor, int?menu)
        {
            icb_vehiculo vehiculo = context.icb_vehiculo.Find(plan_mayor);

            listas(vehiculo);
            BuscarFavoritos(menu);
            return(View(vehiculo));
        }
예제 #2
0
        public ActionResult Create(int?menu)
        {
            icb_vehiculo vh = new icb_vehiculo();

            listas(vh);
            BuscarFavoritos(menu);
            return(View());
        }
예제 #3
0
        // 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));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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());
        }
예제 #6
0
        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;
        }
예제 #7
0
        //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));
        }
예제 #8
0
        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());
        }
예제 #9
0
        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));
        }
예제 #10
0
        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;
            }
        }
예제 #11
0
        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));
        }
예제 #12
0
        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);
        }
예제 #13
0
        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());
        }
예제 #14
0
        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));
        }