Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }