示例#1
0
        public JsonResult eliminarMatriz(string id)
        {
            if (!string.IsNullOrWhiteSpace(id))
            {
                var cod = Convert.ToInt32(id);

                var buscar  = context.tplanrepuestosmodelo.Where(d => d.id == cod && d.referencia != null).Select(d => d.referencia).FirstOrDefault();
                var buscar2 = context.tplanrepuestosmodelo.Where(d => d.id == cod && d.tempario != null).Select(d => d.tempario).FirstOrDefault();
                int result  = 0;


                if (buscar != null)
                {
                    var referencias = context.tplanrepuestosmodelo.Where(d => d.referencia == buscar).Select(d => d.id).ToList();

                    foreach (var item in referencias)
                    {
                        tplanrepuestosmodelo dato = context.tplanrepuestosmodelo.Find(item);

                        context.Entry(dato).State = EntityState.Deleted;
                        int guardar = context.SaveChanges();

                        if (guardar > 0)
                        {
                            result = 1;
                        }
                        else
                        {
                            result = 0;
                        }
                    }
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }

                if (buscar2 != null)
                {
                    var operaciones = context.tplanrepuestosmodelo.Where(d => d.tempario == buscar2).Select(d => d.id).ToList();

                    foreach (var item in operaciones)
                    {
                        tplanrepuestosmodelo dato = context.tplanrepuestosmodelo.Find(item);

                        context.Entry(dato).State = EntityState.Deleted;
                        int guardar = context.SaveChanges();

                        if (guardar > 0)
                        {
                            result = 1;
                        }
                        else
                        {
                            result = 0;
                        }
                    }
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(0, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult Create(HttpPostedFileBase excelfileManoObra, HttpPostedFileBase excelfileRepuestos, int?menu)
        {
            string path          = "";
            string tipo          = Request["tipo"];
            string modeloGeneral = Request["modeloGeneral"];
            int    guardar       = 0;

            if (tipo == "R")
            {
                if (excelfileRepuestos == null || excelfileRepuestos.ContentLength == 0)
                {
                    TempData["mensaje_error"] = "El archivo esta vacio o no es un archivo valido!";
                    ViewBag.modeloGeneral     = new SelectList(context.vmodelog, "id", "Descripcion");
                    BuscarFavoritos(menu);
                    return(View());
                }

                if (excelfileRepuestos.FileName.EndsWith("xls") || excelfileRepuestos.FileName.EndsWith("xlsx"))
                {
                    path = Server.MapPath("~/Content/" + excelfileRepuestos.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);
                        }

                        excelfileRepuestos.SaveAs(path);
                    }
                    catch (IOException)
                    {
                        TempData["mensaje_error"] =
                            "El archivo esta siendo usado por otro proceso, asegurece de cerrarlo o cree una copia del archivo e intente de nuevo!";
                        BuscarFavoritos(menu);
                        return(RedirectToAction("cargamasiva", new { menu }));
                    }

                    ExcelPackage   package   = new ExcelPackage(new FileInfo(path));
                    ExcelWorksheet workSheet = package.Workbook.Worksheets[1];

                    int    kitSeleccionado  = Convert.ToInt32(Request["modeloGeneral"]);
                    string tipoSeleccionado = Request["tipo"];
                    //string listaPrecios = Request["lista_precios"];
                    System.Collections.Generic.List <tplanmantenimiento> buscarPlanMantenimiento = context.tplanmantenimiento.ToList();
                    int totalFilas = workSheet.Dimension.End.Row;
                    System.Collections.Generic.List <tplanmantenimiento> buscarPlanes = context.tplanmantenimiento.ToList();

                    for (int i = workSheet.Dimension.Start.Row + 1; i <= workSheet.Dimension.End.Row; i++)
                    {
                        try
                        {
                            string codigo      = workSheet.Cells[i, 1].Value.ToString();
                            string descripcion = workSheet.Cells[i, 2].Value.ToString();
                            string cantidad    = workSheet.Cells[i, 3].Value.ToString();

                            var buscarReferencia = context.icb_referencia.FirstOrDefault(x => x.ref_codigo == codigo);
                            var buscarTempario   = context.ttempario.FirstOrDefault(x => x.codigo == codigo);

                            if (buscarReferencia != null)
                            {
                                tipoSeleccionado = "R";
                            }
                            else if (buscarTempario != null)
                            {
                                tipoSeleccionado = "M";
                            }


                            //if (buscarReferencia == null && buscarTempario == null)
                            //{
                            //    TempData["mensaje_error"] =
                            //        "No se pudo cargar esa referencia" + codigo + " no existe, linea " + i;
                            //}

                            for (int kms = 4; kms <= 23; kms++)
                            {
                                int kilometrosTitulo = Convert.ToInt32(workSheet.Cells[1, kms].Value.ToString());

                                kilometrosTitulo = kilometrosTitulo * 1000;

                                tplanmantenimiento buscarIdPlanKms = buscarPlanes.Where(x => x.kilometraje == kilometrosTitulo).FirstOrDefault();
                                //busco la operacion vinculada a dicho plan
                                decimal horac      = 0;
                                var     oper       = context.ttempario.Where(d => d.idplanm == buscarIdPlanKms.id).FirstOrDefault();
                                string  kilometros = "";
                                if (oper != null)
                                {
                                    horac = Convert.ToDecimal(oper.HoraCliente, new CultureInfo("en-US"));
                                }
                                decimal numero;


                                if (workSheet.Cells[i, kms].Value != null)
                                {
                                    kilometros = workSheet.Cells[i, kms].Value.ToString();

                                    if (decimal.TryParse(kilometros, out numero))
                                    {
                                        kilometros = "AC";
                                    }
                                }
                                else
                                {
                                    kilometros = "N/A";
                                }

                                tplanrepuestosmodelo buscarSiModeloExiste = context.tplanrepuestosmodelo.FirstOrDefault(x =>
                                                                                                                        x.modgeneral == kitSeleccionado && x.referencia == codigo &&
                                                                                                                        x.inspeccion == buscarIdPlanKms.id);

                                if (buscarSiModeloExiste != null)
                                {
                                    if (!string.IsNullOrWhiteSpace(kilometros))
                                    {
                                        buscarSiModeloExiste.cantidad = Convert.ToInt32(cantidad);
                                        //buscarSiModeloExiste.listaprecios = listaPrecios;
                                    }
                                    else
                                    {
                                        buscarSiModeloExiste.cantidad = 0;
                                        //buscarSiModeloExiste.listaprecios = listaPrecios;
                                    }
                                }
                                else
                                {
                                    if (!string.IsNullOrWhiteSpace(kilometros) && tipoSeleccionado == "R")
                                    {
                                        var buscar = context.tplanrepuestosmodelo.Where(d => d.modgeneral == kitSeleccionado && d.referencia == codigo).Select(d => d.id).ToList();
                                        //var listaprecion = 0;

                                        context.tplanrepuestosmodelo.Add(new tplanrepuestosmodelo
                                        {
                                            modgeneral   = kitSeleccionado,
                                            referencia   = codigo,
                                            cantidad     = Convert.ToDecimal(cantidad),
                                            inspeccion   = buscarIdPlanKms.id,
                                            listaprecios = kilometros,
                                            tipo         = tipoSeleccionado,
                                            estado       = true,
                                        });

                                        guardar = context.SaveChanges();


                                        //if (buscar.Count > 0)
                                        //{
                                        //    foreach (var item in buscar)//id
                                        //    {

                                        //        var b = context.tplanrepuestosmodelo.Find(item);

                                        //        b.modgeneral = Convert.ToInt32(modeloGeneral);
                                        //        b.referencia = codigo;
                                        //        b.cantidad = Convert.ToDecimal(cantidad);
                                        //        b.listaprecios = kilometros;
                                        //        listaprecion += 1;

                                        //        context.Entry(b).State = EntityState.Modified;

                                        //        guardar = context.SaveChanges();

                                        //    }
                                        //}
                                        //else {

                                        //    context.tplanrepuestosmodelo.Add(new tplanrepuestosmodelo
                                        //    {
                                        //        modgeneral = kitSeleccionado,
                                        //        referencia = codigo,
                                        //        cantidad = Convert.ToDecimal(cantidad),
                                        //        inspeccion = buscarIdPlanKms.id,
                                        //        listaprecios = kilometros,
                                        //        tipo = tipoSeleccionado,
                                        //        estado = true,
                                        //    });

                                        //    guardar = context.SaveChanges();

                                        //}
                                    }
                                    else if (!string.IsNullOrWhiteSpace(kilometros) && tipoSeleccionado == "M")
                                    {
                                        var buscar = context.tplanrepuestosmodelo.Where(d => d.modgeneral == kitSeleccionado && d.tempario == codigo).Select(d => d.id).ToList();
                                        //var listaprecion = 0;

                                        context.tplanrepuestosmodelo.Add(new tplanrepuestosmodelo
                                        {
                                            modgeneral   = kitSeleccionado,
                                            tempario     = codigo,
                                            cantidad     = Convert.ToDecimal(cantidad),
                                            inspeccion   = buscarIdPlanKms.id,
                                            listaprecios = kilometros,
                                            tipo         = tipoSeleccionado,
                                            estado       = true,
                                        });

                                        guardar = context.SaveChanges();

                                        //if (buscar.Count > 0)
                                        //{
                                        //    foreach (var item in buscar)//id
                                        //    {

                                        //        var b = context.tplanrepuestosmodelo.Find(item);

                                        //        b.modgeneral = Convert.ToInt32(modeloGeneral);
                                        //        b.tempario = codigo;
                                        //        b.cantidad = Convert.ToDecimal(cantidad);
                                        //        b.listaprecios = kilometros;
                                        //        listaprecion += 1;

                                        //        context.Entry(b).State = EntityState.Modified;

                                        //        guardar = context.SaveChanges();

                                        //    }

                                        //}
                                        //else {

                                        //    context.tplanrepuestosmodelo.Add(new tplanrepuestosmodelo
                                        //    {
                                        //        modgeneral = kitSeleccionado,
                                        //        tempario = codigo,
                                        //        cantidad = Convert.ToDecimal(cantidad),
                                        //        inspeccion = buscarIdPlanKms.id,
                                        //        listaprecios = kilometros,
                                        //        tipo = tipoSeleccionado,
                                        //        estado = true,
                                        //    });

                                        //    guardar = context.SaveChanges();
                                        //}
                                        // Si el tipo de cargue es para mano de obra
                                    }
                                }
                            }

                            //}
                        }
                        catch (Exception ex)
                        {
                            if (ex is ArgumentOutOfRangeException || ex is FormatException)
                            {
                                excelfileRepuestos.InputStream.Close();
                                excelfileRepuestos.InputStream.Dispose();
                                System.IO.File.Delete(path);
                                TempData["mensaje_error"] =
                                    "Error al leer el archivo, verifique que los datos estan bien escritos,no se encontro el codigo en la base de datos, linea " + i;
                                ViewBag.modeloGeneral = new SelectList(context.vmodelog, "id", "Descripcion");
                                BuscarFavoritos(menu);
                                return(View());
                            }
                        }
                    }


                    if (guardar > 0)
                    {
                        TempData["mensaje"] = "El archivo se ha cargado correctamente";
                        return(RedirectToAction("Create", "matricesMantenimiento", new { menu }));
                    }

                    TempData["mensaje_error"] = "Error se encontro una o mas referencias que no estan registradas, verifique base de datos";
                }
            }



            ViewBag.modeloGeneral  = new SelectList(context.vmodelog, "id", "Descripcion");
            ViewBag.modeloGeneral2 = new SelectList(context.vmodelog, "id", "Descripcion");
            BuscarFavoritos(menu);
            return(View());
        }