public async Task <IActionResult> Edit(int id, [Bind("IdProducto,Nombre,Descripcion,Precio,Stock,Imagen,IdMarca,IdCategoria,IdTipo,Habilitado,FechaModifica,IpModifica")] Producto producto) { if (id != producto.IdProducto) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(producto); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductoExists(producto.IdProducto)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdCategoria"] = new SelectList(_context.Categorias, "IdCategoria", "IpModifica", producto.IdCategoria); ViewData["IdMarca"] = new SelectList(_context.Marcas, "IdMarca", "IpModifica", producto.IdMarca); ViewData["IdTipo"] = new SelectList(_context.Tipos, "IdTipo", "IpModifica", producto.IdTipo); return(View(producto)); }
public async Task <IActionResult> Edit(int id, RegistroViewModel model) { if (id != model.IdUsuario) { return(NotFound()); } if (ModelState.IsValid) { var cliente = await _context.Clientes.Include(c => c.IdUsuarioNavigation).FirstOrDefaultAsync(c => c.IdCliente == id); var usuario = cliente.IdUsuarioNavigation; try { usuario.NombreUsuario = model.Username; usuario.Correo = model.Correo; usuario.FechaModifica = DateTime.Now; usuario.IpModifica = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(); cliente.Nombre = model.Nombres; cliente.Apellidos = model.Apellidos; cliente.Genero = model.Genero; cliente.Direccion = model.Direccion; cliente.FechaModifica = DateTime.Now; cliente.IpModifica = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(); _context.Update(usuario); _context.Update(cliente); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UsuarioExists(model.IdUsuario)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); }
public async Task <IActionResult> Recuperacion(RecuperacionViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var usuario = await _context.RecuperaContrasenias.Include(u => u.IdUsuarioNavigation) .FirstOrDefaultAsync(u => u.Token == model.Token); if (usuario != null) { if (usuario.IdUsuarioNavigation != null) { Usuario user = usuario.IdUsuarioNavigation; user.Salt = UtilsMethods.GenerarSalt(); user.Contrasenia = CryptoHelper.Crypto.HashPassword(model.Contrasenia + user.Salt); user.FechaModifica = DateTime.Now; user.IpModifica = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(); usuario.Token = "Expired"; _context.Update(usuario); _context.Update(user); await _context.SaveChangesAsync(); ViewBag.Message = "Contraseña modificada con éxito"; return(View(nameof(Index))); } } else { ViewBag.Error = "Token no válido"; return(View("Index")); } return(View(model)); }