コード例 #1
0
        public ActionResult BuscarAdmissoesAtuais(string UKEmpregado)
        {
            try
            {
                Guid emp = Guid.Parse(UKEmpregado);

                Empregado Empregado = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(emp));

                ViewBag.empregado = Empregado.Nome;

                List <Admissao> lista = new List <Admissao>();

                string query = @"select a.UniqueKey, a.DataAdmissao, a.DataDemissao, a.Justificativa, e.NomeFantasia as Empresa, a.UsuarioInclusao as NomeUsuario
                                from tbAdmissao a, tbEmpresa e
                                where a.UKEmpregado = '" + UKEmpregado + @"'  and a.Status = 1 and a.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) and
                                a.UKEmpresa = e.UniqueKey  and e.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) ";



                //@"select a.UniqueKey, a.DataAdmissao, a.DataDemissao, a.Justificativa, e.NomeFantasia as Empresa, u.Nome as NomeUsuario
                //         from tbAdmissao a, tbEmpresa e, tbUsuario u
                //         where a.UKEmpregado = '" + UKEmpregado + @"' and a.Status = 1 and a.DataExclusao = '9999-12-31 23:59:59.997' and
                //            a.UKEmpresa = e.UniqueKey and e.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) and
                //            a.UsuarioInclusao = u.Login and u.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101)";


                DataTable result = AdmissaoBusiness.GetDataTable(query);
                if (result.Rows.Count > 0)
                {
                    foreach (DataRow row in result.Rows)
                    {
                        Admissao adm = new Admissao()
                        {
                            UniqueKey     = Guid.Parse(row["UniqueKey"].ToString()),
                            UKEmpregado   = Guid.Parse(UKEmpregado.ToString()),
                            DataAdmissao  = row["DataAdmissao"].ToString(),
                            DataDemissao  = row["DataDemissao"].ToString(),
                            Justificativa = row["Justificativa"].ToString(),
                            Empresa       = new Empresa()
                            {
                                NomeFantasia = row["Empresa"].ToString()
                            },
                            UsuarioInclusao = row["NomeUsuario"].ToString(),
                            Alocacoes       = BuscarAlocacoes(row["UniqueKey"].ToString(), Guid.Parse(UKEmpregado.ToString()))
                        };

                        lista.Add(adm);
                    }
                }

                return(PartialView("_BuscarAdmissoesAtuais", lista));
            }
            catch (Exception ex)
            {
                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Erro = ex.Message
                                  } }));
            }
        }
コード例 #2
0
        public string gerarLinhaTexto()
        {
            ComponenteFolha.NSR++;

            string retorno = "";

            retorno += Funcoes.LFill("C");
            retorno += Funcoes.LFill(TipoIdentificador == null ? "" : TipoIdentificador, 1);
            retorno += Funcoes.LFill(NumeroIdentificadorDoEstabelecimento == null ? "" : NumeroIdentificadorDoEstabelecimento, 14);
            retorno += Funcoes.LFill(ComponenteFolha.NSR, 5);
            retorno += Funcoes.LFill(PisPasep == null ? "" : PisPasep, 11);
            retorno += Funcoes.LFill(Sexo == null ? "" : Sexo, 1);
            retorno += Funcoes.LFill(Nascimento == null ? "" : Nascimento.ToString("ddMMyyyy"), 8);
            retorno += Funcoes.RFill(GrauInstrucao == null ? "" : GrauInstrucao, 2);
            retorno += Funcoes.LFill(SalarioMensal == null ? "" : SalarioMensal, 8);
            retorno += Funcoes.LFill(HorasTrabalhadas == null ? "" : HorasTrabalhadas, 2);
            retorno += Funcoes.LFill(Admissao == null ? "" : Admissao.ToString("ddMMyyyy"), 8);
            retorno += Funcoes.LFill(TipoMovimento == null ? "" : TipoMovimento, 2);
            retorno += Funcoes.LFill(DiaDeDesligamento == null ? "" : DiaDeDesligamento, 2);
            retorno += Funcoes.LFill(NomeDoEmpregado == null ? "" : NomeDoEmpregado, 40);
            retorno += Funcoes.LFill(NumeroCarteiraTrabalho == null ? "" : NumeroCarteiraTrabalho, 8);
            retorno += Funcoes.LFill(SerieCarteiraTrabalho == null ? "" : SerieCarteiraTrabalho, 4);
            retorno += Funcoes.LFill(RacaCor == null ? "" : RacaCor, 1);
            retorno += Funcoes.LFill(PessaoComDeficiencia == null ? "" : PessaoComDeficiencia, 1);
            retorno += Funcoes.LFill(CBO2000 == null ? "" : CBO2000, 6);
            retorno += Funcoes.LFill(Aprendiz == null ? "" : Aprendiz, 1);
            retorno += Funcoes.LFill(UFCarteiraDeTrabalho == null ? "" : UFCarteiraDeTrabalho, 8);
            retorno += Funcoes.LFill(TipoDeficienciaBeneficiarioReabilitado == null ? "" : TipoDeficienciaBeneficiarioReabilitado, 1);
            retorno += Funcoes.LFill(Cpf == null ? "" : Cpf, 11);
            retorno += Funcoes.LFill(Cep == null ? "" : Cep, 8);

            return(retorno);
        }
コード例 #3
0
        public ActionResult Novo(string id)
        {
            try
            {
                var UKEmpregado = Guid.Parse(id);

                List <Empresa>  empresas        = EmpresaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList();
                List <Admissao> admissoesAtivas = AdmissaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKEmpregado.Equals(UKEmpregado) && string.IsNullOrEmpty(a.DataDemissao)).ToList();

                //foreach (Admissao adm in admissoesAtivas)
                //{
                //    empresas.RemoveAll(a => a.UniqueKey.Equals(adm.UKEmpresa));
                //}

                if (empresas.Count == 0)
                {
                    throw new Exception("Nenhuma empresa disponível para admissão.");
                }

                ViewBag.Empresas            = empresas;
                ViewBag.PossuiAdmissaoAtiva = admissoesAtivas.Count() > 0;

                Admissao obj = new Admissao()
                {
                    UKEmpregado = UKEmpregado
                };

                return(PartialView("_Novo", obj));
            }
            catch (Exception ex)
            {
                return(Json(new { erro = ex.Message }));
            }
        }
コード例 #4
0
        public ActionResult Desalocar(string id)
        {
            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    throw new Exception("Não foi possível localizar a identificação da alocação para prosseguir com a operação.");
                }

                Guid     UKAlocacao = Guid.Parse(id);
                Alocacao al         = AlocacaoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(UKAlocacao));
                if (al == null)
                {
                    throw new Exception("Não foi possível encontrar a alocação na base de dados.");
                }

                Admissao ad = AdmissaoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(al.UKAdmissao));
                if (ad == null)
                {
                    throw new Exception("Não foi possível encontrar a admissão onde o empregado está alocado na base de dados.");
                }

                al.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                AlocacaoBusiness.Terminar(al);

                //var da = REL_DocumentosAlocadoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKAlocacao.Equals(UKAlocacao)).ToList();
                //foreach(var item in da)
                //{
                //    if(da != null)
                //    {
                //        item.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                //        REL_DocumentosAlocadoBusiness.Terminar(item);
                //    }
                //}

                Extensions.GravaCookie("MensagemSucesso", "O empregado foi desalocado com sucesso.", 10);

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      URL = Url.Action("Perfil", "Empregado", new { id = ad.UKEmpregado.ToString() })
                                  } }));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #5
0
 public void a_Criar_Admissao()
 {
     var admissaos = new Admissaos();
     var cirurgica = new Admissao { Nome = "Cirúrgica" };
     var clinica = new Admissao { Nome = "Clínica" };
     var eletiva = new Admissao { Nome = "Eletiva" };
     var emergencia = new Admissao { Nome = "Emergência" };
     admissaos.Salvar(clinica);
     admissaos.Salvar(cirurgica);
     admissaos.Salvar(eletiva);
     admissaos.Salvar(emergencia);
 }
コード例 #6
0
        //passanda IDEmpregado como parametro para montar o perfil
        public ActionResult PerfilEmpregado(string id)
        {
            ViewBag.Perfil   = AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.IDEmpregado.Equals(id))).ToList();
            ViewBag.Admissao = AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.IDEmpregado.Equals(id)) && (p.Admitido == "Admitido")).ToList();
            ViewBag.Alocacao = AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.Admissao.IDEmpregado.Equals(id)) && (p.Ativado == "true")).ToList();


            Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => p.IDEmpregado.Equals(id));


            //ViewBag.Alocaçao = AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.Admissao.IDEmpregado.Equals(id)) && (p.Ativado == "Ativado")).ToList();


            return(View(oAdmissao));
        }
コード例 #7
0
        public ActionResult Novo(string id)
        {
            try
            {
                Guid         UKAdmissao    = Guid.Parse(id);
                Admissao     oAdmissao     = AdmissaoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKAdmissao));
                Empresa      oEmpresa      = EmpresaBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(oAdmissao.UKEmpresa));
                Departamento oDepartamento = DepartamentoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKEmpresa.Equals(oEmpresa.UniqueKey));

                Alocacao obj = new Alocacao();
                obj.UKAdmissao = oAdmissao.UniqueKey;

                ViewBag.Contratos = (from contForn in ContratoFornecedorBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKFornecedor.Equals(oAdmissao.UKEmpresa)).ToList()
                                     join cont in ContratoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on contForn.UKContrato equals cont.UniqueKey
                                     select cont).ToList();

                ViewBag.Cargos = CargoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList();

                ViewBag.Estabelecimentos = (from e in EstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                            join re in REL_EstabelecimentoDepartamentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                            on e.UniqueKey equals re.UKEstabelecimento
                                            where re.UKDepartamento.Equals(oDepartamento.UniqueKey)
                                            select e).ToList();



                ViewBag.Equipes = EquipeBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKEmpresa.Equals(oAdmissao.UKEmpresa)).ToList();

                return(PartialView("_Novo", obj));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #8
0
        public ActionResult Novo(string IDAdmissao, string IDEmpregado, string IDEmpresa)
        {
            ViewBag.Equipe          = new SelectList(EquipeBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "IDEquipe", "NomeDaEquipe");
            ViewBag.pAdmissao       = IDAdmissao;
            ViewBag.pEmpregado      = IDEmpregado;
            ViewBag.Admissao        = AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.IDAdmissao.Equals(IDAdmissao)).ToList();
            ViewBag.Contrato        = new SelectList(ContratoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "IDContrato", "NumeroContrato");
            ViewBag.Departamento    = new SelectList(DepartamentoBusiness.Consulta.ToList(), "IDDepartamento", "Sigla");
            ViewBag.Cargo           = new SelectList(CargoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "IDCargo", "NomeDoCargo");
            ViewBag.Funcao          = new SelectList(FuncaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "IDFuncao", "NomeDaFuncao");
            ViewBag.Estabelecimento = new SelectList(EstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(), "IDEstabelecimento", "NomeCompleto");


            try
            {
                Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => p.IDEmpregado.Equals(IDAdmissao));
                if (ViewBag.Admissao == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Alerta = "Imagens não encontrada."
                                      } }));
                }
                else
                {
                    return(Json(new { data = RenderRazorViewToString("_Novo", oAdmissao) }));
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #9
0
        public ActionResult TerminarComRedirect(string IDAdmissao)
        {
            try
            {
                Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => p.IDAdmissao.Equals(IDAdmissao));
                if (oAdmissao == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = "Não foi possível excluir esta Admissão."
                                      } }));
                }
                else
                {
                    oAdmissao.DataExclusao    = DateTime.Now;
                    oAdmissao.UsuarioExclusao = "LoginTeste";
                    oAdmissao.Admitido        = "Demitido";
                    AdmissaoBusiness.Alterar(oAdmissao);

                    TempData["MensagemSucesso"] = "O Empregado '" + oAdmissao.Empregado.Nome + "' foi demitido com sucesso.";

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("EmpregadoDemitido", "Admissao", new { id = IDAdmissao })
                                      } }));
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }
コード例 #10
0
        public ActionResult Cadastrar(Admissao oAdmissao, string EmpID)
        {
            //id do Estabelecimento recebido por parametro
            oAdmissao.IDEmpregado = EmpID;


            if (ModelState.IsValid)
            {
                try
                {
                    AdmissaoBusiness.Inserir(oAdmissao);

                    TempData["MensagemSucesso"] = "O empregado foi admitido com sucesso.";

                    //var iAdmin = oAdmissao.IDAdmissao;

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("PerfilEmpregado", "Admissao", new { id = EmpID })
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
コード例 #11
0
        public ActionResult Novo(string UKEmpresa)
        {
            Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                          a.Empregado.CPF.ToUpper().Trim().Replace(".", "").Replace("-", "").Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login.ToUpper().Trim()) ||
                                                                          a.UsuarioInclusao.Equals(CustomAuthorizationProvider.UsuarioAutenticado.Login));

            Empresa oEmpresa = EmpresaBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                       a.UniqueKey.Equals(oAdmissao.UKEmpresa));

            ViewBag.Equipe = (from e in EquipeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                                      a.UKEmpresa.Equals(oEmpresa.UniqueKey))
                              select e
                              );

            ViewBag.UkEmpresa = oEmpresa.UniqueKey;



            return(View());
        }
コード例 #12
0
        public void a_Criar_Admissao()
        {
            var admissaos = new Admissaos();
            var cirurgica = new Admissao {
                Nome = "Cirúrgica"
            };
            var clinica = new Admissao {
                Nome = "Clínica"
            };
            var eletiva = new Admissao {
                Nome = "Eletiva"
            };
            var emergencia = new Admissao {
                Nome = "Emergência"
            };

            admissaos.Salvar(clinica);
            admissaos.Salvar(cirurgica);
            admissaos.Salvar(eletiva);
            admissaos.Salvar(emergencia);
        }
コード例 #13
0
 public ActionResult EmpregadoAdmitidoDetalhes(string id)
 {
     ViewBag.empregado = EmpregadoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.IDEmpregado.Equals(id))).ToList();
     try
     {
         Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => p.IDEmpregado.Equals(id));
         if (oAdmissao == null)
         {
             return(Json(new { resultado = new RetornoJSON()
                               {
                                   Alerta = "Empregado com CPF '" + id + "' não encontrado."
                               } }));
         }
         else
         {
             return(Json(new { data = RenderRazorViewToString("_Detalhes", oAdmissao) }));
         }
     }
     catch (Exception ex)
     {
         if (ex.GetBaseException() == null)
         {
             return(Json(new { resultado = new RetornoJSON()
                               {
                                   Erro = ex.Message
                               } }));
         }
         else
         {
             return(Json(new { resultado = new RetornoJSON()
                               {
                                   Erro = ex.GetBaseException().Message
                               } }));
         }
     }
 }
コード例 #14
0
        //passanda IDEmpregado como parametro para montar o perfil
        public ActionResult PerfilEmpregado(string id)
        {
            ViewBag.Perfil      = AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.IDEmpregado.Equals(id))).ToList();
            ViewBag.Admissao    = AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.IDEmpregado.Equals(id)) && (p.Admitido == "Admitido")).ToList();
            ViewBag.Alocacao    = AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.Admissao.IDEmpregado.Equals(id)) && (p.Ativado == "true")).ToList();
            ViewBag.idEmpregado = id;

            Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => p.IDEmpregado.Equals(id));



            //Esta query não deixa pegar todas as atividades se tiver exposição null
            List <Exposicao> ListaExposicao = (from ATL in AtividadeAlocadaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                               join ATV in AtividadesDoEstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                               on ATL.idAtividadesDoEstabelecimento equals ATV.IDAtividadesDoEstabelecimento
                                               join Est in EstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                               on ATV.IDEstabelecimento equals Est.IDEstabelecimento
                                               join ALOC in AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                               on Est.IDEstabelecimento equals ALOC.idEstabelecimento
                                               join EXP in ExposicaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                               on ATL.IDAtividadeAlocada equals EXP.idAtividadeAlocada
                                               where ALOC.Admissao.IDEmpregado.Equals(id)
                                               select new Exposicao()
            {
                IDExposicao = EXP.IDExposicao,
                TempoEstimado = EXP.TempoEstimado,
                EExposicaoCalor = EXP.EExposicaoCalor,
                EExposicaoInsalubre = EXP.EExposicaoInsalubre,
                EExposicaoSeg = EXP.EExposicaoSeg,
                EProbabilidadeSeg = EXP.EProbabilidadeSeg,
                ESeveridadeSeg = EXP.ESeveridadeSeg,


                AtividadeAlocada = new AtividadeAlocada()
                {
                    idAlocacao = ATL.idAlocacao,
                    idAtividadesDoEstabelecimento = ATL.idAtividadesDoEstabelecimento,
                    IDAtividadeAlocada = ATL.IDAtividadeAlocada,


                    AtividadesDoEstabelecimento = new AtividadesDoEstabelecimento()
                    {
                        DescricaoDestaAtividade = ATV.DescricaoDestaAtividade,

                        Estabelecimento = new Estabelecimento()
                        {
                            IDEstabelecimento = Est.IDEstabelecimento,
                            Descricao = Est.Descricao
                        }
                    }
                }
            }
                                               ).ToList();

            ViewBag.ListaExposicao = ListaExposicao;



            List <AtividadeAlocada> ListaAtividades = (from ATL in AtividadeAlocadaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       join ATV in AtividadesDoEstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       on ATL.idAtividadesDoEstabelecimento equals ATV.IDAtividadesDoEstabelecimento
                                                       join ALOC in AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       on ATL.idAlocacao equals ALOC.IDAlocacao
                                                       join ADM in AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       on ALOC.IdAdmissao equals ADM.IDAdmissao
                                                       join Emp in EmpregadoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       on ADM.IDEmpregado equals Emp.IDEmpregado
                                                       join Est in EstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                                                       on ATV.IDEstabelecimento equals Est.IDEstabelecimento
                                                       where Emp.IDEmpregado.Equals(id)
                                                       select new AtividadeAlocada()
            {
                idAlocacao = ATL.idAlocacao,
                idAtividadesDoEstabelecimento = ATL.idAtividadesDoEstabelecimento,
                IDAtividadeAlocada = ATL.IDAtividadeAlocada,

                Alocacao = new Alocacao()
                {
                    IDAlocacao = ALOC.IDAlocacao,
                    Admissao = new Admissao()
                    {
                        Empregado = new Empregado()
                        {
                            Nome = Emp.Nome,
                            CPF = Emp.CPF,
                        },
                    },
                },
                AtividadesDoEstabelecimento = new AtividadesDoEstabelecimento()
                {
                    DescricaoDestaAtividade = ATV.DescricaoDestaAtividade,
                    IDAtividadesDoEstabelecimento = ATV.IDAtividadesDoEstabelecimento,

                    Estabelecimento = new Estabelecimento()
                    {
                        IDEstabelecimento = Est.IDEstabelecimento,
                        Descricao = Est.Descricao
                    }
                }
            }
                                                       ).ToList();

            ViewBag.ListaAtividade = ListaAtividades;


            //ViewBag.Alocaçao = AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && (p.Admissao.IDEmpregado.Equals(id)) && (p.Ativado == "Ativado")).ToList();

            //verifica se existe exposição para o empregado
            var Expo = (from EX in ExposicaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        join ATA in AtividadeAlocadaBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        on EX.idAtividadeAlocada equals ATA.IDAtividadeAlocada
                        join AlOC in AlocacaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        on ATA.idAlocacao equals AlOC.IDAlocacao
                        join ADM in AdmissaoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        on AlOC.IdAdmissao equals ADM.IDAdmissao
                        join EMP in EmpregadoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        on ADM.IDEmpregado equals EMP.IDEmpregado
                        join ATE in AtividadesDoEstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList()
                        on ATA.idAtividadesDoEstabelecimento equals ATE.IDAtividadesDoEstabelecimento
                        where EMP.IDEmpregado.Equals(id)
                        select new Exposicao()
            {
                IDExposicao = EX.IDExposicao,
                TempoEstimado = EX.TempoEstimado,
                EExposicaoCalor = EX.EExposicaoCalor,
                EExposicaoInsalubre = EX.EExposicaoInsalubre,
                EExposicaoSeg = EX.EExposicaoSeg,
                EProbabilidadeSeg = EX.EProbabilidadeSeg,
                ESeveridadeSeg = EX.ESeveridadeSeg,
                AtividadeAlocada = new AtividadeAlocada()
                {
                    IDAtividadeAlocada = ATA.IDAtividadeAlocada,
                    idAlocacao = ATA.IDAtividadeAlocada,
                    idAtividadesDoEstabelecimento = ATA.idAtividadesDoEstabelecimento,

                    Alocacao = new Alocacao()
                    {
                        IDAlocacao = AlOC.IDAlocacao,
                    },

                    AtividadesDoEstabelecimento = new AtividadesDoEstabelecimento()
                    {
                        IDAtividadesDoEstabelecimento = ATE.IDAtividadesDoEstabelecimento,
                        DescricaoDestaAtividade = ATE.DescricaoDestaAtividade,
                        IDEstabelecimento = ATE.IDEstabelecimento,
                    }
                }
            }

                        ).ToList();

            ViewBag.Expo = Expo;



            return(View(oAdmissao));
        }
コード例 #15
0
        public ActionResult Cadastrar(Admissao entidade)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Empregado oEmp = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(entidade.UKEmpregado));
                    if (oEmp == null)
                    {
                        throw new Exception("Não foi possível encontrar o empregado relacionado a admissão.");
                    }

                    entidade.Status          = GISModel.Enums.Situacao.Ativo;
                    entidade.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    AdmissaoBusiness.Inserir(entidade);

                    oEmp.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                    EmpregadoBusiness.Terminar(oEmp);

                    EmpregadoBusiness.Inserir(new Empregado()
                    {
                        CPF             = oEmp.CPF,
                        Nome            = oEmp.Nome,
                        DataNascimento  = oEmp.DataNascimento,
                        Email           = oEmp.Email,
                        UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                        UniqueKey       = oEmp.UniqueKey,
                        Status          = "Atualmente admitido"
                    });

                    var adm = @"select top 1  UniqueKey, DataInclusao  from tbAdmissao LAST_INSET_ID ORDER BY DataInclusao DESC  ";

                    List <Admissao> lista1 = new List <Admissao>();

                    DataTable result1 = DocumentosPessoalBusiness.GetDataTable(adm);

                    if (result1.Rows.Count > 0)
                    {
                        Admissao UkAdm      = null;
                        Guid     ukadmissao = Guid.Empty;

                        foreach (DataRow row in result1.Rows)
                        {
                            if (UkAdm == null)
                            {
                                UkAdm = new Admissao()
                                {
                                    UniqueKey = Guid.Parse(row["UniqueKey"].ToString())
                                };
                            }
                        }

                        if (UkAdm != null)
                        {
                            lista1.Add(UkAdm);
                        }

                        foreach (var item in lista1)
                        {
                            if (item != null)
                            {
                                ukadmissao = item.UniqueKey;
                            }
                        }


                        //ukad = Uniquekey da ultima admissao


                        List <Admissao> lista = new List <Admissao>();

                        // aqui faço uma pesquisa de documentos relacionados a admissao

                        var sql = @"select UniqueKey as UKad, NomeDocumento as nome from tbDocumentosPessoal where Tipo = 1";

                        DataTable result = DocumentosPessoalBusiness.GetDataTable(sql);

                        //abaixo monto uma lista de objetos com a Uniquekey da alocação e a relação de documentos relacionados a atividade alocada

                        if (result.Rows.Count > 0)
                        {
                            Admissao          obj  = null;
                            DocumentosPessoal oDoc = null;

                            foreach (DataRow row in result.Rows)
                            {
                                if (obj == null)
                                {
                                    obj = new Admissao()
                                    {
                                        UniqueKey         = ukadmissao,
                                        DocumentosPessoal = new List <DocumentosPessoal>()
                                    };

                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        oDoc = new DocumentosPessoal()
                                        {
                                            UniqueKey     = ukadmissao,
                                            NomeDocumento = row["nome"].ToString(),
                                        };


                                        obj.DocumentosPessoal.Add(oDoc);
                                    }
                                }
                                else if (obj.UniqueKey.Equals(Guid.Parse(row["UKad"].ToString())))
                                {
                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        if (oDoc == null)
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = ukadmissao,
                                                NomeDocumento = row["nome"].ToString(),
                                            };

                                            obj.DocumentosPessoal.Add(oDoc);
                                        }


                                        else
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = ukadmissao,
                                                NomeDocumento = row["nome"].ToString(),
                                            };

                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                }
                                else
                                {
                                    lista.Add(obj);

                                    obj = new Admissao()
                                    {
                                        UniqueKey         = ukadmissao,
                                        DocumentosPessoal = new List <DocumentosPessoal>()
                                    };

                                    if (!string.IsNullOrEmpty(row["UKad"].ToString()))
                                    {
                                        oDoc = new DocumentosPessoal()
                                        {
                                            UniqueKey     = ukadmissao,
                                            NomeDocumento = row["nome"].ToString(),
                                        };


                                        obj.DocumentosPessoal.Add(oDoc);
                                    }
                                }
                            }

                            if (obj != null)
                            {
                                lista.Add(obj);
                            }


                            if (lista == null)
                            {
                                throw new Exception("Nenhum Documento para vincular.");
                            }

                            string documento = string.Empty;

                            foreach (var item in lista)
                            {
                                if (item != null)
                                {
                                    foreach (var item2 in item.DocumentosPessoal)
                                    {
                                        documento += item2.NomeDocumento + ",";
                                    }
                                }
                            }

                            // se vier uma array entra aqui neste if

                            if (documento.Contains(","))
                            {
                                documento = documento.Remove(documento.Length - 1);

                                foreach (string ativ in documento.Split(','))
                                {
                                    if (!string.IsNullOrEmpty(ativ.Trim()))
                                    {
                                        DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                                        if (pTemp != null)
                                        {
                                            if (Rel_DocAdmissaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAdmissoa.Equals(ukadmissao)).Count() == 0)
                                            {
                                                Rel_DocAdmissaoBusiness.Inserir(new Rel_DocAdmissao()
                                                {
                                                    Posicao         = 0,
                                                    UKAdmissoa      = ukadmissao,
                                                    UKDocumento     = pTemp.UniqueKey,
                                                    DataDocumento   = DateTime.MaxValue,
                                                    UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                                });
                                            }
                                            //else
                                            //{
                                            //    return Json(new { resultado = new RetornoJSON() { Erro = "Este documento já está cadastrado para esta alocação!." } });
                                            //}
                                        }
                                    }
                                }
                            }

                            // se vier somente um documento entre aqui
                            else
                            {
                                DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(documento.Trim()));
                                if (pTemp != null)
                                {
                                    if (Rel_DocAdmissaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAdmissoa.Equals(ukadmissao)).Count() == 0)
                                    {
                                        Rel_DocAdmissaoBusiness.Inserir(new Rel_DocAdmissao()
                                        {
                                            UKAdmissoa      = ukadmissao,
                                            UKDocumento     = pTemp.UniqueKey,
                                            UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                        });
                                    }
                                }
                            }
                        }
                    }



                    Extensions.GravaCookie("MensagemSucesso", "Admissão realizada com sucesso.", 10);

                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Perfil", "Empregado", new { id = entidade.UKEmpregado.ToString() })
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
コード例 #16
0
        public ActionResult Cadastrar(Alocacao entidade)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(entidade.UKAdmissao));
                    if (oAdmissao == null)
                    {
                        throw new Exception("Não foi possível encontrar a admissão na base de dados.");
                    }


                    Empregado emp = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(oAdmissao.UKEmpregado));
                    if (emp == null)
                    {
                        throw new Exception("Não foi possível encontrar o empregado na base de dados.");
                    }



                    if (AlocacaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) &&
                                                        a.UKAdmissao.Equals(entidade.UKAdmissao) &&
                                                        a.UKCargo.Equals(entidade.UKCargo) &&
                                                        a.UKFuncao.Equals(entidade.UKFuncao)).Count() > 0)
                    {
                        throw new Exception("Já existe uma alocação deste empregado neste cargo e função selecionado.");
                    }
                    else
                    {
                        entidade.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        AlocacaoBusiness.Inserir(entidade);


                        Usuario usr = UsuarioBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Login.Equals(emp.CPF.Replace(".", "").Replace("-", "")));
                        if (usr == null)
                        {
                            // string Senha = GISHelpers.Utils.Severino.GeneratePassword();

                            string Senha = "escola10";

                            usr = new Usuario()
                            {
                                UniqueKey       = Guid.NewGuid(),
                                CPF             = emp.CPF,
                                Nome            = emp.Nome,
                                UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                                Email           = emp.Email,
                                Login           = emp.CPF.Replace(".", "").Replace("-", ""),
                                Senha           = Senha,
                                TipoDeAcesso    = GISModel.Enums.TipoDeAcesso.Sistema,
                                UKEmpresa       = oAdmissao.UKEmpresa,
                                UKDepartamento  = entidade.UKDepartamento
                            };

                            UsuarioBusiness.Inserir(usr);

                            Perfil per = PerfilBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Nome.Equals("Empregado"));
                            if (per != null)
                            {
                                UsuarioPerfilBusiness.Inserir(new UsuarioPerfil()
                                {
                                    UKPerfil        = per.UniqueKey,
                                    UKUsuario       = usr.UniqueKey,
                                    UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                                    UKConfig        = entidade.UKDepartamento
                                });
                            }
                        }

                        //Cadastrando os documentos relacionados com a atividade alocada.


                        var aloc = @"select top 1  UniqueKey, DataInclusao  from tbAlocacao LAST_INSET_ID ORDER BY DataInclusao DESC  ";

                        List <Alocacao> lista1 = new List <Alocacao>();

                        DataTable result1 = DocumentosPessoalBusiness.GetDataTable(aloc);

                        if (result1.Rows.Count > 0)
                        {
                            Alocacao UkAloc = null;
                            Guid     ukal   = Guid.Empty;

                            foreach (DataRow row in result1.Rows)
                            {
                                if (UkAloc == null)
                                {
                                    UkAloc = new Alocacao()
                                    {
                                        UniqueKey = Guid.Parse(row["UniqueKey"].ToString())
                                    };
                                }
                            }

                            if (UkAloc != null)
                            {
                                lista1.Add(UkAloc);
                            }

                            foreach (var item in lista1)
                            {
                                if (item != null)
                                {
                                    ukal = item.UniqueKey;
                                }
                            }


                            //ukal = Uniquekey da ultima alocaçao


                            List <Alocacao> lista = new List <Alocacao>();

                            // aqui faço uma pesquisa de documentos relacionados a atividade

                            var sql = @"select al.UniqueKey as UKal, fa.UniqueKey as UKfa, d.UniqueKey as UKd, d.NomeDocumento as Nome,
                        da.UniqueKey as UKda
                        from tbAlocacao al
                        join REL_FuncaoAtividade fa
                        on al.UKFuncao = fa.UKFuncao
                        join REL_DocumentoPessoalAtividade da
                        on fa.UKAtividade = da.UKAtividade
                        join tbDocumentosPessoal d
                        on da.UKDocumentoPessoal = d.UniqueKey and d.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101)
                        where al.UniqueKey = '" + ukal + @"'
                        order by al.UniqueKey ";

                            DataTable result = DocumentosPessoalBusiness.GetDataTable(sql);

                            //abaixo monto uma lista de objetos com a Uniquekey da alocação e a relação de documentos relacionados a atividade alocada

                            if (result.Rows.Count > 0)
                            {
                                Alocacao          obj  = null;
                                DocumentosPessoal oDoc = null;

                                foreach (DataRow row in result.Rows)
                                {
                                    if (obj == null)
                                    {
                                        obj = new Alocacao()
                                        {
                                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                                            DocumentosPessoal = new List <DocumentosPessoal>()
                                        };

                                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                NomeDocumento = row["nome"].ToString(),
                                            };


                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                    else if (obj.UniqueKey.Equals(Guid.Parse(row["UKal"].ToString())))
                                    {
                                        if (!string.IsNullOrEmpty(row["UKda"].ToString()))
                                        {
                                            if (oDoc == null)
                                            {
                                                oDoc = new DocumentosPessoal()
                                                {
                                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                    NomeDocumento = row["nome"].ToString(),
                                                };

                                                obj.DocumentosPessoal.Add(oDoc);
                                            }


                                            else
                                            {
                                                oDoc = new DocumentosPessoal()
                                                {
                                                    UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                    NomeDocumento = row["nome"].ToString(),
                                                };

                                                obj.DocumentosPessoal.Add(oDoc);
                                            }
                                        }
                                    }
                                    else
                                    {
                                        lista.Add(obj);

                                        obj = new Alocacao()
                                        {
                                            UniqueKey         = Guid.Parse(row["UKal"].ToString()),
                                            DocumentosPessoal = new List <DocumentosPessoal>()
                                        };

                                        if (!string.IsNullOrEmpty(row["UKd"].ToString()))
                                        {
                                            oDoc = new DocumentosPessoal()
                                            {
                                                UniqueKey     = Guid.Parse(row["UKd"].ToString()),
                                                NomeDocumento = row["nome"].ToString(),
                                            };


                                            obj.DocumentosPessoal.Add(oDoc);
                                        }
                                    }
                                }

                                if (obj != null)
                                {
                                    lista.Add(obj);
                                }


                                if (lista == null)
                                {
                                    throw new Exception("Nenhum Documento para vincular.");
                                }

                                string documento = string.Empty;

                                foreach (var item in obj.DocumentosPessoal)
                                {
                                    if (item != null)
                                    {
                                        documento += item.NomeDocumento + ",";
                                    }
                                }

                                // se vier uma array entra aqui neste if

                                if (documento.Contains(","))
                                {
                                    documento = documento.Remove(documento.Length - 1);

                                    foreach (string ativ in documento.Split(','))
                                    {
                                        if (!string.IsNullOrEmpty(ativ.Trim()))
                                        {
                                            DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(ativ.Trim()));
                                            if (pTemp != null)
                                            {
                                                if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(ukal)).Count() == 0)
                                                {
                                                    REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                                                    {
                                                        Posicao         = 0,
                                                        UKAlocacao      = ukal,
                                                        UKDocumento     = pTemp.UniqueKey,
                                                        DataDocumento   = DateTime.MaxValue,
                                                        UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                                    });
                                                }
                                                //else
                                                //{
                                                //    return Json(new { resultado = new RetornoJSON() { Erro = "Este documento já está cadastrado para esta alocação!." } });
                                                //}
                                            }
                                        }
                                    }
                                }

                                // se vier somente um documento entre aqui
                                else
                                {
                                    DocumentosPessoal pTemp = DocumentosPessoalBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.NomeDocumento.Equals(documento.Trim()));
                                    if (pTemp != null)
                                    {
                                        if (REL_DocumentosAlocadoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKDocumento.Equals(pTemp.UniqueKey) && a.UKAlocacao.Equals(ukal)).Count() == 0)
                                        {
                                            REL_DocumentosAlocadoBusiness.Inserir(new REL_DocumentosAlocados()
                                            {
                                                UKAlocacao      = ukal,
                                                UKDocumento     = pTemp.UniqueKey,
                                                UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login
                                            });
                                        }
                                    }
                                }
                            }
                        }


                        Extensions.GravaCookie("MensagemSucesso", "O empregado foi alocado com sucesso.", 10);

                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              URL = Url.Action("Perfil", "Empregado", new { id = oAdmissao.UKEmpregado.ToString() })
                                          } }));
                    }
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
コード例 #17
0
        public ActionResult Demitir(string id)
        {
            try
            {
                //######################################################################################################

                if (string.IsNullOrEmpty(id))
                {
                    throw new Exception("Não foi possível localizar a identificação da admissão para prosseguir com a operação.");
                }

                Guid     UKAdmissao = Guid.Parse(id);
                Admissao adm        = AdmissaoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(UKAdmissao));
                if (adm == null)
                {
                    throw new Exception("Não foi possível encontrar a admissão na base de dados.");
                }

                Empregado oEmp = EmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(adm.UKEmpregado));
                if (oEmp == null)
                {
                    throw new Exception("Não foi possível encontrar o empregado na base de dados.");
                }

                //######################################################################################################


                List <Alocacao> als = AlocacaoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKAdmissao.Equals(UKAdmissao)).ToList();
                if (als.Count > 0)
                {
                    foreach (Alocacao al in als)
                    {
                        al.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                        AlocacaoBusiness.Terminar(al);
                    }
                }

                adm.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                AdmissaoBusiness.Terminar(adm);



                oEmp.UsuarioExclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login;
                EmpregadoBusiness.Terminar(oEmp);

                EmpregadoBusiness.Inserir(new Empregado()
                {
                    CPF             = oEmp.CPF,
                    Nome            = oEmp.Nome,
                    DataNascimento  = oEmp.DataNascimento,
                    Email           = oEmp.Email,
                    UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login,
                    UniqueKey       = oEmp.UniqueKey,
                    Status          = "Já admitido alguma vez"
                });



                Extensions.GravaCookie("MensagemSucesso", "O empregado foi demitido com sucesso.", 10);

                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      URL = Url.Action("Perfil", "Empregado", new { id = adm.UKEmpregado.ToString() })
                                  } }));
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.Message
                                      } }));
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = ex.GetBaseException().Message
                                      } }));
                }
            }
        }