Ejemplo n.º 1
0
        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"));
        }