Exemplo n.º 1
0
        public IActionResult EditarFuncionario([FromForm] FuncionarioView model)
        {
            try
            {
                // Recupera dados do formulário e cria novo model para salvar no BD
                Funcionario funcionario = new Funcionario()
                {
                    CPF      = model.CPF,
                    Email    = model.Email,
                    Endereco = model.Endereco,
                    Nome     = model.Nome,
                    Tel      = model.Tel
                };

                byte[] photo    = null;
                string filename = null;

                // Cria array de bytes da foto caso exista
                if (model.Photo != null)
                {
                    MemoryStream ms = new MemoryStream();
                    model.Photo.CopyTo(ms);

                    photo    = ms.ToArray();
                    filename = model.Photo.FileName;
                }

                // Atualiza valores do funcionário no BD
                bool result = _repo.EditFuncionario(funcionario, photo, filename);

                if (result)
                {
                    TempData["Success"] = "Funcionário editado com sucesso.";
                    return(RedirectToAction("Index"));
                }
                else
                {
                    throw new Exception("Falha ao editar funcionário");
                }
            }
            catch (Exception ex)
            {
                TempData["Error"] = ex;
                return(RedirectToAction("Index"));
            }
        }