public static void SaveContatosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtContato) { PES_PessoaContato entityContato = new PES_PessoaContato { pes_id = entity.pes_id }; if (banco == null) { PES_PessoaContatoDAO dao = new PES_PessoaContatoDAO(); banco = dao._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); } for (int i = 0; i < dtContato.Rows.Count; i++) { if (dtContato.Rows[i].RowState != DataRowState.Deleted) { if (dtContato.Rows[i].RowState == DataRowState.Added) { entityContato.tmc_id = new Guid(dtContato.Rows[i]["tmc_id"].ToString()); entityContato.psc_contato = dtContato.Rows[i]["contato"].ToString(); entityContato.psc_situacao = Convert.ToByte(1); entityContato.psc_id = new Guid(dtContato.Rows[i]["id"].ToString()); entityContato.IsNew = true; Save(entityContato, banco); //Incrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = banco }; tipoDAL.Update_IncrementaIntegridade(entityContato.tmc_id); } else if (dtContato.Rows[i].RowState == DataRowState.Modified) { entityContato.tmc_id = new Guid(dtContato.Rows[i]["tmc_id"].ToString()); entityContato.psc_contato = dtContato.Rows[i]["contato"].ToString(); entityContato.psc_situacao = Convert.ToByte(1); entityContato.psc_id = new Guid(dtContato.Rows[i]["id"].ToString()); entityContato.IsNew = false; Save(entityContato, banco); } } else { entityContato.psc_id = new Guid(dtContato.Rows[i]["id", DataRowVersion.Original].ToString()); entityContato.tmc_id = new Guid(dtContato.Rows[i]["tmc_id", DataRowVersion.Original].ToString()); PES_PessoaContatoDAO pesconDAL = new PES_PessoaContatoDAO { _Banco = banco }; pesconDAL.Delete(entityContato); //Decrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = banco }; tipoDAL.Update_DecrementaIntegridade(entityContato.tmc_id); } } }
/// <summary> /// Parâmetros para efetuar a inclusão com data de criação e de alteração fixas /// </summary> protected override void ParamInserir(QuerySelectStoredProcedure qs, PES_Pessoa entity) { entity.pes_dataCriacao = DateTime.Now; entity.pes_dataAlteracao = DateTime.Now; entity.pes_id = Guid.NewGuid(); base.ParamInserir(qs, entity); if (entity.pai_idNacionalidade == Guid.Empty) { qs.Parameters["@pai_idNacionalidade"].Value = DBNull.Value; } if (entity.cid_idNaturalidade == Guid.Empty) { qs.Parameters["@cid_idNaturalidade"].Value = DBNull.Value; } if (entity.pes_idFiliacaoPai == Guid.Empty) { qs.Parameters["@pes_idFiliacaoPai"].Value = DBNull.Value; } if (entity.pes_idFiliacaoMae == Guid.Empty) { qs.Parameters["@pes_idFiliacaoMae"].Value = DBNull.Value; } if (entity.tes_id == Guid.Empty) { qs.Parameters["@tes_id"].Value = DBNull.Value; } qs.Parameters["@pes_dataNascimento"].DbType = DbType.Date; }
protected void LoadSession(SYS_Usuario entityUsuario) { __SessionWEB.__UsuarioWEB.Usuario = entityUsuario; System.Web.Configuration.PagesSection pagesSection = System.Configuration.ConfigurationManager.GetSection("system.web/pages") as System.Web.Configuration.PagesSection; if ((pagesSection != null)) { __SessionWEB.TemaPadraoLogado = CFG_TemaPadraoBO.CarregarPorNome(pagesSection.Theme); } // Armazena o cid_id referente a entidade do usuário na Session Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id); SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco { ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id }; SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco); END_Endereco entityEndereco = new END_Endereco { end_id = entityEntidadeEndereco.end_id }; END_EnderecoBO.GetEntity(entityEndereco); __SessionWEB._cid_id = entityEndereco.cid_id; // Armazena o nome da pessoa ou o login do usuário na Session PES_Pessoa EntityPessoa = new PES_Pessoa { pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id }; PES_PessoaBO.GetEntity(EntityPessoa); __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome; }
private void _CarregarPessoa(Guid pes_id) { PES_Pessoa pessoa = new PES_Pessoa(); pessoa.pes_id = pes_id; _txtPes_id.Value = pes_id.ToString(); PES_PessoaBO.GetEntity(pessoa); _txtPessoa.Text = pessoa.pes_nome; }
/// <summary> /// Gera o endereço da imagem atual do aluno /// </summary> /// <param name="entPessoa">Pessoa do aluno</param> /// <param name="entFoto">Entidade da foto da pessoa</param> /// <returns>Retorna o endereço da imagem atual do aluno</returns> private static string CriaFotoAluno(PES_Pessoa entPessoa, out CFG_Arquivo entFoto) { entFoto = CFG_ArquivoBO.GetEntity(new CFG_Arquivo { arq_id = entPessoa.arq_idFoto }); byte[] foto = entFoto.arq_data; return((foto == null || foto.Length == 0) ? string.Empty : "~/Academico/Aluno/CapturaFoto/Imagem.ashx?idfoto=" + entFoto.arq_id); }
private void LoadSession(SYS_Usuario entityUsuario) { __SessionWEB.__UsuarioWEB.Usuario = entityUsuario; __SessionWEB.__UsuarioWEB.responsavel = RadioButtonList1.SelectedIndex == 1; if (__SessionWEB.__UsuarioWEB.responsavel) { SYS_Usuario entityUsuarioAluno = new SYS_Usuario { ent_id = UCComboEntidade1.Valor , usu_login = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + txtLogin.Text }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno); __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id; } // Carrega grupos do usuário IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AreaAlunoSistemaID); // Verifica se foi carregado os grupos do usuário if (list.Count > 0) { __SessionWEB.__UsuarioWEB.Grupo = list[0]; } else { throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado."); } // Armazena o cid_id referente a entidade do usuário na Session Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id); SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco { ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id }; SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco); END_Endereco entityEndereco = new END_Endereco { end_id = entityEntidadeEndereco.end_id }; END_EnderecoBO.GetEntity(entityEndereco); __SessionWEB._cid_id = entityEndereco.cid_id; // Armazena o nome da pessoa ou o login do usuário na Session PES_Pessoa EntityPessoa = new PES_Pessoa { pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id }; PES_PessoaBO.GetEntity(EntityPessoa); __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome; }
protected void _grvPessoa_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Associar") { int index = int.Parse(e.CommandArgument.ToString()); Guid pes_id = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString()); string pes_nome = ((Label)_grvPessoa.Rows[index].FindControl("_lblNome")).Text; string data = ((Label)_grvPessoa.Rows[index].FindControl("_lblData")).Text; string cpf = ((Label)_grvPessoa.Rows[index].FindControl("_lblCPF")).Text; string rg = ((Label)_grvPessoa.Rows[index].FindControl("_lblRG")).Text; _AssociarPessoa(pes_id, pes_nome, data, cpf, rg); _CarregarGridAssociarPessoa(); } else if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); Guid pes_id = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString()); if (!_VerificaExistenciaPessoa(pes_id)) { PES_Pessoa entityPessoa = new PES_Pessoa { pes_id = pes_id }; PES_PessoaBO.GetEntity(entityPessoa); if (PES_PessoaBO.Delete(entityPessoa, null)) { _grvPessoa.PageIndex = 0; _grvPessoa.DataBind(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "pes_id: " + pes_id); _lblMessage.Text = UtilBO.GetErroMessage("Pessoa excluída com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir a pessoa.", UtilBO.TipoMensagem.Erro); } } else { _lblMessage.Text = UtilBO.GetErroMessage("Pessoa não pode ser excluída, pois está preparada para associação. Remover pessoa da associação.", UtilBO.TipoMensagem.Erro); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Decrementa a integridade da pessoa, e exclui ela caso a integridade fique 0. /// </summary> /// <param name="bancoCore">Transação - obrigatório</param> /// <param name="entPessoa">entidade da Pessoa</param> private static void DecrementaIntegridadePessoa(TalkDBTransaction bancoCore, PES_Pessoa entPessoa) { entPessoa.pes_integridade--; PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_id, bancoCore); if (entPessoa.pes_integridade <= 0) { // Se integridade for 0 - excluir pessoa. PES_PessoaBO.Delete(entPessoa, bancoCore); PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoMae, bancoCore); PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoPai, bancoCore); } }
/// <summary> /// Parâmetros para efetuar a exclusão lógica. /// </summary> protected override void ParamDeletar(QueryStoredProcedure qs, PES_Pessoa entity) { Param = qs.NewParameter(); Param.DbType = DbType.Guid; Param.ParameterName = "@pes_id"; Param.Size = 16; Param.Value = entity.pes_id; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.Byte; Param.ParameterName = "@pes_situacao"; Param.Size = 1; Param.Value = 3; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.DateTime; Param.ParameterName = "@pes_dataAlteracao"; Param.Size = 8; Param.Value = DateTime.Now; qs.Parameters.Add(Param); }
/// <summary> /// Método alterado para que o update não faça a alteração da data de criação e da integridade /// </summary> /// <param name="entity"> Entidade PES_Pessoa</param> /// <returns>true = sucesso | false = fracasso</returns> protected override bool Alterar(PES_Pessoa entity) { this.__STP_UPDATE = "NEW_PES_Pessoa_UPDATE"; return(base.Alterar(entity)); }
/// <summary> /// Método chamado quando o usuário seleciona uma pessoa na tela de busca. /// </summary> /// <param name="parameters"></param> void UCPessoas1BuscaPessoa(IDictionary <string, object> parameters) { //Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG); //Variáveis que recebe os valores cadastrados caso já exista. byte situacao_responsavel; string alr_profissao; // ID do tipo de documento NIS. Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); try { if (!String.IsNullOrEmpty(parameters["pes_id"].ToString())) { VS_Pes_ID = new Guid(parameters["pes_id"].ToString()); } PES_Pessoa entity = new PES_Pessoa(); entity.pes_id = VS_Pes_ID; PES_PessoaBO.GetEntity(entity); txtNome.Text = entity.pes_nome; txtDataNasc.Text = entity.pes_dataNascimento != new DateTime() ? entity.pes_dataNascimento.ToString("dd/MM/yyyy") : ""; UCComboEstadoCivil1._Combo.SelectedValue = entity.pes_estadoCivil.ToString(); UCComboSexo1._Combo.SelectedValue = (entity.pes_sexo == 0) ? "-1" : entity.pes_sexo.ToString(); if (entity.tes_id != Guid.Empty) { UCComboTipoEscolaridade1._Combo.SelectedValue = entity.tes_id.ToString(); } else { UCComboTipoEscolaridade1._Combo.SelectedValue = UCComboTipoEscolaridade1._Combo.Items[0].Value; } //Faz a verificação se existe as informações cadastradas referente a profissão e situação do responsável. ACA_AlunoResponsavelBO.RetornaAlunoResponsavel_Situacao_Profissao(entity.pes_id, out situacao_responsavel, out alr_profissao); chkSituacaoFalecido.Checked = situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido); txtProfissao.Text = alr_profissao; txtCPFResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoCPF); txtRGResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoRG); txtNis.Text = RetornaDocumentoResponsavel(entity.pes_id, tdo_idNis.ToString()); if (UCBuscaPessoasAluno != null) { // Limpar campos da busca. UCBuscaPessoasAluno._Limpar(); } ScriptManager.RegisterClientScriptBlock(Page, GetType(), "BuscaPessoa", "$('#divBuscaResponsavel').dialog('close');", true); } catch (Exception ex) { lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro); ApplicationWEB._GravaErro(ex); } }
protected void Page_Load(object sender, EventArgs e) { try { ScriptManager sm = ScriptManager.GetCurrent(this); if (sm != null) { sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmBtn)); } string mensagemFlash = CFG_ParametroMensagemBO.RetornaValor(CFG_ParametroMensagemChave.CAPTURA_REQUERFLASH); lblMessageFlash.Text = UtilBO.GetErroMessage(mensagemFlash, UtilBO.TipoMensagem.Informacao); lblMessageFlash.Visible = !String.IsNullOrEmpty(mensagemFlash); if (Session["alu_id"] != null) { if (Session["PaginaRetorno_CapturaFoto"] != null) { VS_PaginaRetorno = Session["PaginaRetorno_CapturaFoto"].ToString(); Session.Remove("PaginaRetorno_CapturaFoto"); VS_DadosPaginaRetorno = Session["DadosPaginaRetorno"]; Session.Remove("DadosPaginaRetorno"); VS_DadosPaginaRetorno_MinhasTurmas = Session["VS_DadosTurmas"]; Session.Remove("VS_DadosTurmas"); } VS_alu_id = Convert.ToInt64(Session["alu_id"].ToString()); Session.Remove("alu_id"); busca = false; } if (((PreviousPage != null) && (PreviousPage.EditItem > 0)) || VS_alu_id != -1) { if (VS_alu_id == -1) { VS_alu_id = PreviousPage.EditItem; } InfoComplementarAluno1.InformacaoComplementarAluno(VS_alu_id); ACA_Aluno alu = new ACA_Aluno { alu_id = VS_alu_id }; ACA_AlunoBO.GetEntity(alu); PES_Pessoa pes = new PES_Pessoa { pes_id = alu.pes_id }; PES_PessoaBO.GetEntity(pes); CFG_Arquivo entFoto; string src = CriaFotoAluno(pes, out entFoto); imgAntiga.Visible = !string.IsNullOrEmpty(src) && string.IsNullOrEmpty(hdnArqExcluir.Value); lblDataFoto.Visible = imgAntiga.Visible; if (imgAntiga.Visible) { const string script = "var existeImagem = true;"; Page.ClientScript.RegisterStartupScript(typeof(Page), "confirm", script, true); imgAntiga.Src = src; imgAntiga.Style.Remove("display"); lblDataFoto.Text = @"<br />Última alteração da foto: " + entFoto.arq_dataAlteracao.ToString("dd/MM/yyyy"); } else { imgAntiga.Src = ""; imgAntiga.Style.Add("display", "none"); } } else { Redireciona(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Override do método Carregar - Colocado WITH(NOLOCK) na procedure. /// </summary> public override bool Carregar(PES_Pessoa entity) { __STP_LOAD = "NEW_PES_Pessoa_LOAD"; return(base.Carregar(entity)); }
/// <summary> /// Insere e altera uma pessoa /// </summary> private void _Associar() { try { string msgErro; bool mensagemEmBranco = String.IsNullOrEmpty(_lblMessage.Text.Trim()); if (mensagemEmBranco && !UCGridContato1.SalvaConteudoGrid(out msgErro)) { UCGridContato1._MensagemErro.Visible = false; _lblMessage.Text = msgErro; txtSelectedTab.Value = "2"; return; } if (mensagemEmBranco && !UCGridCertidaoCivil1.AtualizaViewState(out msgErro)) { _lblMessage.Text = msgErro; txtSelectedTab.Value = "3"; return; } if (!UCGridDocumento1.ValidaConteudoGrid(out msgErro)) { UCGridDocumento1._MensagemErro.Visible = false; _lblMessage.Text = UtilBO.GetErroMessage(msgErro, UtilBO.TipoMensagem.Alerta); txtSelectedTab.Value = "3"; return; } //Adiciona valores na entidade de pessoa PES_Pessoa entityPessoa = new PES_Pessoa { pes_id = UCCadastroPessoa1._VS_pes_id , pes_nome = UCCadastroPessoa1._txtNome.Text , pes_nome_abreviado = UCCadastroPessoa1._txtNomeAbreviado.Text , pai_idNacionalidade = new Guid(UCCadastroPessoa1._ComboNacionalidade.SelectedValue) , pes_naturalizado = UCCadastroPessoa1._chkNaturalizado.Checked , cid_idNaturalidade = UCCadastroPessoa1._VS_cid_id , pes_dataNascimento = (String.IsNullOrEmpty(UCCadastroPessoa1._txtDataNasc.Text.Trim())? new DateTime() : Convert.ToDateTime(UCCadastroPessoa1._txtDataNasc.Text.Trim())) , pes_racaCor = UCCadastroPessoa1._ComboRacaCor.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboRacaCor.SelectedValue) , pes_sexo = UCCadastroPessoa1._ComboSexo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboSexo.SelectedValue) , pes_idFiliacaoPai = UCCadastroPessoa1._VS_pes_idFiliacaoPai , pes_idFiliacaoMae = UCCadastroPessoa1._VS_pes_idFiliacaoMae , tes_id = new Guid(UCCadastroPessoa1._ComboEscolaridade.SelectedValue) , pes_estadoCivil = UCCadastroPessoa1._ComboEstadoCivil.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboEstadoCivil.SelectedValue) , pes_situacao = 1 , IsNew = (UCCadastroPessoa1._VS_pes_id != Guid.Empty) ? false : true }; PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia { pes_id = _VS_pes_id , tde_id = new Guid(UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue) , IsNew = true }; CFG_Arquivo entArquivo = null; //armazema a imagem na entidade de pessoa if (!string.IsNullOrEmpty(UCCadastroPessoa1._iptFoto.PostedFile.FileName)) { string tam = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_MAX_FOTO_PESSOA); if (!string.IsNullOrEmpty(tam)) { if (UCCadastroPessoa1._iptFoto.PostedFile.ContentLength > Convert.ToInt32(tam) * 1000) { throw new ArgumentException("Foto é maior que o tamanho máximo permitido."); } if (UCCadastroPessoa1._iptFoto.PostedFile.FileName.Substring(UCCadastroPessoa1._iptFoto.PostedFile.FileName.Length - 3, 3).ToUpper() != "JPG") { throw new ArgumentException("Foto tem que estar no formato \".jpg\"."); } } entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(UCCadastroPessoa1._iptFoto.PostedFile); if (_VS_arq_idAntigo > 0) { // Se já existia foto e vai ser alterada, muda só o conteúdo. entArquivo.arq_id = _VS_arq_idAntigo; entArquivo.IsNew = false; } } if (_VS_arq_idAntigo > 0) { entityPessoa.arq_idFoto = _VS_arq_idAntigo; } XmlDocument xDoc = new XmlDocument(); XmlNode xElem = xDoc.CreateNode(XmlNodeType.Element, "Coluna", string.Empty); XmlNode xNodeCoor = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", string.Empty); XmlNode xNode; for (int i = 0; i < _VS_AssociarPessoas.Rows.Count; i++) { if ((_VS_AssociarPessoas.Rows[i]["pes_id"].ToString()) != _VS_pes_id.ToString()) { xNodeCoor = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", ""); xNode = xDoc.CreateNode(XmlNodeType.Element, "valor", ""); xNode.InnerText = _VS_AssociarPessoas.Rows[i]["pes_id"].ToString(); xNodeCoor.AppendChild(xNode); xElem.AppendChild(xNodeCoor); } } xDoc.AppendChild(xElem); if (PES_PessoaBO.AssociarPessoas(entityPessoa, entityPessoaDeficiencia, UCEnderecos1._VS_enderecos, UCGridContato1._VS_contatos, UCGridDocumento1.RetornaDocumentoSave(), UCGridCertidaoCivil1._VS_certidoes, _VS_pai_idAntigo, _VS_cid_idAntigo, _VS_pes_idPaiAntigo, _VS_pes_idMaeAntigo, _VS_tes_idAntigo, _VS_tde_idAntigo, xDoc)) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "pes_id: " + entityPessoa.pes_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoas associadas com sucesso."), UtilBO.TipoMensagem.Sucesso); Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoPessoa/Busca.aspx", false); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar as pessoas.", UtilBO.TipoMensagem.Erro); } } catch (CoreLibrary.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar as pessoas.", UtilBO.TipoMensagem.Erro); } finally { _updGridPessoas.Update(); } }
public static bool Save ( PES_Pessoa entityPessoa , PES_PessoaDeficiencia entityPessoaDeficiencia , DataTable dtEndereco , DataTable dtContato , DataTable dtDocumento , PES_CertidaoCivil entityCertidaoCivil , Guid pai_idAntigo , Guid cid_idAntigo , StructColaboradorFiliacao PaiAntigo , StructColaboradorFiliacao MaeAntigo , Guid tes_idAntigo , Guid tde_idAntigo , RHU_Colaborador entityColaborador , DataTable dtCargoFuncao , DataTable dtCargoDisciplina , bool bSalvarUsuario , bool bSalvarLive , SYS_Usuario entityUsuario , bool bEnviaEmail , string sNomePortal , string sHost , string sEmailSuporte , Guid ent_idUsuario , ACA_Docente entityDocente , string[] arquivosPermitidos , int tamanhoMaximoKB , CFG_Arquivo entFoto , bool ExcluirImagemAtual ) { TalkDBTransaction bancoCore = new PES_PessoaDAO()._Banco.CopyThisInstance(); TalkDBTransaction bancoGestao = new ACA_DocenteDAO()._Banco.CopyThisInstance(); bancoCore.Open(IsolationLevel.ReadCommitted); bancoGestao.Open(IsolationLevel.ReadCommitted); try { //Limpa o cache do docente CacheManager.Factory.Remove(string.Format(ModelCache.DOCENTE_POR_ENTIDADE_PESSOA_MODEL_KEY, entityColaborador.ent_id, entityPessoa.pes_id)); //Verifica se os dados da pessoa serão sempre salvos em maiúsculo. string sSalvarMaiusculo = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO); bool Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo); var y = from DataRow dr in dtCargoFuncao.Rows where dr.RowState == DataRowState.Deleted select dr; if (dtCargoFuncao.Rows.Count == 0 || y.Count() == dtCargoFuncao.Rows.Count) { throw new ValidationException("É obrigatório o preenchimento de pelo menos um vínculo de trabalho do docente."); } string sPadraoUsuarioDocente = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PAR_GRUPO_PERFIL_DOCENTE, ent_idUsuario); //Integraçao como o live UserLive entityUserLive = null; if (bSalvarLive) { entityUserLive = new UserLive(eTipoUserLive.Docente); //Cria o usuário docente para integraçao como o live ManageUserLive live = new ManageUserLive(); entityUserLive.email = entityUsuario.usu_email; entityUserLive.senha = entityUsuario.usu_senha; //Caso seja alteração carrega as turma //TODO: Fazer método específico para buscar apenas pelo doc_id. DataTable dtTurmas = entityDocente.doc_id > 0 ? TUR_TurmaBO.GetSelectBy_Pesquisa_TodosTipos (Guid.Empty, Guid.Empty, Guid.Empty, Guid.Empty, 0, 0, 0, 0, 0, 0, "", entityDocente.doc_id, false) : new DataTable(); //Obtendo CPF do docente string tdo_id = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); var x = from DataRow dr in dtDocumento.Rows where dr.RowState != DataRowState.Deleted && dr["tdo_id"].ToString() == tdo_id select dr["numero"].ToString(); //Carrega primeira matricula ativa associada ao cargo de docente do colaborador var mat = from DataRow dr in dtCargoFuncao.Rows where dr.RowState != DataRowState.Deleted && dr["situacao_id"].ToString() == "1" select dr["coc_matricula"].ToString(); //Carrega os tipos de disciplinas var tipo_dis = from DataRow dr in dtCargoDisciplina.Rows where dr.RowState != DataRowState.Deleted select dr["tds_id"].ToString(); DataTable dtTipoDisciplinas = tipo_dis.Count() > 0 ? ACA_TipoDisciplinaBO.SelecionaTipoDisciplinaPorTipoDisciplina (Convert.ToInt32(tipo_dis.First()), bancoGestao, ent_idUsuario) : new DataTable(); if (x.Count() > 0) { DadosUserDocente dadosDocente = new DadosUserDocente { nome = entityPessoa.pes_nome , CPF = x.First() , matricula = mat.Count() > 0 ? mat.First() : string.Empty , turma = dtTurmas.Rows.Count > 0 ? dtTurmas.Rows[0]["tur_cod_desc_nome"].ToString() : string.Empty , serie = dtTurmas.Rows.Count > 0 ? dtTurmas.Rows[0]["crp_descricao"].ToString() : string.Empty , disciplina = dtTipoDisciplinas.Rows.Count > 0 ? dtTipoDisciplinas.Rows[0]["tds_nome"].ToString() : string.Empty }; entityUserLive.dadosUserDocente = dadosDocente; } else { if (!live.VerificarContaEmailExistente(entityUserLive)) { throw new ArgumentException("CPF é um documento obrigatório, para integração do docente com live."); } } } RHU_ColaboradorBO.Save(entityPessoa , entityPessoaDeficiencia , dtEndereco , dtContato , dtDocumento , entityCertidaoCivil , pai_idAntigo , cid_idAntigo , PaiAntigo , MaeAntigo , tes_idAntigo , tde_idAntigo , entityColaborador , dtCargoFuncao , dtCargoDisciplina , bSalvarUsuario , bSalvarLive , entityUsuario , entityUserLive , sPadraoUsuarioDocente , bEnviaEmail , sNomePortal , sHost , sEmailSuporte , ent_idUsuario , bancoCore , bancoGestao , arquivosPermitidos , tamanhoMaximoKB , entFoto , ExcluirImagemAtual); entityDocente.col_id = entityColaborador.col_id; if (entityDocente.Validate()) { Save(entityDocente, bancoGestao); } else { throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(entityDocente)); } return(true); } catch (Exception err) { bancoGestao.Close(err); bancoCore.Close(err); throw; } finally { bancoGestao.Close(); bancoCore.Close(); } }
/// <summary> /// Carrega as informações do aluno que serão mostradas na tela. /// </summary> private void LoadInformacoesAluno() { try { ACA_Aluno alu = new ACA_Aluno(); PES_Pessoa pes = new PES_Pessoa(); PES_Pessoa mae = new PES_Pessoa(); if (_VS_alu_id > 0) { alu.alu_id = _VS_alu_id; ACA_AlunoBO.GetEntity(alu); if (alu.ent_id != Ent_id) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("O aluno não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } pes.pes_id = alu.pes_id; PES_PessoaBO.GetEntity(pes); mae.pes_id = pes.pes_idFiliacaoMae; PES_PessoaBO.GetEntity(mae); } lblNome.Text += pes.NomeFormatado(VS_exibicaoNomePessoa) + "<br />"; lblDataNascimento.Text += (Convert.ToDateTime(pes.pes_dataNascimento).ToShortDateString()) + "<br />"; string nomeMae = String.IsNullOrEmpty(mae.pes_nome) ? "-" : mae.pes_nome; lblNomeMae.Text += nomeMae + "<br />"; lblDataCadastro.Text += (Convert.ToDateTime(pes.pes_dataCriacao).ToShortDateString()) + "<br />"; lblDataAlteracao.Text += (Convert.ToDateTime(pes.pes_dataAlteracao).ToShortDateString()) + "<br />"; lblSituacao.Text += situacao(alu.alu_situacao) + "<br />"; DataTable matricula = VS_mtu_id >= 0 ? MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAlunoMtu(_VS_alu_id, VS_mtu_id) : MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAluno(_VS_alu_id); if (matricula.Rows.Count > 0) { if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_codigo"] + " - " + matricula.Rows[0]["esc_nome"] + "<br />"; } else { lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_nome"] + "<br />"; } lblCurso.Text = String.IsNullOrEmpty(matricula.Rows[0]["cur_nome"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["cur_nome"] + "<br />"; lblPeriodo.Text = String.IsNullOrEmpty(matricula.Rows[0]["crp_descricao"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["crp_descricao"] + "<br />"; lblTurma.Text += String.IsNullOrEmpty(matricula.Rows[0]["tur_codigo"].ToString()) ? " - <br />" : matricula.Rows[0]["tur_codigo"] + "<br />"; if (string.IsNullOrEmpty(matricula.Rows[0]["crp_nomeAvaliacao"].ToString())) { lblAvaliacao.Visible = false; } else { lblAvaliacao.Text = "<b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + ": </b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + " " + matricula.Rows[0]["tca_numeroAvaliacao"] + "<BR />"; lblAvaliacao.Visible = true; } if (!String.IsNullOrEmpty(matricula.Rows[0]["mtu_numeroChamada"].ToString())) { if (Convert.ToInt32(matricula.Rows[0]["mtu_numeroChamada"]) > 0) { lblNChamada.Text += matricula.Rows[0]["mtu_numeroChamada"] + "<br />"; } else { lblNChamada.Text += " - <br />"; } } else { lblNChamada.Text += " - <br />"; } string matriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (!String.IsNullOrEmpty(matriculaEstadual)) { string mtrEstadual = String.IsNullOrEmpty(matricula.Rows[0]["alc_matriculaEstadual"].ToString()) ? "-" : matricula.Rows[0]["alc_matriculaEstadual"].ToString(); lblRA.Text = "<b>" + matriculaEstadual + ": </b>" + mtrEstadual + "<br />"; lblRA.Visible = true; } else { string mtr = String.IsNullOrEmpty(matricula.Rows[0]["alc_matricula"].ToString()) ? "-" : matricula.Rows[0]["alc_matricula"].ToString(); lblRA.Text = "<b>" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + mtr + "<br />"; lblRA.Visible = true; } //Carrega nas propriedades os ids: Escola, Curso, Turma VS_cur_id = Convert.ToInt32(matricula.Rows[0]["cur_id"]); VS_esc_id = Convert.ToInt32(matricula.Rows[0]["esc_id"]); VS_tur_id = Convert.ToInt32(matricula.Rows[0]["tur_id"]); VS_cal_id = Convert.ToInt32(matricula.Rows[0]["cal_id"]); VS_cal_ano = Convert.ToInt32(matricula.Rows[0]["cal_ano"]); } else { lblEscola.Visible = false; lblCurso.Visible = false; lblPeriodo.Visible = false; lblTurma.Visible = false; lblNChamada.Visible = false; lblRA.Visible = false; lblAvaliacao.Visible = false; } if (FitroCalendario) { ddlAnoCalendario.Items.Clear(); odsAnoCalendario.SelectParameters.Add("alu_id", _VS_alu_id.ToString()); ddlAnoCalendario.DataBind(); int cal_id = -1; int max = -1; //Pega o calendário do ano atual ou o último ano que o aluno possui anotação. foreach (ListItem lst in ddlAnoCalendario.Items) { if (Convert.ToInt32(lst.Text) == DateTime.Today.Year) { cal_id = Convert.ToInt32(lst.Value); break; } else if (Convert.ToInt32(lst.Text) > max) { cal_id = Convert.ToInt32(lst.Value); max = Convert.ToInt32(lst.Text); } } ddlAnoCalendario.SelectedValue = cal_id.ToString(); if (ddlAnoCalendario.Items.Count == 0) { ddlAnoCalendario.Visible = false; lblAnoCalendario.Visible = false; } } else { divAnoCalendario.Visible = false; } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar dados do aluno.", UtilBO.TipoMensagem.Erro); } }
public static void SaveEnderecosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtEndereco) { //Verifica se os dados da pessoa serão sempre salvos em maiúsculo. string sSalvarMaiusculo = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO); bool Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo); PES_PessoaEndereco entityEndereco = new PES_PessoaEndereco { pes_id = entity.pes_id }; if (banco == null) { PES_PessoaEnderecoDAO dao = new PES_PessoaEnderecoDAO(); banco = dao._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); } for (int i = 0; i < dtEndereco.Rows.Count; i++) { // if (dtEndereco.Rows[i].RowState != DataRowState.Deleted) if (!Convert.ToBoolean(dtEndereco.Rows[i]["excluido"].ToString())) { string end_id = dtEndereco.Rows[i]["end_id"].ToString(); if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString()))) { END_Endereco entityNovoEndereco = new END_Endereco { //[OLD]end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString()) end_cep = dtEndereco.Rows[i]["end_cep"].ToString() , end_logradouro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_logradouro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_logradouro"].ToString() , end_distrito = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_distrito"].ToString().ToUpper() : dtEndereco.Rows[i]["end_distrito"].ToString() , end_zona = dtEndereco.Rows[i]["end_zona"].ToString() == "0" || string.IsNullOrEmpty(dtEndereco.Rows[i]["end_zona"].ToString()) ? Convert.ToByte(0) : Convert.ToByte(dtEndereco.Rows[i]["end_zona"].ToString()) , end_bairro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_bairro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_bairro"].ToString() , cid_id = new Guid(dtEndereco.Rows[i]["cid_id"].ToString()) , end_situacao = Convert.ToByte(1) }; //Inclui dados na tabela END_Endereco (se necessário) if (entityNovoEndereco.end_id == Guid.Empty) { entityEndereco.end_id = END_EnderecoBO.Save(entityNovoEndereco, Guid.Empty, banco); entityNovoEndereco.end_id = entityEndereco.end_id; } dtEndereco.Rows[i]["end_id"] = entityNovoEndereco.end_id; } string endRel_id = dtEndereco.Rows[i]["endRel_id"].ToString(); if (dtEndereco.Rows[i].RowState == DataRowState.Added || string.IsNullOrEmpty(endRel_id)) { //TRATA DECIMAL decimal latitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString()); decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString()); //ATRIBUI VALORES entityEndereco.end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString()); entityEndereco.pse_numero = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString(); entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString(); entityEndereco.pse_situacao = Convert.ToByte(1); entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["id"].ToString()); entityEndereco.IsNew = true; entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]); entityEndereco.pse_latitude = latitude; entityEndereco.pse_longitude = longitude; Save(entityEndereco, banco); //Incrementa um na integridade do endereço END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = banco }; endDAL.Update_IncrementaIntegridade(entityEndereco.end_id); } else if (dtEndereco.Rows[i].RowState == DataRowState.Modified && !string.IsNullOrEmpty(endRel_id)) { //TRATA DECIMAL decimal latitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString()); decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString()); //ATRIBUI VALORES entityEndereco.end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString()); entityEndereco.pse_numero = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString(); entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString(); bool excluido = Convert.ToBoolean(dtEndereco.Rows[i]["excluido"]); if (excluido) { entityEndereco.pse_situacao = Convert.ToByte(3); } else { entityEndereco.pse_situacao = Convert.ToByte(1); } entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id"].ToString()); entityEndereco.IsNew = false; entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]); entityEndereco.pse_latitude = latitude; entityEndereco.pse_longitude = longitude; Save(entityEndereco, banco); } } else { entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id", DataRowVersion.Original].ToString()); entityEndereco.end_id = new Guid(dtEndereco.Rows[i]["end_id", DataRowVersion.Original].ToString()); PES_PessoaEnderecoDAO pesendDAL = new PES_PessoaEnderecoDAO { _Banco = banco }; pesendDAL.Delete(entityEndereco); //Decrementa um na integridade do endereço END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = banco }; endDAL.Update_DecrementaIntegridade(entityEndereco.end_id); } } }
/// <summary> /// Método alterado para que o delete não faça exclusão física e sim lógica (update). /// </summary> /// <param name="entity"> Entidade PES_Pessoa</param> /// <returns>true = sucesso | false = fracasso</returns> public override bool Delete(PES_Pessoa entity) { this.__STP_DELETE = "NEW_PES_Pessoa_Update_Situacao"; return(base.Delete(entity)); }
/// <summary> /// Salva os responsáveis do aluno, e o pai e a mãe na filiação do aluno. /// </summary> /// <param name="listaResponsavel">Lista da estrutura do cadastro</param> /// <param name="entAluno">Aluno</param> /// <param name="bancoGestao">Transação do Gestão</param> /// <param name="bancoCore">Transação do Core</param> /// <param name="tra_idPrincipal">Id do tipo de responsável principal</param> /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param> /// <param name="entPessoaAluno">Pessoa referente ao aluno - seta o id do Pai e da Mãe</param> /// <param name="obrigatorioTipoResponsavel">Validar se foi informado o Id do tipo de responsável principal.</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> public static void SalvarResponsaveisAluno ( List <StructCadastro> listaResponsavel, ACA_Aluno entAluno, TalkDBTransaction bancoGestao, TalkDBTransaction bancoCore, Int32 tra_idPrincipal, bool salvarMaiusculo, ref PES_Pessoa entPessoaAluno, bool obrigatorioTipoResponsavel, Guid ent_id ) { List <StructCadastro> listCadastrados = new List <StructCadastro>(); List <StructCadastro> listaInseridos = new List <StructCadastro>(); Guid pes_idMae = Guid.Empty; Guid pes_idPai = Guid.Empty; if (tra_idPrincipal <= 0 && obrigatorioTipoResponsavel) { throw new ValidationException("É necessário informar o responsável do aluno."); } if (listaResponsavel.Count == 0) { throw new ValidationException("Responsável é obrigatório."); } if (!entAluno.IsNew) { // Guardar os responsáveis que já tinham sido cadastrados. listCadastrados = RetornaResponsaveisAluno(entAluno.alu_id, null); } // Buscando ids dos tipos de responsável dos parâmetros. Int32 tra_idMae = TipoResponsavelAlunoParametro.tra_idMae(ent_id); Int32 tra_idPai = TipoResponsavelAlunoParametro.tra_idPai(ent_id); Int32 tra_idProprio = TipoResponsavelAlunoParametro.tra_idProprio(ent_id); // ID do tipo de documento CPF. string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); Guid tdo_idCPF = String.IsNullOrEmpty(docPadraoCPF) ? Guid.Empty : new Guid(docPadraoCPF); // ID do tipo de documento RG. string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG); Guid tdo_idRG = String.IsNullOrEmpty(docPadraoRG) ? Guid.Empty : new Guid(docPadraoRG); // ID do tipo de documento NIS. Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, ent_id); List <string> ListValidacoesDoc = new List <string>(); foreach (StructCadastro resp in listaResponsavel) { //Responsáveis com o mesmo numero de documento foreach (PES_PessoaDocumento psd in resp.listPessoaDoc) { if (listaResponsavel.Any(p => p.entAlunoResp.pes_id != resp.entAlunoResp.pes_id && p.listPessoaDoc.Any(d => d.psd_numero == psd.psd_numero)) && !ListValidacoesDoc.Contains("Há mais de um responsável com o mesmo número de documento.")) { ListValidacoesDoc.Add("Há mais de um responsável com o mesmo número de documento."); } } // Responável tem data de nascimento maior que a data atual. if (resp.entPessoa.pes_dataNascimento > DateTime.Now) { if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id)) { ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data atual."); } if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id)) { ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data atual."); } } // Responsavel do aluno é falecido e mora com ele -- erro if (resp.entAlunoResp.alr_moraComAluno && resp.entAlunoResp.alr_situacao == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido)) { ListValidacoesDoc.Add("Responsável do aluno não pode morar com o aluno e ser falecido."); } // Responsavel tem data de nascimento mais nova que a do aluno if (resp.entPessoa.pes_dataNascimento > entPessoaAluno.pes_dataNascimento) { if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id)) { ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data de nascimento do aluno."); } if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id)) { ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data de nascimento do aluno."); } } //Valida código NIS do aluno int index = resp.listPessoaDoc.FindIndex(p => p.tdo_id == tdo_idNis); if (index >= 0 && !(string.IsNullOrEmpty(resp.listPessoaDoc[index].psd_numero))) { string TipoPessoa; if (resp.entAlunoResp.tra_id == tra_idMae) { TipoPessoa = "A mãe"; } else if (resp.entAlunoResp.tra_id == tra_idPai) { TipoPessoa = "O pai"; } else { TipoPessoa = "O responsável"; } if (ACA_AlunoBO.NISInvalido(resp.listPessoaDoc[index].psd_numero)) { ListValidacoesDoc.Add(TipoPessoa + " possui o número do NIS inválido."); } } // Adiciona na lista dos dados inseridos. listaInseridos.Add( SalvarResponsavel(tra_idPrincipal, entAluno, resp, tra_idProprio, bancoCore, tra_idMae, tra_idPai, bancoGestao, tdo_idCPF, tdo_idRG, tdo_idNis, ref pes_idMae, ref pes_idPai, salvarMaiusculo, ref ListValidacoesDoc, listaResponsavel, ent_id)); } // Se não foi inserido nenhum item na lista como principal. if (!listaInseridos.Exists(p => p.entAlunoResp.alr_principal) && obrigatorioTipoResponsavel) { ListValidacoesDoc.Add("É necessário informar o responsável do aluno."); } if (ListValidacoesDoc.Count > 0) { throw new ValidationException(string.Join("<BR/>", ListValidacoesDoc.ToArray())); } // Salva na pessoa do aluno os Ids do pai e da mãe. entPessoaAluno = new PES_Pessoa { pes_id = entAluno.pes_id }; PES_PessoaBO.GetEntity(entPessoaAluno, bancoCore); // Se mudou a mãe. if (entPessoaAluno.pes_idFiliacaoMae != pes_idMae) { entPessoaAluno.pes_idFiliacaoMae = pes_idMae; PES_PessoaBO.Save(entPessoaAluno, bancoCore); } // Se mudou o pai. if (entPessoaAluno.pes_idFiliacaoPai != pes_idPai) { entPessoaAluno.pes_idFiliacaoPai = pes_idPai; PES_PessoaBO.Save(entPessoaAluno, bancoCore); } // Percorrer os itens que existiam antes, para excluir os que não tem mais. foreach (StructCadastro item in listCadastrados) { if (item.entPessoa.pes_id == entAluno.pes_id) { continue; } VerifcaItemCadastrado(listaInseridos, bancoCore, bancoGestao, item, tra_idProprio); } }
public HttpResponseMessage PostLogin(Usuario usuario) { try { var user = new SYS_Usuario { usu_login = usuario.login, usu_senha = usuario.senha, ent_id = usuario.entidade }; LoginStatus status = SYS_UsuarioBO.ValidarLogin(user); if (status == LoginStatus.Sucesso) { if (SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(user)) { var grupos = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(user.usu_id, ApplicationWEB.SistemaID); if (grupos.Count > 0) { var grupo = grupos.First(); Dictionary <string, object> dic = new Dictionary <string, object>(); dic.Add("login", user.usu_login); dic.Add("entity", user.ent_id); dic.Add("group", grupo.gru_id); var jwtKey = System.Configuration.ConfigurationManager.AppSettings["jwtKey"]; SymmetricAlgorithm sa = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES); PES_Pessoa entityPessoa = new PES_Pessoa { pes_id = user.pes_id }; PES_PessoaBO.GetEntity(entityPessoa); bool docente = false; if (grupo.vis_id == SysVisaoID.Individual) { // Carrega a entidade docente de acordo com a pessoa do usuário logado. ACA_Docente entityDocente; ACA_DocenteBO.GetSelectBy_Pessoa(user.ent_id, user.pes_id, out entityDocente); docente = entityDocente.doc_id > 0; } UsuarioLogado usuarioLogado = new UsuarioLogado { grupo = grupos.First().gru_nome, nome = (string.IsNullOrEmpty(entityPessoa.pes_nome) ? user.usu_login : entityPessoa.pes_nome), docente = docente, token = JWT.JsonWebToken.Encode(dic, sa.Decrypt(jwtKey), JWT.JwtHashAlgorithm.HS256) }; return(Request.CreateResponse(HttpStatusCode.OK, usuarioLogado)); } else { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não está vinculado a um grupo")); } } return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não encontrado")); } else { return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário ou senha inválidos")); } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
/// <summary> /// Metodo atribui a label informações sobre aluno(nome, escola, curso, ano, matricula, turma, avaliação, nºchamada). /// </summary> /// <param name="alu_id">ID do aluno</param> /// <param name="dtCurriculo">Último currículo do aluno (parâmetro opcional)</param> public void InformacaoComplementarAluno(long alu_id, DataTable dtCurriculo = null, bool documentoOficial = false) { try { if (alu_id > 0) { ACA_Aluno entityAluno = new ACA_Aluno(); PES_Pessoa entityPessoa = new PES_Pessoa(); // Carrega entidade ACA_Aluno entityAluno.alu_id = alu_id; ACA_AlunoBO.GetEntity(entityAluno); // Carrega entidade PES_Pessoa entityPessoa.pes_id = entityAluno.pes_id; PES_PessoaBO.GetEntity(entityPessoa); eExibicaoNomePessoa exibicaoNome = documentoOficial ? eExibicaoNomePessoa.NomeSocial | eExibicaoNomePessoa.NomeRegistro : eExibicaoNomePessoa.NomeSocial; string nomeAluno = entityPessoa.NomeFormatado(exibicaoNome); string turno = string.Empty; Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id; bool paramOrdenar = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, ent_id); //Nome lblInformacaoAluno.Text = "<b>Nome do aluno: </b>" + nomeAluno + "<br/>"; //Idade if (entityPessoa.pes_dataNascimento != new DateTime() && entityPessoa.pes_dataNascimento < DateTime.Today) { string dataExtenso = GestaoEscolarUtilBO.DiferencaDataExtenso(entityPessoa.pes_dataNascimento, DateTime.Today); if (!string.IsNullOrEmpty(dataExtenso)) { lblInformacaoAluno.Text += "<b>Idade: </b>" + dataExtenso + "<br/>"; } } // Caso estiver sendo chamada da tela de cadastro de aluno, o datatable com a ultima matricula já virá preenchido if (dtCurriculo == null) { dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id); } if (dtCurriculo.Rows.Count > 0) { #region Carrega os dados Esc_id = (string.IsNullOrEmpty(dtCurriculo.Rows[0]["esc_id"].ToString())) ? -1 : Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"]); string nomeEscola = dtCurriculo.Rows[0]["esc_nome"].ToString(); string codigoEscola = dtCurriculo.Rows[0]["esc_codigo"].ToString(); string cursoNome = dtCurriculo.Rows[0]["cur_nome"].ToString(); string descricaoPeriodo = dtCurriculo.Rows[0]["crp_descricao"].ToString(); string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString(); string numeroMatricula = dtCurriculo.Rows[0]["alc_matricula"].ToString(); string turmaCodigo = dtCurriculo.Rows[0]["tur_codigo"].ToString(); string mtu_numeroChamada = dtCurriculo.Rows[0]["mtu_numeroChamada"].ToString(); string nomeAvaliacao = dtCurriculo.Rows[0]["crp_nomeAvaliacao"].ToString(); string numeroAvaliacao = dtCurriculo.Rows[0]["tca_numeroAvaliacao"].ToString(); string cal_ano = dtCurriculo.Rows[0]["cal_ano"].ToString(); turno = dtCurriculo.Rows[0]["ttn_nome"].ToString(); #endregion Carrega os dados //Escola lblInformacaoAluno.Text += "<b>Escola: </b>"; lblInformacaoAluno.Text += (paramOrdenar ? codigoEscola + " - " : "") + nomeEscola + "<br/>"; if (!HistoricoEscolar) { //Curso lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoCurso(ent_id) + ": </b>" + cursoNome; //Periodo lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(ent_id) + ": </b>" + descricaoPeriodo + "<br/>"; //Matricula if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, ent_id))) { if (!string.IsNullOrEmpty(matriculaEstadual)) { lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(ent_id) + ": " + "</b>" + matriculaEstadual + " "; } } else { if (!string.IsNullOrEmpty(numeroMatricula)) { lblInformacaoAluno.Text += "<b> " + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + numeroMatricula + " "; } } //Turma lblInformacaoAluno.Text += "<b>Turma: </b>" + turmaCodigo; if (!string.IsNullOrEmpty(turno)) { //Turno lblInformacaoAluno.Text += " <b>Turno: </b>" + turno; } //Avaliação if (!string.IsNullOrEmpty(nomeAvaliacao) && !string.IsNullOrEmpty(numeroAvaliacao)) { lblInformacaoAluno.Text += " <b>" + nomeAvaliacao + ": </b>" + numeroAvaliacao; } } else { //Turma lblInformacaoAluno.Text += "<b>Ciclo de alfabetização: </b>" + turmaCodigo + "<br/>"; //Ano lblInformacaoAluno.Text += "<b>Ano: </b>" + cal_ano; } //Número de chamada int numeroChamada; Int32.TryParse(mtu_numeroChamada, out numeroChamada); if (numeroChamada > 0) { lblInformacaoAluno.Text += " <b>Nº chamada: </b>" + mtu_numeroChamada; } } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Erro ao tentar carregar as informações do aluno.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Salva dados do aluno /// </summary> private void Salvar(bool novo) { try { string msgErro; if (lblMessage.Text == string.Empty && !UCGridContato1.SalvaConteudoGrid(out msgErro)) { UCGridContato1._MensagemErro.Visible = false; lblMessage.Text = msgErro; return; } PES_Pessoa entityPessoa = new PES_Pessoa { pes_nome = txtNome.Text , cid_idNaturalidade = string.IsNullOrEmpty(_txtCid_id.Value) ? Guid.Empty : new Guid(_txtCid_id.Value) , pes_dataNascimento = string.IsNullOrEmpty(txtDataNasc.Text) ? new DateTime() : Convert.ToDateTime(txtDataNasc.Text) , pes_racaCor = UCComboRacaCor1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboRacaCor1._Combo.SelectedValue) , pes_sexo = UCComboSexo1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboSexo1._Combo.SelectedValue) , pes_estadoCivil = UCComboEstadoCivil1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboEstadoCivil1._Combo.SelectedValue) , pes_situacao = 1 , IsNew = true }; PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia { tde_id = new Guid(UCComboTipoDeficiencia1._Combo.SelectedValue) }; END_Cidade cid = new END_Cidade { cid_id = new Guid(_txtCid_idCertidao.Value) }; END_CidadeBO.GetEntity(cid); PES_CertidaoCivil entityCertidaoCivil = new PES_CertidaoCivil { ctc_tipo = 1 , cid_idCartorio = new Guid(_txtCid_idCertidao.Value) , unf_idCartorio = cid.unf_id , ctc_distritoCartorio = txtDistritoCertidao.Text , ctc_dataEmissao = string.IsNullOrEmpty(txtDataEmissao.Text) ? new DateTime() : Convert.ToDateTime(txtDataEmissao.Text) , ctc_folha = txtFolha.Text , ctc_livro = txtLivro.Text , ctc_numeroTermo = txtNumeroTermo.Text }; END_Endereco entityEndereco; string numero; string complemento; string msg; bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out entityEndereco, out numero, out complemento, out msg); if (!cadastraEndereco) { throw new ValidationException(msg); } DataTable dtEndereco = string.IsNullOrEmpty(entityEndereco.end_cep) ? new DataTable() : UCEnderecos1._VS_enderecos; ACA_Aluno entityAluno = new ACA_Aluno { ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id , alu_situacao = _ddlSituacao.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(_ddlSituacao.SelectedValue) , IsNew = true }; ACA_AlunoCurriculo entityAlunoCurriculo = new ACA_AlunoCurriculo { esc_id = UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[0] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[0]) , uni_id = UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[1] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[1]) , cur_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[0] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[0]) , crr_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[1] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[1]) , crp_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[2] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[2]) , alc_matriculaEstadual = txtMatriculaEstadual.Text , alc_situacao = _ddlSituacao.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(_ddlSituacao.SelectedValue) }; if (ACA_AlunoBO.Save_CadastroRapido(entityPessoa , entityPessoaDeficiencia , dtEndereco , UCGridContato1._VS_contatos , entityCertidaoCivil , txtMae.Text , txtCPFMae.Text , txtPai.Text , txtCPFPai.Text , rfvMatriculaEstadual.Enabled , entityAluno , entityAlunoCurriculo , null , null)) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "alu_id: " + entityAluno.alu_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Aluno incluído com sucesso."), UtilBO.TipoMensagem.Sucesso); Response.Redirect("CadastroRapido.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); string redirect = novo ? "~/Academico/Aluno/CadastroRapido.aspx" : "~/Academico/Aluno/Busca.aspx"; Response.Redirect(redirect, false); Context.ApplicationInstance.CompleteRequest(); } else { lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o aluno.", UtilBO.TipoMensagem.Erro); } } catch (ThreadAbortException) { } catch (ValidationException ex) { UCEnderecos1.AtualizaEnderecos(); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { UCEnderecos1.AtualizaEnderecos(); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { UCEnderecos1.AtualizaEnderecos(); lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { UCEnderecos1.AtualizaEnderecos(); ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o aluno.", UtilBO.TipoMensagem.Erro); } }
public PES_Pessoa SelectBy_Nome_Nascimento_Documento(string pes_nome, DateTime pes_dataNascimento, Guid?tdo_id = null, string psd_numero = null) { PES_Pessoa entity = new PES_Pessoa(); QuerySelectStoredProcedure qs = new QuerySelectStoredProcedure("NEW_PES_Pessoa_SelectBy_Nome_Nascimento_CPF", this._Banco); try { #region PARAMETROS Param = qs.NewParameter(); Param.DbType = DbType.AnsiString; Param.ParameterName = "@pes_nome"; Param.Size = 200; Param.Value = pes_nome; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.DateTime; Param.ParameterName = "@pes_dataNascimento"; Param.Value = pes_dataNascimento; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.Guid; Param.ParameterName = "@tdo_id"; Param.Size = 16; if (tdo_id != null) { Param.Value = tdo_id; } else { Param.Value = DBNull.Value; } qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.AnsiString; Param.ParameterName = "@psd_numero"; Param.Size = 50; if (!string.IsNullOrEmpty(psd_numero)) { Param.Value = psd_numero; } else { Param.Value = DBNull.Value; } qs.Parameters.Add(Param); #endregion qs.Execute(); if (qs.Return.Rows.Count > 0) { entity = this.DataRowToEntity(qs.Return.Rows[0], entity); } return(entity); } catch { throw; } finally { qs.Parameters.Clear(); } }
/// <summary> /// Insere e altera uma pessoa /// </summary> private void _Salvar() { try { string msgErro; bool mensagemEmBranco = String.IsNullOrEmpty(_lblMessage.Text.Trim()); if (mensagemEmBranco && !UCGridContato1.SalvaConteudoGrid(out msgErro)) { UCGridContato1._MensagemErro.Visible = false; _lblMessage.Text = msgErro; txtSelectedTab.Value = "2"; return; } if (mensagemEmBranco && !UCGridCertidaoCivil1.AtualizaViewState(out msgErro)) { _lblMessage.Text = msgErro; txtSelectedTab.Value = "3"; return; } if (!UCGridDocumento1.ValidaConteudoGrid(out msgErro)) { UCGridDocumento1._MensagemErro.Visible = false; _lblMessage.Text = UtilBO.GetErroMessage(msgErro, UtilBO.TipoMensagem.Alerta); txtSelectedTab.Value = "3"; return; } //Adiciona valores na entidade de pessoa PES_Pessoa entityPessoa = new PES_Pessoa { pes_id = UCCadastroPessoa1._VS_pes_id , pes_nome = UCCadastroPessoa1._txtNome.Text , pes_nome_abreviado = UCCadastroPessoa1._txtNomeAbreviado.Text , pes_nomeSocial = UCCadastroPessoa1._txtNomeSocial.Text , pai_idNacionalidade = UCCadastroPessoa1._ComboNacionalidade.SelectedValue == "-1" ? Guid.Empty : new Guid(UCCadastroPessoa1._ComboNacionalidade.SelectedValue) , pes_naturalizado = UCCadastroPessoa1._chkNaturalizado.Checked , cid_idNaturalidade = UCCadastroPessoa1._VS_cid_id , pes_dataNascimento = (String.IsNullOrEmpty(UCCadastroPessoa1._txtDataNasc.Text.Trim()) ? new DateTime() : Convert.ToDateTime(UCCadastroPessoa1._txtDataNasc.Text.Trim())) , pes_racaCor = UCCadastroPessoa1._ComboRacaCor.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboRacaCor.SelectedValue) , pes_sexo = UCCadastroPessoa1._ComboSexo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboSexo.SelectedValue) , pes_idFiliacaoPai = UCCadastroPessoa1._VS_pes_idFiliacaoPai , pes_idFiliacaoMae = UCCadastroPessoa1._VS_pes_idFiliacaoMae , tes_id = new Guid(UCCadastroPessoa1._ComboEscolaridade.SelectedValue) , pes_estadoCivil = UCCadastroPessoa1._ComboEstadoCivil.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboEstadoCivil.SelectedValue) , pes_situacao = 1 , IsNew = (UCCadastroPessoa1._VS_pes_id != Guid.Empty) ? false : true }; PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia { pes_id = _VS_pes_id , tde_id = new Guid(UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue) , IsNew = true }; CFG_Arquivo entArquivo = null; //armazema a imagem na entidade de pessoa if (!string.IsNullOrEmpty(UCCadastroPessoa1._iptFoto.PostedFile.FileName)) { string tam = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_MAX_FOTO_PESSOA); if (!string.IsNullOrEmpty(tam)) { if (UCCadastroPessoa1._iptFoto.PostedFile.ContentLength > Convert.ToInt32(tam) * 1000) { throw new ArgumentException("Foto é maior que o tamanho máximo permitido."); } } if (UCCadastroPessoa1._iptFoto.PostedFile.FileName.Substring(UCCadastroPessoa1._iptFoto.PostedFile.FileName.Length - 3, 3).ToUpper() != "JPG") { throw new ArgumentException("Foto tem que estar no formato \".jpg\"."); } entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(UCCadastroPessoa1._iptFoto.PostedFile); if (_VS_arq_idAntigo > 0) { // Se já existia foto e vai ser alterada, muda só o conteúdo. entArquivo.arq_id = _VS_arq_idAntigo; entArquivo.IsNew = false; } } if (_VS_arq_idAntigo > 0) { entityPessoa.arq_idFoto = _VS_arq_idAntigo; } //Chama método salvar da pessoa /* [OLD] if (PES_PessoaBO.Save(entityPessoa * , entityPessoaDeficiencia * , UCEnderecos1._VS_enderecos * , UCGridContato1._VS_contatos * , UCGridDocumento1.RetornaDocumentoSave() * , UCGridCertidaoCivil1._VS_certidoes * , _VS_pai_idAntigo * , _VS_cid_idAntigo * , _VS_pes_idPaiAntigo * , _VS_pes_idMaeAntigo * , _VS_tes_idAntigo * , _VS_tde_idAntigo * , ApplicationWEB.TipoImagensPermitidas * , ApplicationWEB.TamanhoMaximoArquivo * , entArquivo * , UCCadastroPessoa1._chbExcluirImagem.Checked * ) * )*/ END_Endereco entityEndereco = new END_Endereco(); string msg; DataTable dtEndereco; bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out dtEndereco, out msg); if (PES_PessoaBO.Save(entityPessoa , entityPessoaDeficiencia , dtEndereco , UCGridContato1._VS_contatos , UCGridDocumento1.RetornaDocumentoSave() , UCGridCertidaoCivil1._VS_certidoes , _VS_pai_idAntigo , _VS_cid_idAntigo , _VS_pes_idPaiAntigo , _VS_pes_idMaeAntigo , _VS_tes_idAntigo , _VS_tde_idAntigo , ApplicationWEB.TipoImagensPermitidas , ApplicationWEB.TamanhoMaximoArquivo , entArquivo , UCCadastroPessoa1._chbExcluirImagem.Checked ) ) { if (_VS_pes_id == Guid.Empty) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "pes_id: " + entityPessoa.pes_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa incluída com sucesso."), UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "pes_id: " + entityPessoa.pes_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa alterada com sucesso."), UtilBO.TipoMensagem.Sucesso); } Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoPessoa/Busca.aspx", false); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro); } } catch (CoreLibrary.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Verifica se o item existia e deixou de existir, exclui caso positivo. /// </summary> /// <param name="listaInseridos">Lista de itens inseridos</param> /// <param name="bancoCore">Transação do Core</param> /// <param name="bancoGestao">Transação do Gestão</param> /// <param name="cadastrado">Item a ser verificado</param> /// <param name="tra_idProprio"></param> private static void VerifcaItemCadastrado ( List <StructCadastro> listaInseridos , TalkDBTransaction bancoCore , TalkDBTransaction bancoGestao , StructCadastro cadastrado , Int32 tra_idProprio ) { if (!listaInseridos.Exists (p => p.entAlunoResp.tra_id == cadastrado.entAlunoResp.tra_id )) { // Se o tipo de responsável não existir mais, excluir. ACA_AlunoResponsavel entResp = cadastrado.entAlunoResp; PES_Pessoa entPessoa = new PES_Pessoa { pes_id = entResp.pes_id }; PES_PessoaBO.GetEntity(entPessoa, bancoCore); // Verificar documento. if (cadastrado.listPessoaDoc.Count > 0) { // Caso tiver documento para o responsável, será decrementado a integridade. foreach (PES_PessoaDocumento documento in cadastrado.listPessoaDoc) { DecrementaIntegridadeDocumentoPessoa(bancoCore, documento.tdo_id, entPessoa.pes_id); } } // Decrementa integridade da pessoa. DecrementaIntegridadePessoa(bancoCore, entPessoa); Delete(entResp, bancoGestao); } else { StructCadastro inserido = listaInseridos.Find (p => p.entAlunoResp.tra_id == cadastrado.entAlunoResp.tra_id ); if ((inserido.listPessoaDoc.Count < cadastrado.listPessoaDoc.Count) && (inserido.entAlunoResp.tra_id != tra_idProprio)) { // Se existia um documento e foi removido (quando for diferente do Próprio aluno), excluir o documento. ExcluirDocumentoReponsavel( cadastrado.listPessoaDoc , inserido.listPessoaDoc , cadastrado.entPessoa.pes_id , bancoCore ); } if (inserido.entPessoa.pes_id != cadastrado.entPessoa.pes_id) { // Mudou a pessoa - decrementa integridade da pessoa anterior. PES_Pessoa entPessoa = cadastrado.entPessoa; // Decrementa integridade da pessoa. DecrementaIntegridadePessoa(bancoCore, entPessoa); if ((!inserido.entPessoa.IsNew) && (!inserido.entAlunoResp.IsNew)) { // Se a pessoa não for nova, nem o responsável - incrementa // integridade da pessoa inserida. PES_PessoaBO.IncrementaIntegridade(inserido.entPessoa.pes_id, bancoCore); } } } }
/// <summary> /// Método utilizado via Web API para criação de Usuários /// OBSERVACAO: Este metodo faz uma busca por nome, data de nascimento e CPF /// para tentar vincular uma pessoa já existente com estes dados ao usuario /// que esta sendo criado, sendo que apenas nome e data de nascimento são requeridos. /// </summary> /// <param name="data">Parametros de entrada: Id Entidade, Id Grupo, ID Usuario, Nome, /// CPF, Data de nascimento, E-mail, Senha</param> /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param> public static void Create(UsuarioEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI) { #region [ Validação de campos obrigatórios ] if (data.ent_id == Guid.Empty) { throw new ValidationException("Id da entidade é obrigatório."); } if (string.IsNullOrWhiteSpace(data.usu_login)) { throw new ValidationException("Login do usuário é obrigatório."); } if (data.gru_id.Count() == 0) { throw new ValidationException("Ao menos um grupo deve ser informado."); } if (data.dataNascimento == new DateTime()) { throw new ValidationException("Data de nascimento é obrigatória."); } if (data.sexo != null && data.sexo > 2) { throw new ValidationException("Para o sexo informe: 1 - masculino ou 2 - feminino"); } #endregion SYS_Usuario entity = new SYS_Usuario { ent_id = data.ent_id , usu_login = data.usu_login }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity); // Verifica se o id do usuário enviado existe na base de dados. if (entity.IsNew) { Guid? tdo_id = null; bool savePessoaReturn = false; PES_Pessoa entityPessoa = null; //Se não for informado nome e data de nascimento não cria a pessoa if (!string.IsNullOrWhiteSpace(data.nome) && data.dataNascimento != null) { #region [Validações CPF] //Se CPF existir, realiza validações if (!string.IsNullOrWhiteSpace(data.CPF)) { if (UtilBO._ValidaCPF(data.CPF)) { //Recupera o tipo de documento CPF, utilizado para recuperar a pessoa string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); if (!string.IsNullOrEmpty(tipoDocCPF)) { tdo_id = Guid.Parse(tipoDocCPF); } } else { throw new ValidationException("CPF inválido."); } } #endregion //Recupera a pessoa entityPessoa = PES_PessoaBO.SelecionaPorNomeNascimentoDocumento(data.nome, data.dataNascimento, tdo_id, data.CPF); //Se pessoa não existir, faz o cadastro com as informações básicas if (entityPessoa.pes_id == Guid.Empty) { #region [Cria Pessoa] //Adiciona valores na entidade de pessoa entityPessoa.pes_id = Guid.Empty; entityPessoa.pes_nome = data.nome; entityPessoa.pes_sexo = data.sexo; entityPessoa.pes_nome_abreviado = string.Empty; entityPessoa.pai_idNacionalidade = Guid.Empty; entityPessoa.pes_naturalizado = false; entityPessoa.cid_idNaturalidade = Guid.Empty; entityPessoa.pes_dataNascimento = (String.IsNullOrEmpty(data.dataNascimento.ToString()) ? new DateTime() : Convert.ToDateTime(data.dataNascimento.ToString())); entityPessoa.pes_racaCor = Convert.ToByte(null); entityPessoa.pes_idFiliacaoPai = Guid.Empty; entityPessoa.pes_idFiliacaoMae = Guid.Empty; entityPessoa.tes_id = Guid.Empty; entityPessoa.pes_estadoCivil = Convert.ToByte(null); entityPessoa.pes_situacao = 1; PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia { pes_id = Guid.Empty, tde_id = Guid.Empty, IsNew = true }; savePessoaReturn = PES_PessoaBO.Save(entityPessoa , entityPessoaDeficiencia , new DataTable() //dtEndereco , new DataTable() //dtContato , RetornaDocumento(data.CPF) //dtDocumento , new DataTable() //dtCertidao , Guid.Empty //pai_idAntigo , Guid.Empty //cid_idAntigo , Guid.Empty //pes_idPaiAntigo , Guid.Empty //pes_idMaeAntigo , Guid.Empty //tes_idAntigo , Guid.Empty //tde_idAntigo , null //arquivosPermitidos , 0 //tamanhoMaximoKB , null //entFoto , false //ExcluirImagemAtual ); #endregion } } #region [ Cria usuário ] entity.ent_id = data.ent_id; entity.usu_id = Guid.Empty; entity.usu_login = data.usu_login; entity.usu_email = string.IsNullOrEmpty(data.email) ? string.Empty : data.email; entity.usu_senha = string.IsNullOrEmpty(data.senha) ? string.Empty : data.senha; //Se foi recuperado ou criado uma pessoa, vincula o pes_id if (entityPessoa != null) { entity.pes_id = entityPessoa.pes_id; } entity.usu_criptografia = Convert.ToByte(eCriptografa.TripleDES); entity.usu_situacao = 1; entity.usu_dataAlteracao = DateTime.Now; entity.usu_dataCriacao = DateTime.Now; entity.usu_dominio = string.Empty; entity.usu_integracaoAD = (byte)SYS_UsuarioBO.eIntegracaoAD.NaoIntegrado; entity.IsNew = true; SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos> grupos = new SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>(); foreach (Guid gruId in data.gru_id) { SYS_UsuarioBO.AddTmpGrupo(gruId, grupos, 1); } SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> > entidadeUA = new SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> >(); SYS_UsuarioBO.Save(entity, grupos, entidadeUA, false, data.nome, string.Empty, string.Empty, string.Empty, null); #endregion } else { throw new ValidationException("Usuário já existe."); } #region [ Log de ação] LOG_UsuarioAPIBO.Save ( new LOG_UsuarioAPI { usu_id = entity.usu_id , uap_id = entityUsuarioAPI.uap_id , lua_dataHora = DateTime.Now , lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.CriacaoUsuario } ); #endregion }
/// <summary> /// Salva no banco os dados do item passado por parâmetro, retorna o item inserido. /// </summary> /// <param name="tra_idPrincipal">ID do tipo de responsável</param> /// <param name="entAluno">Aluno</param> /// <param name="item">Item a ser inserido</param> /// <param name="tra_idProprio">Id padrão do tipo de responsável "O próprio"</param> /// <param name="bancoCore">Transação do banco do Core</param> /// <param name="tra_idMae">Id padrão do tipo de responsável "Mãe"</param> /// <param name="tra_idPai">Id padrão do tipo de responsável "Pai"</param> /// <param name="bancoGestao">Transação do banco do Gestão</param> /// <param name="tdo_idCPF">ID padrão do tipo de documento CPF</param> /// <param name="tdo_idRG">ID padrão do tipo de documento RG</param> /// <param name="tdo_idNis">ID padrão do tipo de documento NIS</param> /// <param name="pes_idMae">ref - id da Mãe do aluno</param> /// <param name="pes_idPai">ref - id do Pai do aluno</param> /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param> /// <param name="ListValidacoesDoc"></param> /// <param name="ListSalvar">Lista de responsaveis que estao sendo salvos, para nao considerar o mesmo documento</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <returns>Os dados inseridos</returns> private static StructCadastro SalvarResponsavel ( Int32 tra_idPrincipal , ACA_Aluno entAluno , StructCadastro item , int tra_idProprio , TalkDBTransaction bancoCore , int tra_idMae , int tra_idPai , TalkDBTransaction bancoGestao , Guid tdo_idCPF , Guid tdo_idRG , Guid tdo_idNis , ref Guid pes_idMae , ref Guid pes_idPai , bool salvarMaiusculo , ref List <string> ListValidacoesDoc , List <StructCadastro> ListSalvar , Guid ent_id ) { // Salvar os responsáveis. ACA_AlunoResponsavel entResp = item.entAlunoResp; PES_Pessoa entPessoa = item.entPessoa; List <PES_PessoaDocumento> lisDocResp; entResp.alu_id = entAluno.alu_id; if (entResp.tra_id == tra_idProprio) { // Se for o próprio, seta o id da Pessoa = o Id da pessoa do aluno. entResp.pes_id = entAluno.pes_id; // Salvar a integridade da pessoa. if (entResp.IsNew) { PES_PessoaBO.IncrementaIntegridade(entAluno.pes_id, bancoCore); } } else { if ((salvarMaiusculo) && (!String.IsNullOrEmpty(entPessoa.pes_nome))) { entPessoa.pes_nome = entPessoa.pes_nome.ToUpper(); } // Só salva a pessoa se o nome estiver preenchido. if (!String.IsNullOrEmpty(entPessoa.pes_nome)) { // Faz a verificação caso exista a pessoa com o CPF passado por parâmetro. Guid responsavel = Valida_Responsavel_CPF(item.listPessoaDoc, entResp.tra_id, ref ListValidacoesDoc, ent_id, entPessoa.pes_id, ListSalvar); if (responsavel == new Guid()) { // Se não existir, salva a entidade pessoa. PES_PessoaBO.Save(entPessoa, bancoCore); } else { entPessoa.pes_id = responsavel; entPessoa.IsNew = false; #region Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome) //Atualiza apenas o nome do responsável, recebendo todas as informações ja cadastradas PES_Pessoa pesAux = new PES_Pessoa { pes_id = entPessoa.pes_id }; PES_PessoaBO.GetEntity(pesAux); pesAux.pes_nome = entPessoa.pes_nome; //// movimentado os valores por que esses campos não estavam sendo gravados pesAux.pes_dataNascimento = entPessoa.pes_dataNascimento; pesAux.pes_estadoCivil = entPessoa.pes_estadoCivil; pesAux.tes_id = entPessoa.tes_id; //// entPessoa = pesAux; #endregion Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome) // Se for matricula if (entAluno.IsNew) { #region Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação) //Faz verificação se existe as informações referente a profissão e situação do responsável byte situacao_responsavel; string profissao_responsavel; RetornaAlunoResponsavel_Situacao_Profissao(entPessoa.pes_id, out situacao_responsavel, out profissao_responsavel); if (situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido)) { entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido); } else { entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Ativo); } entResp.alr_profissao = profissao_responsavel; #endregion Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação) } else { // Caso já exista o responsável, será atualizado os campos: situção (Quando for falecido = 4) e o campo profissão. AtualizaResponsavel_Profissao_Situacao(entPessoa.pes_id, entResp.alr_profissao, entResp.alr_empresa, entResp.alr_situacao, bancoGestao); } PES_PessoaBO.Save(entPessoa, bancoCore); } } else { entPessoa.pes_id = Guid.Empty; } if ((entPessoa.IsNew) || (entResp.IsNew)) { PES_PessoaBO.IncrementaIntegridade(entPessoa.pes_id, bancoCore); } entResp.pes_id = entPessoa.pes_id; // Seta o Id da mãe e do Pai para alterar na pessoa do aluno. if (entResp.tra_id == tra_idMae) { pes_idMae = entPessoa.pes_id; } else if (entResp.tra_id == tra_idPai) { pes_idPai = entPessoa.pes_id; } } // Seta responsável principal. entResp.alr_principal = (entResp.tra_id == tra_idPrincipal); Save(entResp, bancoGestao); if (entResp.tra_id != tra_idProprio) { // Salva os documentos dos responsáveis lisDocResp = SalvaDocumentoResponsavel( item.listPessoaDoc , entResp.pes_id , tra_idProprio , entResp.tra_id , tdo_idCPF , tdo_idRG , tdo_idNis , bancoCore , ref ListValidacoesDoc); } else { lisDocResp = new List <PES_PessoaDocumento>(); } // Retorna item inserido. return(new StructCadastro { entAlunoResp = entResp, entPessoa = entPessoa, listPessoaDoc = lisDocResp }); }
/// <summary> /// Método utilizado via Web API para alteração de Usuários /// </summary> /// <param name="data">Parametros de entrada: Id Entidade, Id Grupo, ID Usuario, Nome, /// CPF, Data de nascimento, E-mail, Senha</param> /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param> public static void Update(UsuarioEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI) { #region [ Validação de campos obrigatórios ] if (data.ent_id == Guid.Empty || string.IsNullOrWhiteSpace(data.usu_login)) { throw new ValidationException("Id da entidade e login do usuário são obrigatórios."); } #endregion SYS_Usuario entity = new SYS_Usuario { ent_id = data.ent_id , usu_login = data.usu_login }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity); PES_Pessoa entityPessoa = null; if (!entity.IsNew) { //Validação de usuário padrão do sistema if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema) { throw new ValidationException("Não é possível alterar dados do usuário padrão do sistema."); } //Se o usuário recuperado não possuir pessoa, pula os passos de update de Pessoa if (entity.pes_id != Guid.Empty) { #region [Pessoa] entityPessoa = new PES_Pessoa { pes_id = entity.pes_id }; PES_PessoaBO.GetEntity(entityPessoa); if (!string.IsNullOrWhiteSpace(data.nome) && entityPessoa.pes_nome.ToLower() != data.nome.ToLower()) { entityPessoa.pes_nome = data.nome; } if (data.dataNascimento != new DateTime() && entityPessoa.pes_dataNascimento != data.dataNascimento) { entityPessoa.pes_dataNascimento = data.dataNascimento; } if (data.sexo == 1 || data.sexo == 2) { entityPessoa.pes_sexo = data.sexo; } entityPessoa.pes_dataAlteracao = DateTime.Now; #region [Validações CPF] Guid?tdo_id = null; bool criarCPF = false; //Recupera os documentos da pessoa DataTable documentosPessoa = PES_PessoaDocumentoBO.GetSelect(entityPessoa.pes_id, false, 1, 1); //Se CPF existir, realiza validações if (!string.IsNullOrWhiteSpace(data.CPF)) { if (UtilBO._ValidaCPF(data.CPF)) { //Recupera o tipo de documento CPF string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); if (!string.IsNullOrEmpty(tipoDocCPF)) { tdo_id = Guid.Parse(tipoDocCPF); criarCPF = true; } } else { throw new ValidationException("CPF inválido."); } if (documentosPessoa.Rows.Count > 0) { //Recupera o indice da linha que contém o documento do tipo CPF var indiceRowCPF = documentosPessoa.AsEnumerable() .Select((row, index) => new { row, index }) .Where(item => item.row.Field <Guid>("tdo_id") == tdo_id) .Select(item => item.index).ToArray(); //Se a pessoa possui um documento do tipo CPF, verifica se precisa alterar if (indiceRowCPF.Count() > 0) { if (documentosPessoa.Rows[indiceRowCPF[0]]["numero"].ToString() != data.CPF) { documentosPessoa.Rows[indiceRowCPF[0]]["numero"] = data.CPF; } } else { //Pessoa ainda não possue CPF, nesse caso cria usando o datatable recuperado DataRow rowDoc = documentosPessoa.NewRow(); rowDoc["tdo_id"] = tdo_id; rowDoc["unf_idEmissao"] = Guid.Empty.ToString(); rowDoc["unf_idAntigo"] = Guid.Empty.ToString(); rowDoc["numero"] = data.CPF; rowDoc["dataemissao"] = string.Empty; rowDoc["orgaoemissao"] = string.Empty; rowDoc["info"] = string.Empty; documentosPessoa.Rows.Add(rowDoc); } criarCPF = false; } if (criarCPF) { if (tdo_id != null) { //Cria o datatable na estrutura necessária com o CPF enviado documentosPessoa = RetornaDocumento(data.CPF); } } } #endregion PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia { pes_id = Guid.Empty, tde_id = Guid.Empty, IsNew = true }; PES_PessoaBO.Save(entityPessoa , entityPessoaDeficiencia , new DataTable() //dtEndereco , new DataTable() //dtContato , documentosPessoa //dtDocumento , new DataTable() //dtCertidao , Guid.Empty //pai_idAntigo , Guid.Empty //cid_idAntigo , Guid.Empty //pes_idPaiAntigo , Guid.Empty //pes_idMaeAntigo , Guid.Empty //tes_idAntigo , Guid.Empty //tde_idAntigo , null //arquivosPermitidos , 0 //tamanhoMaximoKB , null //entFoto , false //ExcluirImagemAtual ); #endregion } #region [Usuário] //entity.usu_login = data.usu_login; if (!string.IsNullOrWhiteSpace(data.email) && entity.usu_email != data.email) { entity.usu_email = data.email; } //Se não vier senha, seta a senha da entidade como vazia para o método do sistema //não encriptar novamente o que já estava encriptado if (string.IsNullOrWhiteSpace(data.senha)) { entity.usu_senha = string.Empty; } else { entity.usu_senha = data.senha; } if (entityPessoa != null) { entity.pes_id = entityPessoa.pes_id; } entity.usu_criptografia = Convert.ToByte(eCriptografa.TripleDES); entity.usu_dataAlteracao = DateTime.Now; SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos> grupos = new SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>(); SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> > entidadeUA = new SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> >(); //Se vier grupos cria a lista com base nesses grupos if (data.gru_id.Count() > 0) { foreach (Guid gruId in data.gru_id) { SYS_UsuarioBO.AddTmpGrupo(gruId, grupos, 1); } } else { //Senão, recupera os grupos do usuário para enviar ao método salvar SYS_UsuarioBO.GetGruposUsuario(entity.usu_id, grupos, entidadeUA); } SYS_UsuarioBO.Save(entity, grupos, entidadeUA, false, data.nome, string.Empty, string.Empty, string.Empty, null); #endregion } else { throw new ValidationException("Usuário não existe."); } #region [ Log de ação] LOG_UsuarioAPIBO.Save ( new LOG_UsuarioAPI { usu_id = entity.usu_id , uap_id = entityUsuarioAPI.uap_id , lua_dataHora = DateTime.Now , lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.AlteracaoUsuario } ); #endregion }
/// <summary> /// Retorna a estrutura utilizada para cadastrar, com os dados do USercontrol. /// </summary> /// <param name="tra_idPrincipal">id do tipo de respnsável selecionado na tela.</param> /// <param name="item">Estrutura de cadastro.</param> /// <returns>Se tiver o responsável cadastrado</returns> public bool RetornaStructCadastro(Int32 tra_idPrincipal, out ACA_AlunoResponsavelBO.StructCadastro item) { //Faz a validação dos documentos do responsável. if (ValidaCampoDocumento()) { throw new ValidationException(MsgValidacaoDocumento()); } DateTime dataNascimento = new DateTime(); if (!String.IsNullOrEmpty(txtDataNasc.Text.Trim())) { dataNascimento = Convert.ToDateTime(txtDataNasc.Text.Trim()); } // Dados da pessoa. PES_Pessoa entPessoa = new PES_Pessoa { pes_id = VS_Pes_ID }; if (VS_Pes_ID != Guid.Empty) { PES_PessoaBO.GetEntity(entPessoa); } entPessoa.pes_nome = txtNome.Text; entPessoa.pes_dataNascimento = dataNascimento; entPessoa.pes_estadoCivil = Convert.ToByte( (UCComboEstadoCivil1._Combo.SelectedValue.Equals("-1") ? "0" : UCComboEstadoCivil1._Combo.SelectedValue)); if (VS_TipoResponsavel == TipoResponsavel.Pai) { entPessoa.pes_sexo = 1; } else { if (VS_TipoResponsavel == TipoResponsavel.Mae) { entPessoa.pes_sexo = 2; } else { entPessoa.pes_sexo = Convert.ToByte((UCComboSexo1._Combo.SelectedValue.Equals("-1") ? "0" : UCComboSexo1._Combo.SelectedValue)); } } entPessoa.tes_id = UCComboTipoEscolaridade1.Valor; entPessoa.pes_situacao = 1; Int32 tra_id = RetornaTraID(tra_idPrincipal); ACA_AlunoResponsavel entRespnsavel = new ACA_AlunoResponsavel { alr_id = VS_Alr_ID , alr_apenasFiliacao = chkApenasFiliacao.Checked , alr_moraComAluno = chkMoraComAluno.Checked , alr_constaCertidaoNascimento = !chkNaoConstaCertidaoNasc.Checked , alr_omitidoFormaLei = chkOmitidoFormaLei.Checked , tra_id = tra_id , alr_principal = (tra_id == tra_idPrincipal) , alr_situacao = (byte)(chkSituacaoFalecido.Checked ? ACA_AlunoResponsavelSituacao.Falecido : ACA_AlunoResponsavelSituacao.Ativo) , alr_profissao = txtProfissao.Text , IsNew = VS_Alr_ID <= 0 }; List <PES_PessoaDocumento> listDocResp; listDocResp = InserirDocumentoResponsavel(entPessoa.pes_id, txtCPFResponsavel.Text, txtRGResponsavel.Text, txtNis.Text.Trim()); item = new ACA_AlunoResponsavelBO.StructCadastro(); item.entPessoa = entPessoa; item.entAlunoResp = entRespnsavel; item.listPessoaDoc = listDocResp; bool naoConstaCertidao = false; if (VS_TipoResponsavel == TipoResponsavel.Mae || VS_TipoResponsavel == TipoResponsavel.Pai) { naoConstaCertidao = chkNaoConstaCertidaoNasc.Checked; } // Se o nome estiver preenchido, ou pelo menos um dos campos não consta na certidão //ou omitido na forma da lei estiverem preenchidos, ou se for responsável o próprio, retorna true. return((!String.IsNullOrEmpty(entPessoa.pes_nome) || naoConstaCertidao || chkOmitidoFormaLei.Checked) || (tra_id == TipoResponsavelAlunoParametro.tra_idProprio(__SessionWEB.__UsuarioWEB.Usuario.ent_id))); }
private void _CarregarPessoa() { try { //Carrega entidade de pessoa PES_Pessoa pes = new PES_Pessoa { pes_id = _VS_pes_id }; PES_PessoaBO.GetEntity(pes); _VS_arq_idAntigo = pes.arq_idFoto; //_VS_pes_foto = pes.pes_foto; UCCadastroPessoa1._imgFoto.ImageUrl = "~/Imagem.ashx?id=" + pes.arq_idFoto; CFG_Arquivo entArquivo = new CFG_Arquivo { arq_id = pes.arq_idFoto }; CFG_ArquivoBO.GetEntity(entArquivo); //Exibe imagem caso exista if (!entArquivo.IsNew && entArquivo.arq_data.Length > 1) { System.Drawing.Image img; using (MemoryStream ms = new MemoryStream(entArquivo.arq_data, 0, entArquivo.arq_data.Length)) { ms.Write(entArquivo.arq_data, 0, entArquivo.arq_data.Length); img = System.Drawing.Image.FromStream(ms, true); } int larguraMaxima = 200; int alturaMaxima = 200; int alt; int lar; decimal proporcaoOriginal = (decimal)((img.Height * 100) / img.Width) / 100; if (proporcaoOriginal > 1) { proporcaoOriginal = (decimal)((img.Width * 100) / img.Height) / 100; alt = alturaMaxima; lar = Convert.ToInt32(alturaMaxima * proporcaoOriginal); } else { lar = larguraMaxima; alt = Convert.ToInt32(larguraMaxima * proporcaoOriginal); } UCCadastroPessoa1._imgFoto.Height = alt; UCCadastroPessoa1._imgFoto.Width = lar; UCCadastroPessoa1._imgFoto.Visible = true; UCCadastroPessoa1._chbExcluirImagem.Visible = true; UCCadastroPessoa1._chbExcluirImagem.Checked = false; } else { UCCadastroPessoa1._imgFoto.Visible = false; UCCadastroPessoa1._chbExcluirImagem.Visible = false; } UCCadastroPessoa1._VS_pes_id = pes.pes_id; UCCadastroPessoa1._txtNome.Text = pes.pes_nome; UCCadastroPessoa1._txtNomeAbreviado.Text = (!string.IsNullOrEmpty(pes.pes_nome_abreviado) ? pes.pes_nome_abreviado : string.Empty); //Exibe cidade naturalidade da pessoa if (pes.cid_idNaturalidade != Guid.Empty) { END_Cidade cid = new END_Cidade { cid_id = pes.cid_idNaturalidade }; END_CidadeBO.GetEntity(cid); UCCadastroPessoa1._VS_cid_id = pes.cid_idNaturalidade; UCCadastroPessoa1._txtNaturalidade.Text = cid.cid_nome; } //Exibe dados gerias da pessoa UCCadastroPessoa1._txtDataNasc.Text = (pes.pes_dataNascimento != new DateTime()) ? pes.pes_dataNascimento.ToString("dd/MM/yyyy") : string.Empty; UCCadastroPessoa1._ComboEstadoCivil.SelectedValue = (pes.pes_estadoCivil > 0 ? pes.pes_estadoCivil.ToString() : "-1"); UCCadastroPessoa1._ComboSexo.SelectedValue = (pes.pes_sexo > 0) ? pes.pes_sexo.ToString() : "-1"; UCCadastroPessoa1._ComboNacionalidade.SelectedValue = (pes.pai_idNacionalidade != Guid.Empty ? pes.pai_idNacionalidade.ToString() : Guid.Empty.ToString()); UCCadastroPessoa1._chkNaturalizado.Checked = pes.pes_naturalizado; UCCadastroPessoa1._ComboRacaCor.SelectedValue = (pes.pes_racaCor > 0 ? pes.pes_racaCor.ToString() : "-1"); UCCadastroPessoa1._VS_pes_idFiliacaoPai = pes.pes_idFiliacaoPai; UCCadastroPessoa1._VS_pes_idFiliacaoMae = pes.pes_idFiliacaoMae; UCCadastroPessoa1._ComboEscolaridade.SelectedValue = (pes.tes_id != Guid.Empty ? pes.tes_id.ToString() : Guid.Empty.ToString()); //Carregar tipo de deficiência cadastrada para a pessoa DataTable dtPessoaDeficiencia = PES_PessoaDeficienciaBO.GetSelect(_VS_pes_id, false, 1, 1); UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue = dtPessoaDeficiencia.Rows.Count > 0 ? dtPessoaDeficiencia.Rows[0]["tde_id"].ToString() : Guid.Empty.ToString(); //Armazena os os id's antigos em ViewState _VS_pai_idAntigo = pes.pai_idNacionalidade; _VS_cid_idAntigo = pes.cid_idNaturalidade; _VS_pes_idPaiAntigo = pes.pes_idFiliacaoPai; _VS_pes_idMaeAntigo = pes.pes_idFiliacaoMae; _VS_tes_idAntigo = pes.tes_id; _VS_tde_idAntigo = dtPessoaDeficiencia.Rows.Count > 0 ? new Guid(dtPessoaDeficiencia.Rows[0]["tde_id"].ToString()) : Guid.Empty; //Exibe dados do pai da pessoa PES_Pessoa pesFiliacaoPai = new PES_Pessoa { pes_id = pes.pes_idFiliacaoPai }; PES_PessoaBO.GetEntity(pesFiliacaoPai); UCCadastroPessoa1._txtPai.Text = pesFiliacaoPai.pes_nome; //Exibe dados da mae da pessoa PES_Pessoa pesFiliacaoMae = new PES_Pessoa { pes_id = pes.pes_idFiliacaoMae }; PES_PessoaBO.GetEntity(pesFiliacaoMae); UCCadastroPessoa1._txtMae.Text = pesFiliacaoMae.pes_nome; //Carrega dados dos endereços da pessoa DataTable dtEndereco = PES_PessoaEnderecoBO.GetSelect(pes.pes_id, false, 1, 1); if (dtEndereco.Rows.Count == 0) { dtEndereco = null; } UCEnderecos1.CarregarEnderecosBanco(dtEndereco); //Carrega dados dos contatos da pessoa DataTable dtContato = PES_PessoaContatoBO.GetSelect(pes.pes_id, false, 1, 1); if (dtContato.Rows.Count == 0) { dtContato = null; } UCGridContato1._VS_contatos = dtContato; UCGridContato1._CarregarContato(); //Carrega dados dos documentos da pessoa UCGridDocumento1._CarregarDocumento(pes.pes_id); //Carrega dados da certidões da pessoa DataTable dtCertidao = PES_CertidaoCivilBO.GetSelect(pes.pes_id, false, 1, 1); if (dtCertidao.Rows.Count == 0) { dtCertidao = null; } UCGridCertidaoCivil1._VS_certidoes = dtCertidao; UCGridCertidaoCivil1._CarregarCertidaoCivil(); UCCadastroPessoa1._updCadastroPessoas.Update(); UCGridContato1._updGridContatos.Update(); UCGridDocumento1._updGridDocumentos.Update(); UCGridCertidaoCivil1._updGridCertidaoCivil.Update(); _btnSalvar.Visible = true; _updBotoes.Update(); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro); } }