public ActionResult AlterarFuncionario(Pessoa oFuncionario, HttpPostedFileBase Imagem, string Salario = "") { ViewBag.Pes_Cargo_Car_ID = new SelectList(DbPessoa.SelecionarVagasEmpresa(Convert.ToInt32(Session["IDEmpresa"])), "Vag_ID", "Vag_Titulo", oFuncionario.Pes_Vaga_Vag_ID); //Altera o funcionário e redireciona para tela de meus funcionários Pessoa aPessoa = DbPessoa.SelecionarFuncionario(oFuncionario.Pes_ID); if (aPessoa.Pes_Vaga_Vag_ID != oFuncionario.Pes_Vaga_Vag_ID) { Vaga aVaga = DbPessoa.SelecionarVaga(aPessoa.Pes_Vaga_Vag_ID); Cargo oCargo = DbPessoa.SelecionarCargo(aVaga.Vag_Cargo_Car_ID); if (oCargo.Car_Chefe) { if (DbPessoa.CargoOcupado(oCargo.Car_ID)) { ModelState.AddModelError("CargoChefe", "Este cargo selecionado é um cargo com uma posição de chefe do setor e já está ocupado por outro funcionário, o cargo de chefe do setor só pode existir um funcionário que o ocupe"); } } } //Retorna pra tela de alteração com todos os erros if (!ModelState.IsValid) { return(View(oFuncionario)); } if (Imagem != null) { byte[] NovaImagem = new byte[Imagem.ContentLength]; Imagem.InputStream.Read(NovaImagem, 0, Imagem.ContentLength); aPessoa.Pes_Imagem = NovaImagem; } if (!string.IsNullOrEmpty(Salario)) { aPessoa.Pes_Salario = Convert.ToDouble(Salario); } aPessoa.Pes_Nome = oFuncionario.Pes_Nome; aPessoa.Pes_Endereco = oFuncionario.Pes_Endereco; aPessoa.Pes_CTrabalho = oFuncionario.Pes_CTrabalho; aPessoa.Pes_CPF = oFuncionario.Pes_CPF; aPessoa.Pes_Cidade = oFuncionario.Pes_Cidade; aPessoa.Pes_Vaga_Vag_ID = oFuncionario.Pes_Vaga_Vag_ID; DbPessoa.AlterarFuncionario(aPessoa); return(RedirectToAction("MeusFuncionarios")); }