protected void cvParticipante_ServerValidate(object source, ServerValidateEventArgs args) { if (VS_alu_id > 0) { List <ACA_AlunoResponsavel> lista = ACA_AlunoResponsavelBO.SelecionaResponsaveisPorAluno(VS_alu_id); bool existeTipoResponsavel = false; switch (Convert.ToInt32(rblParticipante.SelectedValue)) { case 1: existeTipoResponsavel = (from alr in lista where alr.tra_id == TipoResponsavelAlunoParametro.tra_idPai(__SessionWEB.__UsuarioWEB.Usuario.ent_id) select alr).Count() > 0; break; case 2: existeTipoResponsavel = (from alr in lista where alr.tra_id == TipoResponsavelAlunoParametro.tra_idMae(__SessionWEB.__UsuarioWEB.Usuario.ent_id) select alr).Count() > 0; break; case 3: existeTipoResponsavel = (from alr in lista where alr.alr_principal select alr).Count() > 0; break; } args.IsValid = existeTipoResponsavel; } else { args.IsValid = true; } }
/// <summary> /// Retorna o campo tra_id de acordo com o tipo de responsável do UserControl. Se /// for pai ou mãe retorna os ids que estiverem no parâmetro, se não, retorna o ID /// passado (porque será "outro"). /// </summary> /// <param name="tra_idPrincipal">ID selecionado no combo da tela.</param> /// <returns>tra_id</returns> private int RetornaTraID(int tra_idPrincipal) { switch (VS_TipoResponsavel) { case TipoResponsavel.Mae: { return(TipoResponsavelAlunoParametro.tra_idMae(__SessionWEB.__UsuarioWEB.Usuario.ent_id)); } case TipoResponsavel.Pai: { return(TipoResponsavelAlunoParametro.tra_idPai(__SessionWEB.__UsuarioWEB.Usuario.ent_id)); } default: { return(tra_idPrincipal); } } }
/// <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))); }