예제 #1
0
        public ActionResult CadastrarFuncionario(Pessoa oFuncionario, HttpPostedFileBase Imagem, string Salario)
        {
            Empresa aEmpresa = DbPessoa.SelecionarEmpresa(Convert.ToInt32(Session["IDEmpresa"]));

            oFuncionario.Pes_DataCadastro = aEmpresa.Emp_DataAtual;
            ViewBag.Pes_Cargo_Car_ID      = new SelectList(DbPessoa.SelecionarVagasEmpresa(Convert.ToInt32(Session["IDEmpresa"])), "Vag_ID", "Vag_Titulo", oFuncionario.Pes_Vaga_Vag_ID);


            if (Convert.ToBoolean(Session["Avaliativa"]))
            {
                if (DbPessoa.LimiteFuncionariosEmpresaAvaliativa(Convert.ToInt32(Session["IDEmpresa"])))
                {
                    ModelState.AddModelError("Limite", "O limite de funcionários nessa Empresa Avaliativa foi atingido. (Limite de Funcionários = 5)");
                }
            }


            if (Imagem == null)
            {
                ModelState.AddModelError("Imagem", "Por favor selecione a imagem do funcionário");
                return(View());
            }

            else
            {
                byte[] ImagemFuncionario = new byte[Imagem.ContentLength];
                Imagem.InputStream.Read(ImagemFuncionario, 0, Imagem.ContentLength);
                oFuncionario.Pes_Imagem = ImagemFuncionario;
            }

            if (string.IsNullOrEmpty(Salario))
            {
                ModelState.AddModelError("Pes_Salario", "Digite o Salário do funcionário");
            }

            Vaga  aVaga  = DbPessoa.SelecionarVaga(oFuncionario.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");
                }
            }

            if (ModelState.IsValid)
            {
                oFuncionario.Pes_Situation = true;
                oFuncionario.Pes_Salario   = Convert.ToDouble(Salario);
                DbPessoa.CadastrarFuncionario(oFuncionario);
                return(RedirectToAction("MeusFuncionarios"));
            }

            return(View());
        }