public async Task <IActionResult> Edit(IFormFile archivo, [Bind("Idprisionespreventivas,NumeroControl,Paterno,Materno,Nombre,Genero,FechaRecepcion,CausaPenal,Delito,Capturista,Observaciones")] Prisionespreventivas prisionespreventivas)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    prisionespreventivas.Paterno       = normaliza(prisionespreventivas.Paterno);
                    prisionespreventivas.Materno       = normaliza(prisionespreventivas.Materno);
                    prisionespreventivas.Nombre        = normaliza(prisionespreventivas.Nombre);
                    prisionespreventivas.CausaPenal    = normaliza(prisionespreventivas.CausaPenal);
                    prisionespreventivas.Observaciones = normaliza(prisionespreventivas.Observaciones);
                    var oldPrisionespreventivas = await _context.Prisionespreventivas.FindAsync(prisionespreventivas.Idprisionespreventivas);

                    #region -EditarArchivo-
                    if (archivo == null)
                    {
                        prisionespreventivas.RutaArchivo = oldPrisionespreventivas.RutaArchivo;
                    }
                    else
                    {
                        string file_name = prisionespreventivas.Idprisionespreventivas + "_" + prisionespreventivas.Paterno + "_" + prisionespreventivas.Materno + "_" + prisionespreventivas.Nombre + Path.GetExtension(archivo.FileName);
                        file_name = replaceSlashes(file_name);
                        prisionespreventivas.RutaArchivo = file_name;
                        var uploads = Path.Combine(this._hostingEnvironment.WebRootPath, "PP");

                        if (System.IO.File.Exists(Path.Combine(uploads, file_name)))
                        {
                            System.IO.File.Delete(Path.Combine(uploads, file_name));
                        }

                        var stream = new FileStream(Path.Combine(uploads, file_name), FileMode.Create);
                        await archivo.CopyToAsync(stream);

                        stream.Close();
                    }
                    #endregion

                    _context.Entry(oldPrisionespreventivas).CurrentValues.SetValues(prisionespreventivas);
                    await _context.SaveChangesAsync(User?.FindFirst(ClaimTypes.NameIdentifier).Value);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PrisionespreventivasExists(prisionespreventivas.Idprisionespreventivas))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(prisionespreventivas));
        }
        public async Task <IActionResult> Create(IFormFile archivo, [Bind("Idprisionespreventivas,NumeroControl,Paterno,Materno,Nombre,Genero,FechaRecepcion,CausaPenal,Delito,Capturista,Observaciones")] Prisionespreventivas prisionespreventivas)
        {
            string currentUser = User.Identity.Name;

            prisionespreventivas.Paterno       = normaliza(prisionespreventivas.Paterno);
            prisionespreventivas.Materno       = normaliza(prisionespreventivas.Materno);
            prisionespreventivas.Nombre        = normaliza(prisionespreventivas.Nombre);
            prisionespreventivas.CausaPenal    = normaliza(prisionespreventivas.CausaPenal);
            prisionespreventivas.Observaciones = normaliza(prisionespreventivas.Observaciones);
            prisionespreventivas.Capturista    = currentUser;

            int id   = 0;
            int cont = (from table in _context.Prisionespreventivas
                        select table.Idprisionespreventivas).Count();

            if (cont != 0)
            {
                id = ((from table in _context.Prisionespreventivas
                       select table.Idprisionespreventivas).Max()) + 1;
            }
            else
            {
                id = 1;
            }
            prisionespreventivas.Idprisionespreventivas = id;

            #region -Guardar archivo-
            if (archivo != null)
            {
                string file_name = id + "_" + prisionespreventivas.Paterno + "_" + prisionespreventivas.Materno + "_" + prisionespreventivas.Nombre + Path.GetExtension(archivo.FileName);
                file_name = replaceSlashes(file_name);
                prisionespreventivas.RutaArchivo = file_name;
                var uploads = Path.Combine(this._hostingEnvironment.WebRootPath, "PP");
                var stream  = new FileStream(Path.Combine(uploads, file_name), FileMode.Create);
                await archivo.CopyToAsync(stream);

                stream.Close();
            }
            #endregion

            _context.Add(prisionespreventivas);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }