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 } })); } }
private DataTable retornaAdm(string UKAlocacao) { var oSql = @" select adm.UniqueKey , adm.UKEmpregado as ukemp from tbAdmissao adm join tbEmpregado emp on adm.UKEmpregado = emp.UniqueKey where adm.UniqueKey = '" + UKAlocacao + @"'"; DataTable result = AdmissaoBusiness.GetDataTable(oSql); if (result.Rows.Count > 0) { return(result); } return(null); }
private DataTable retornaLoc(string UKAlocacao) { var oSql = @" select al.UKAdmissao, adm.UniqueKey, adm.UKempregado as ukemp from tbAlocacao al join tbAdmissao adm on al.UkAdmissao = adm.UniqueKey where al.UniqueKey = '" + UKAlocacao + @"'"; DataTable result = AdmissaoBusiness.GetDataTable(oSql); if (result.Rows.Count > 0) { return(result); } return(null); }
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 } })); } } }
public ActionResult Upload(string ukemp, string ukalocado, string ukfuncao, string ukdocumento) { if (ukfuncao != null) { Guid UKfunc = Guid.Parse(ukfuncao); //Criar obj para relacionar documentos com Alocação //cadastrar este obj na classe REL_DocumentoAlocção var Resultado = from d in DocumentosPessoalBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao)).ToList() join da in REL_DocomumentoPessoalAtividadeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao)).ToList() on d.UniqueKey equals da.UKDocumentoPessoal join at in AtividadeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao)).ToList() on da.UKAtividade equals at.UniqueKey join fa in REL_FuncaoAtividadeBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao)).ToList() on da.UKAtividade equals fa.UKAtividade where fa.UKFuncao.Equals(UKfunc) select new DocumentosAlocacaoViewModel() { UKDocumento = d.UniqueKey, UKATividade = at.UniqueKey, }; List <DocumentosAlocacaoViewModel> DocAlocacao = Resultado.ToList(); ViewBag.DocAlocacao = DocAlocacao.ToList(); ViewBag.UKFuncao = ukfuncao; } //ViewBag.UKEmpregado = ukemp; var ukAdmissao = AdmissaoBusiness.GetAdmissao(Guid.Parse(ukemp)).UniqueKey; ViewBag.ListaAdmissao = AdmissaoBusiness.BuscarAlocacoes(ukAdmissao.ToString()); ViewBag.UKEmpregado = ukemp; ViewBag.UKAlocado = ukalocado; ViewBag.UKDoc = ukdocumento; return(View()); }
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() })); } }
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 } })); } } }
private List <Alocacao> BuscarAlocacoes(string UKAdmissao, Guid UKEmpregado) { List <Alocacao> lista = new List <Alocacao>(); string query = @"select al.UniqueKey, c.Numero as Contrato, cargo.NomeDoCargo, func.NomeDaFuncao, est.Descricao as Estabelecimento, eq.NomeDaEquipe, dep.Sigla, atv.Descricao as Atividade, al.DataInclusao, al.UsuarioInclusao, est.UniqueKey as UKEstab, func.UniqueKey as UKFuncao from tbAlocacao al inner join tbContrato c on al.UKContrato = c.UniqueKey and c.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) inner join tbCargo cargo on al.UKCargo = cargo.UniqueKey and cargo.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) inner join tbFuncao func on al.UKFuncao = func.UniqueKey and func.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) inner join tbEstabelecimento est on al.UKEstabelecimento = est.UniqueKey and est.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) inner join tbEquipe eq on al.UKEquipe = eq.UniqueKey and eq.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) inner join tbDepartamento dep on al.UKDepartamento = dep.UniqueKey and dep.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left outer join REL_FuncaoAtividade fa on func.UniqueKey = fa.UKFuncao and fa.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) left outer join tbAtividade atv on fa.UKAtividade = atv.UniqueKey and atv.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) where al.DataExclusao = CONVERT(datetime,'9999-12-31 23:59:59.997',101) and al.UKAdmissao = '" + UKAdmissao + "' "; DataTable result = AdmissaoBusiness.GetDataTable(query); if (result.Rows.Count > 0) { Alocacao al = null; foreach (DataRow row in result.Rows) { if (al == null) { al = new Alocacao() { UniqueKey = Guid.Parse(row["UniqueKey"].ToString()), DataInclusao = DateTime.Parse(row["DataInclusao"].ToString()), UsuarioInclusao = row["UsuarioInclusao"].ToString(), Contrato = new Contrato() { Numero = row["Contrato"].ToString() }, Cargo = new Cargo() { NomeDoCargo = row["NomeDoCargo"].ToString() }, Funcao = new Funcao() { UniqueKey = Guid.Parse(row["UKFuncao"].ToString()), NomeDaFuncao = row["NomeDaFuncao"].ToString(), Atividades = new List <Atividade>() }, Estabelecimento = new Estabelecimento() { UniqueKey = Guid.Parse(row["UKEstab"].ToString()), Descricao = row["Estabelecimento"].ToString() }, Equipe = new Equipe() { NomeDaEquipe = row["NomeDaEquipe"].ToString() }, Departamento = new Departamento() { Sigla = row["Sigla"].ToString() }, ArquivoEmpregado = new List <ArquivoEmpregadoViewModel>() }; al.ArquivoEmpregado = this.AdmissaoBusiness.RetonarListaArquivoEmpregado(al.UniqueKey, UKEmpregado, al.Funcao.UniqueKey); if (!string.IsNullOrEmpty(row["Atividade"].ToString())) { al.Funcao.Atividades.Add(new Atividade() { Descricao = row["Atividade"].ToString() }); } } else if (al.UniqueKey.ToString().Equals(row["UniqueKey"].ToString())) { if (!string.IsNullOrEmpty(row["Atividade"].ToString())) { al.Funcao.Atividades.Add(new Atividade() { Descricao = row["Atividade"].ToString() }); } } else { lista.Add(al); al = new Alocacao() { UniqueKey = Guid.Parse(row["UniqueKey"].ToString()), DataInclusao = DateTime.Parse(row["DataInclusao"].ToString()), UsuarioInclusao = row["UsuarioInclusao"].ToString(), Contrato = new Contrato() { Numero = row["Contrato"].ToString() }, Cargo = new Cargo() { NomeDoCargo = row["NomeDoCargo"].ToString() }, Funcao = new Funcao() { UniqueKey = Guid.Parse(row["UKFuncao"].ToString()), NomeDaFuncao = row["NomeDaFuncao"].ToString(), Atividades = new List <Atividade>() }, Estabelecimento = new Estabelecimento() { UniqueKey = Guid.Parse(row["UKEstab"].ToString()), Descricao = row["Estabelecimento"].ToString() }, Equipe = new Equipe() { NomeDaEquipe = row["NomeDaEquipe"].ToString() }, Departamento = new Departamento() { Sigla = row["Sigla"].ToString() }, ArquivoEmpregado = new List <ArquivoEmpregadoViewModel>() }; al.ArquivoEmpregado = this.AdmissaoBusiness.RetonarListaArquivoEmpregado(al.UniqueKey, UKEmpregado, al.Funcao.UniqueKey); if (!string.IsNullOrEmpty(row["Atividade"].ToString())) { al.Funcao.Atividades.Add(new Atividade() { Descricao = row["Atividade"].ToString() }); } } } // Fim foreach if (al != null) { lista.Add(al); } } return(lista); }
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() })); } }