public async Task <IActionResult> Edit(int id, Usuario usuario) { if (id != usuario.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var files = HttpContext.Request.Form.Files; string uploadPath = "uploads/images/"; foreach (var file in files) { if (file != null && file.Length > 0) { var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName); var uploadPathWithfileName = Path.Combine(uploadPath, fileName); var uploadAbsolutePath = Path.Combine(_hostingEnv.WebRootPath, uploadPathWithfileName); using (var fileStream = new FileStream(uploadAbsolutePath, FileMode.Create)) { await file.CopyToAsync(fileStream); usuario.UrlFoto = uploadPathWithfileName; } } } usuario.Senha = Hash.GenerateHash(usuario.Senha); _context.Update(usuario); TempData["MessagemOk"] = "Usuário atualizado com sucesso"; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UsuarioExists(usuario.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(usuario)); }
static void Pk() { var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseSqlServer(conn, m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { // carrega o logger da transação solicitada dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); //var user = CriarUsuario("userFilipe"); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); //dbcontext.Usuarios.Add(user); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); //dbcontext.SaveChanges(); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); var user = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "userFilipe"); user.Senha = "abc123"; // realiza o update em todas as tabelas da entidade dbcontext.Update <Usuario>(user); dbcontext.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e.Message); } }