示例#1
0
        public JsonResult EliminarNumGwn(int id)
        {
            tcamptallernumgwn campañadetall = context.tcamptallernumgwn.Where(x => x.id == id).FirstOrDefault();

            campañadetall.estado = false;
            context.Entry(campañadetall).State = EntityState.Modified;
            context.SaveChanges();

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public JsonResult Agregarnumgwnedit(int idcampaña, string numgwn)
        {
            tcamptallernumgwn campañadetall = context.tcamptallernumgwn.Where(x => x.numgwn == numgwn && x.idcampa == idcampaña
                                                                              ).FirstOrDefault();

            if (campañadetall == null)
            {
                tcamptallernumgwn campañadetalle = new tcamptallernumgwn();
                campañadetalle.idcampa = idcampaña;
                campañadetalle.numgwn  = numgwn;
                campañadetalle.estado  = true;
                context.tcamptallernumgwn.Add(campañadetalle);
                context.SaveChanges();
            }
            return(Json(true, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult Create(CampanaTallerModel modelo2, HttpPostedFileBase excelfile, int?menu)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var modelo = new tcamptaller
                    {
                        Descripcion = modelo2.Descripcion,
                        nombre      = modelo2.Descripcion,
                        estado      = modelo2.estado,
                        id_licencia = 1,
                        referencia  = modelo2.referencia,
                        numerogwm   = "0",
                        numcircular = modelo2.numerocircular
                    };
                    var fechaini = DateTime.Now;
                    var fechafin = DateTime.Now;

                    var convertir = DateTime.TryParse(modelo2.fecha_inicio, out fechaini);
                    if (convertir == true)
                    {
                        modelo.fecha_inicio = fechaini;
                    }
                    var convertir2 = DateTime.TryParse(modelo2.fecha_fin, out fechafin);

                    if (convertir2 == true)
                    {
                        modelo.fecha_fin = fechafin;
                    }
                    List <string> listaVinesAgregados = new List <string>();
                    string        cargueExcel         = Request["checkCargueExcel"];
                    if (cargueExcel == "on")
                    {
                        //Aqui va si se carga un archivo de excel

                        modelo.fecha_creacion  = DateTime.Now;
                        modelo.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]);
                        context.tcamptaller.Add(modelo);
                        int guardarCampana = context.SaveChanges();

                        if (guardarCampana > 0)
                        {
                            tcamptaller buscarUltimaCampana = context.tcamptaller.OrderByDescending(x => x.id).FirstOrDefault();
                            string      path = "";
                            if (excelfile == null || excelfile.ContentLength == 0)
                            {
                                TempData["mensaje_error"] = "El archivo esta vacio o no es un archivo valido!";
                                return(View());
                            }

                            if (excelfile.FileName.EndsWith("xls") || excelfile.FileName.EndsWith("xlsx"))
                            {
                                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);
                                    }

                                    excelfile.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(View());
                                }


                                string vinesNoCargados = "";

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

                                int totalFilas = workSheet.Dimension.End.Row;
                                for (int i = workSheet.Dimension.Start.Row + 2; i <= workSheet.Dimension.End.Row; i++)
                                {
                                    try
                                    {
                                        string vin = workSheet.Cells[i, 2].Value.ToString();
                                        if (vin.Length < 13 || vin.Length > 17)
                                        {
                                            vinesNoCargados += vin + ", ";
                                        }
                                        else
                                        {
                                            context.tcamptallervin.Add(new tcamptallervin
                                            {
                                                id_camp = buscarUltimaCampana != null ? buscarUltimaCampana.id : 0,
                                                vin     = vin.Trim()
                                            });
                                            listaVinesAgregados.Add(vin.Trim());
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        if (ex is ArgumentOutOfRangeException || ex is FormatException)
                                        {
                                            excelfile.InputStream.Close();
                                            excelfile.InputStream.Dispose();
                                            System.IO.File.Delete(path);
                                            TempData["mensaje_error"] =
                                                "Error al leer el archivo, verifique que los datos estan bien escritos, linea " +
                                                i;
                                            return(RedirectToAction("PedidoEnFirme", "gestionVhNuevo", new { menu }));
                                        }
                                    }
                                }

                                var vinesSiTieneCampana = (from vehiculo in context.icb_vehiculo
                                                           where listaVinesAgregados.Contains(vehiculo.vin)
                                                           select new
                                {
                                    vehiculo.plan_mayor,
                                    vehiculo.propietario
                                }).ToList();
                                icb_sysparameter buscarNit = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P33");
                                int nitHomaz = buscarNit != null?Convert.ToInt32(buscarNit.syspar_value) : 0;

                                foreach (var vehiculo in vinesSiTieneCampana)
                                {
                                    context.crm_campvintaller.Add(new crm_campvintaller
                                    {
                                        idcamp          = buscarUltimaCampana.id,
                                        planmayor       = vehiculo.plan_mayor,
                                        idtercero       = vehiculo.propietario ?? nitHomaz,
                                        fec_creacion    = DateTime.Now,
                                        userid_creacion = Convert.ToInt32(Session["user_usuarioid"])
                                    });
                                }

                                int guardarVines = context.SaveChanges();
                                if (guardarVines > 0)
                                {
                                    if (vinesNoCargados.Length > 5)
                                    {
                                        TempData["mensaje_error"] =
                                            "El registro de la nueva campaña se agrego exitosamente, pero algunos vines no se cargaron: " +
                                            vinesNoCargados;
                                    }

                                    TempData["mensaje"] = "El registro de la nueva campaña se agrego exitosamente!";
                                }

                                excelfile.InputStream.Close();
                                excelfile.InputStream.Dispose();
                            }
                        }
                        else
                        {
                            TempData["mensaje_error"] = "Error con base de datos, revise su conexion!";
                        }
                    }
                    else
                    {
                        //Aqui va si se hace un cargue de vines manualmente
                        modelo.fecha_creacion  = DateTime.Now;
                        modelo.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]);
                        context.tcamptaller.Add(modelo);
                        int guardarCampana = context.SaveChanges();

                        if (guardarCampana > 0)
                        {
                            tcamptaller buscarUltimaCampana = context.tcamptaller.OrderByDescending(x => x.id).FirstOrDefault();
                            int         cantidadVines       = Convert.ToInt32(Request["cantidadVines"]);
                            for (int i = 1; i <= cantidadVines; i++)
                            {
                                string vinEncontrado = Request["vin" + i];
                                if (!string.IsNullOrEmpty(vinEncontrado))
                                {
                                    context.tcamptallervin.Add(new tcamptallervin
                                    {
                                        id_camp = buscarUltimaCampana != null ? buscarUltimaCampana.id : 0,
                                        vin     = vinEncontrado.Trim()
                                    });
                                    listaVinesAgregados.Add(vinEncontrado.Trim());
                                }
                            }

                            var vinesSiTieneCampana = (from vehiculo in context.icb_vehiculo
                                                       where listaVinesAgregados.Contains(vehiculo.vin)
                                                       select new
                            {
                                vehiculo.plan_mayor,
                                vehiculo.propietario
                            }).ToList();
                            icb_sysparameter buscarNit = context.icb_sysparameter.FirstOrDefault(x => x.syspar_cod == "P33");
                            int nitHomaz = buscarNit != null?Convert.ToInt32(buscarNit.syspar_value) : 0;

                            foreach (var vehiculo in vinesSiTieneCampana)
                            {
                                context.crm_campvintaller.Add(new crm_campvintaller
                                {
                                    idcamp          = buscarUltimaCampana.id,
                                    planmayor       = vehiculo.plan_mayor,
                                    idtercero       = vehiculo.propietario ?? nitHomaz,
                                    fec_creacion    = DateTime.Now,
                                    userid_creacion = Convert.ToInt32(Session["user_usuarioid"])
                                });
                            }

                            int guardarVines = context.SaveChanges();
                            if (guardarVines > 0)
                            {
                                TempData["mensaje"] = "El registro de la nueva campaña se agrego exitosamente!";
                            }
                        }
                        else
                        {
                            TempData["mensaje_error"] = "Error con base de datos, revise su conexion!";
                        }
                    }

                    int cantnumgwn = Convert.ToInt32(Request["cantnum"]);
                    if (cantnumgwn != 0)
                    {
                        for (int i = 0; i < cantnumgwn; i++)
                        {
                            if (Request["Cant" + i] != null)
                            {
                                tcamptallernumgwn campaña = new tcamptallernumgwn();
                                campaña.idcampa = modelo.id;
                                campaña.numgwn  = Request["Cant" + i];
                                campaña.estado  = true;

                                context.tcamptallernumgwn.Add(campaña);
                                context.SaveChanges();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }    //aqui

            BuscarFavoritos(menu);
            return(View(modelo2));
        }