public async Task <IActionResult> Edit(int id, [Bind("ProfessorId,Nome,Foto,Telefone,Turno")] Professor professor, IFormFile arquivo) { if (id != professor.ProfessorId) { return(NotFound()); } if (ModelState.IsValid) { var linkUpload = Path.Combine(_hostingEnvironment.WebRootPath, "Imagens"); if (arquivo != null) { using (var fileStream = new FileStream(Path.Combine(linkUpload, arquivo.FileName), FileMode.Create)) { await arquivo.CopyToAsync(fileStream); professor.Foto = "~/Imagens/" + arquivo.FileName; } } else { professor.Foto = TempData["Professor"].ToString(); } await _professorRepositorio.Atualizar(professor); return(RedirectToAction(nameof(Index))); } return(View(professor)); }
public async Task <Resposta <Professor> > Handle(AtualizarProfessorComando request, CancellationToken cancellationToken) { var erros = _validador.Validar(request); if (!string.IsNullOrEmpty(erros)) { return(new Resposta <Professor>(erros)); } var entidade = await _repositorio.Consultar(lnq => lnq.Codigo == request.Codigo); entidade.Codigo = request.Codigo; entidade.Ativo = request.Ativo ?? false; entidade.Email = request.Email; entidade.Matricula = request.Matricula; entidade.Nome = request.Nome; entidade.Telefone = request.Telefone; entidade.Contratacao = request.Contratacao; var professor = await _repositorio.Atualizar(entidade); return(new Resposta <Professor>(professor)); }