grid de dados feito em JavaScript que exibe alguns dados e possui 2 controles do
tipo linkButton. Um botão "Sim" e outro Botão "Não". O problema está nesse botão
o formulário é ele seja salvo normalmente. Ou seja, quando ele clicar no linkButton
"Não", a tela do JavaScript é fechada(A aplicação já faz isso.) e ele volta para o
anteriormente. Nesse passo, quando ele clica no botão "Salvar" do formulário
o grid em JavaScript não pode ser chamado novamente. Ele está sendo chamado
toda vez que clica no botão salvar. Não estou conseguindo tratar esse clique no
Botão Salvar para salvar direto sem chamar o grid em JavaScript. No código abaixo estou
protected void btnSalvar_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
//Validações preliminares
DateTime nascimento;
LinkButton linkButtonS;
LinkButton linkButtonN;
if (ddlRacaCor.SelectedValue == RacaCor.INDIGENA)
{
if (ddlEtnia.SelectedValue == "-1")
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Favor informar a etnia.');</script>");
return;
}
}
try
{
nascimento = DateTime.Parse(tbxDataNascimento.Text);
}
catch (InvalidCastException)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Data de nascimento inválida.');</script>");
return;
}
if ((tbxTelefone.Text == "00000000") || (tbxTelefone.Text == "11111111") || (tbxTelefone.Text == "22222222") || (tbxTelefone.Text == "33333333") || (tbxTelefone.Text == "44444444")
|| (tbxTelefone.Text == "55555555") || (tbxTelefone.Text == "66666666") || (tbxTelefone.Text == "77777777") || (tbxTelefone.Text == "88888888") || (tbxTelefone.Text == "99999999")
|| (tbxTelefone.Text == "12345678"))
{
ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Telefone Inválido.');", true);
return;
}
if (new DateTime(DateTime.Today.Subtract(nascimento).Ticks).Year - 1 > 130)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A idade do paciente não pode ser maior que 130 anos.');</script>");
return;
}
if (new DateTime(DateTime.Today.Subtract(nascimento).Ticks).Year - 1 > 17 && tbxCPF.Text.Trim() == ""
&& (int.Parse(ddlMotivo.SelectedValue) != MotivoCadastro.ESTABELECIMENTO_PRISIONAL && int.Parse(ddlMotivo.SelectedValue) != MotivoCadastro.PROGRAMA_DE_VOLTA_PARA_CASA
&& int.Parse(ddlMotivo.SelectedValue) != MotivoCadastro.QUANTIFICAÇÃO_CARGA_VIRAL_HIV &&
this.rbtnListNacionalidade.SelectedValue != "E"))
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Paciente maior que 16 anos, favor preencher com um CPF válido.');</script>");
return;
}
if (tbxDataNaturalizacao.Text.Trim() != string.Empty && nascimento.CompareTo(DateTime.Parse(tbxDataNaturalizacao.Text)) > 0)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A data de naturalização não pode ser anterior a data de nascimento.');</script>");
return;
}
if (tbxDataEntradaBrasil.Text.Trim() != string.Empty && nascimento.CompareTo(DateTime.Parse(tbxDataEntradaBrasil.Text)) > 0)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A data de entrada no Brasil não pode ser anterior a data de nascimento.');</script>");
return;
}
if (tbxCPF.Text.Trim() != "" && !CPFValido(tbxCPF.Text.ToString()))
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('CPF inválido.');</script>");
return;
}
if (tbxDDD.Text.Trim() != "" && tbxTelefone.Text.Trim() == "")
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Favor preencher o campo telefone.');</script>");
return;
}
if (tbxTituloEleitor.Text != "" && tbxSecaoEleitoral.Text.Trim() == "" && tbxZonaEleitoral.Text.Trim() == "")
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Favor preencher todos os campos referentes ao titulo de eleitor.');</script>");
return;
}
if (tbxDataEmissaoCertidao.Text.Trim() != "")
{
if (nascimento.CompareTo(DateTime.Parse(tbxDataEmissaoCertidao.Text)) > 0)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A data de emissão da certidão não pode ser anterior a data de nascimento.');</script>");
return;
}
}
if (tbxDataEmissaoCTPS.Text.Trim() != "")
{
if (nascimento.CompareTo(DateTime.Parse(tbxDataEmissaoCTPS.Text)) > 0)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A data de emissão da CTPS não pode ser anterior à data de nascimento.');</script>");
return;
}
}
if (tbxDataEmissaoIdentidade.Text.Trim() != "")
{
if (nascimento.CompareTo(DateTime.Parse(tbxDataEmissaoIdentidade.Text)) > 0)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('A data de emissão do RG não pode ser anterior à data de nascimento.');</script>");
return;
}
}
if (tbxNomeCartorio.Text.Trim() != "")
{
Regex reg = new Regex(@"^([a-z]|\s)*$", RegexOptions.IgnoreCase);
if (!reg.IsMatch(tbxNomeCartorio.Text))
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Nome do cartório deve contar apenas letras.');</script>");
return;
}
}
//====================================================================
Vida.Model.Logradouro log = LogradouroBLL.LocalizarPorCep(long.Parse(tbxCEP.Text));
if (log != null)
{
if (!PossuiPermissaoAlterarMunicipio())
{
if (!EnderecoPertenceMunicipio(log))
{
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "alerta", "alert('Este CEP não pertence ao seu município');", true);
return;
}
}
}
else
{
ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Logradouro não encontrado.');document.getElementById('ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_imgBuscarCEP').focus();", true);
return;
}
IVidaServiceFacade ivida = Factory.GetInstance<IVidaServiceFacade>();
IPaciente ipaciente = Factory.GetInstance<IPaciente>();
Vida.Model.Paciente paciente = null;
ControlePaciente controlePaciente = null;
Endereco endereco = null;
//Edição de paciente
if (Request.QueryString["codigo"] != null && Session["PacientesMS"] == null)
//Se for uma atualização de um registro que existe na base do Vida+
//if (ViewState["codigoPaciente"] != null)
{
IList<Vida.Model.Paciente> p = PacienteBLL.Pesquisar02(tbxNomePaciente.Text.Trim().ToUpper(), tbxNomeMae.Text.Trim().ToUpper(), DateTime.Parse(tbxDataNascimento.Text)).Where(x => x.Codigo != Request.QueryString["codigo"]).ToList();
gdvPacientes.DataSource = p;
gdvPacientes.DataBind();
if (p.Count > 0)
{
//if(IsPostBack)
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>CallColorBox();</script>");
//if (Request["url_retorno"] != null)
// ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Dados salvos com sucesso!');window.location='" + HelperRedirector.DecodeURL(Request["url_retorno"].ToString()) + p[0].Codigo + "';</script>");
//else
// ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Já existe um cadastro igual. Deseja unificar?.');window.location='FormPaciente.aspx?codigo=" + p[0].Codigo + "';</script>");
//this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Já existe um cadastro igual. Deseja unificar?')", true);
//Session.Remove("PacientesMS");
return;
}
//string codigoPaciente = (string)ViewState["codigoPaciente"];
string codigoPaciente = Request.QueryString["codigo"];
paciente = PacienteBLL.PesquisarCompleto(codigoPaciente);
controlePaciente = ControlePacienteBLL.PesquisarPorPaciente(paciente); //Factory.GetInstance<IPaciente>().BuscaControlePaciente<ControlePaciente>(paciente.Codigo);
if (controlePaciente == null)
controlePaciente = new ControlePaciente();
controlePaciente.Controle = 'A';
controlePaciente.DataOperacao = DateTime.Now;
paciente.Nome = tbxNomePaciente.Text.ToUpper();
paciente.NomeSocial = tbxNomeSocial.Text.ToUpper();
if (chkMaeIgnorada.Checked != true)
{
paciente.NomeMae = tbxNomeMae.Text.ToUpper();
}
else
{
paciente.NomeMae = "IGNORADA";
}
paciente.DataNascimento = DateTime.Parse(tbxDataNascimento.Text);
if (chkPaiIgnorado.Checked != true)
{
paciente.NomePai = tbxNomePai.Text.ToUpper();
}
else
{
paciente.NomePai = "IGNORADO";
}
paciente.Sexo = char.Parse(rbtnListSexo.SelectedValue);
paciente.RacaCor = new RacaCor();
paciente.RacaCor.Codigo = ddlRacaCor.SelectedValue;
if (paciente.RacaCor.Codigo == RacaCor.INDIGENA)
{
paciente.Etnia = new Etnia();
paciente.Etnia.Codigo = ddlEtnia.SelectedValue;
}
paciente.FrequentaEscola = char.Parse(rbtnListFreqEscola.SelectedValue);
paciente.Email = tbxEmail.Text;
paciente.Vivo = cbxVivo.Checked ? Vida.Model.Paciente.VIVO : Vida.Model.Paciente.MORTO;
if (paciente.Vivo == Vida.Model.Paciente.MORTO)
{
paciente.DataObito = DateTime.Parse(this.tbxDataObito.Text);
paciente.NumeroObito = this.tbxNumeroObito.Text;
}
switch (rbtnListNacionalidade.SelectedValue)
{
case "B":
{
if ((paciente.Pais != null) && (paciente.Pais.Codigo != "010") && (paciente.Pais.Codigo != "999"))//Se o paciente for brasileiro, não poderá alterar a nacionalidade
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Alteração de Nacionalidade Inválida!');</script>");
return;
}
paciente.Pais = new Pais();
paciente.Pais.Codigo = "010";
paciente.MunicipioNascimento = new Municipio();
paciente.MunicipioNascimento.Codigo = ddlMunicipioNascimento.SelectedValue;
break;
}
case "E": //Estrangeiro
{
if ((paciente.Pais == null) || (paciente.Pais != null && paciente.Pais.Codigo == "010"))
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Alteração de Nacionalidade Inválida!');</script>");
return;
}
paciente.Pais = new Pais();
paciente.Pais.Codigo = ddlPaisOrigem.SelectedValue;
break;
}
case "N":
{
if ((paciente.Pais != null) && (paciente.Pais.Codigo == "010"))
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Alteração de Nacionalidade Inválida!');</script>");
return;
}
paciente.Pais = null;
break;
}
}
if (!string.IsNullOrEmpty(this.tbxCPF.Text))
{
Vida.Model.Paciente pacienteCPFjaExistente = PacienteBLL.PesquisarPorCPF(tbxCPF.Text);
if (pacienteCPFjaExistente != null && paciente.Codigo != pacienteCPFjaExistente.Codigo)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Já existe um paciente cadastrado com o CPF informado.');</script>");
return;
}
}
//Coloquei as operações de banco ao final
//pois se não for possível realizar a alteração devido às validações acima
//estas não serão realizadas
controlePaciente.Excluido = '0';
ControlePacienteBLL.Inserir(controlePaciente);
MotivoCadastroPaciente motivo = MotivocadastroPacienteBLL.PesquisarPorPaciente(paciente, ((Usuario)Session["Usuario"]).Unidade.CNES);
if (motivo != null)
{
motivo.Motivo = new MotivoCadastro();
motivo.Motivo.Codigo = int.Parse(ddlMotivo.SelectedValue);
MotivocadastroPacienteBLL.Atualizar(motivo);
}
else
{
motivo = new MotivoCadastroPaciente();
motivo.Paciente = paciente;
motivo.Cnes = ((Usuario)Session["Usuario"]).Unidade.CNES;
motivo.Motivo = new MotivoCadastro();
motivo.Motivo.Codigo = int.Parse(ddlMotivo.SelectedValue);
MotivocadastroPacienteBLL.Cadastrar(motivo);
}
paciente.Deficiencia = this.RetornaDeficienciaPaciente();
PacienteBLL.Atualizar(paciente);
LogVida logVida = new LogVida(DateTime.Now, (Vida.Model.Usuario)Session["Usuario"], 2, paciente.Codigo);
StartBackgroundThread(delegate { this.SalvarLog(logVida); });
#region Alterar posteriormente para um método geral alterar em PacienteBLL
//Passos comuns ao cadastro e edição
endereco = EnderecoBLL.PesquisarPorPaciente(paciente);
if (endereco != null)
{
Vida.Model.Endereco novoEndereco = new Endereco();
PreencherObjetoEndereco(novoEndereco);
endereco.DDD = novoEndereco.DDD;
endereco.Telefone = novoEndereco.Telefone;
endereco.Complemento = novoEndereco.Complemento;
if (endereco.Equals(novoEndereco))
EnderecoBLL.Atualizar(endereco);
else
{
try
{
EnderecoUsuarioBLL.RealizarMudanca(EnderecoUsuarioBLL.Pesquisar(paciente.Codigo, endereco.Codigo), novoEndereco);
//Guarda na variável para salvar na sessão depois
endereco = novoEndereco;
}
catch (Exception ex)
{
throw ex;
}
}
}
else
{
endereco = new Endereco();
EnderecoUsuario enderecoUsuario = new EnderecoUsuario();
PreencherObjetoEndereco(endereco);
enderecoUsuario.Endereco = endereco;
enderecoUsuario.CodigoPaciente = paciente.Codigo;
enderecoUsuario.Excluido = '0';
enderecoUsuario.Operacao = DateTime.Now;
enderecoUsuario.TipoEndereco = new TipoEndereco();
enderecoUsuario.TipoEndereco.Codigo = "01";
enderecoUsuario.Endereco.ControleEndereco = new ControleEndereco();
try
{
EnderecoUsuarioBLL.Cadastrar(enderecoUsuario);
//Guarda na variável para salvar na sessão depois
endereco = enderecoUsuario.Endereco;
}
catch (Exception ex)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('" + ex.Message + "');</script>");
return;
}
}
Vida.Model.Documento docNacionalidade = null;
switch (rbtnListNacionalidade.SelectedValue)
{
case "E"://Futuramente colocar documentos na sessão
docNacionalidade = DocumentoBLL.PesqusiarPorPaciente("05", paciente);
if (docNacionalidade == null)
{
docNacionalidade = new Documento();
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "05";
docNacionalidade.ControleDocumento = controle;
docNacionalidade.DataChegadaBrasil = DateTime.Parse(tbxDataEntradaBrasil.Text);
docNacionalidade.DataNaturalizacao = null;
DocumentoBLL.Cadastrar(docNacionalidade);
}
else
{
docNacionalidade.ControleDocumento.Excluido = '0';
docNacionalidade.DataChegadaBrasil = DateTime.Parse(tbxDataEntradaBrasil.Text);
docNacionalidade.DataNaturalizacao = null;
DocumentoBLL.Atualizar(docNacionalidade);
}
break;
case "N":
docNacionalidade = DocumentoBLL.PesqusiarPorPaciente("05", paciente);
if (docNacionalidade == null)
{
docNacionalidade = new Documento();
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "05";
docNacionalidade.ControleDocumento = controle;
docNacionalidade.DataNaturalizacao = DateTime.Parse(tbxDataNaturalizacao.Text);
docNacionalidade.NumeroPortaria = tbxNaturalizacaoPortaria.Text;
docNacionalidade.DataChegadaBrasil = null;
DocumentoBLL.Cadastrar(docNacionalidade);
}
else
{
docNacionalidade.ControleDocumento.Excluido = '0';
docNacionalidade.DataNaturalizacao = DateTime.Parse(tbxDataNaturalizacao.Text);
docNacionalidade.NumeroPortaria = tbxNaturalizacaoPortaria.Text;
docNacionalidade.DataChegadaBrasil = null;
DocumentoBLL.Atualizar(docNacionalidade);
}
break;
case "B":
docNacionalidade = DocumentoBLL.PesqusiarPorPaciente("05", paciente);
if (docNacionalidade != null)
{
docNacionalidade.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(docNacionalidade);
}
break;
}
Vida.Model.Documento cpf = DocumentoBLL.PesqusiarPorPaciente("02", paciente);
if (!string.IsNullOrEmpty(tbxCPF.Text))
{
if (cpf == null)
{
cpf = new Vida.Model.Documento();
cpf.Numero = tbxCPF.Text;
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "02";
cpf.ControleDocumento = controle;
DocumentoBLL.Cadastrar(cpf);
}
else
{
cpf.Numero = tbxCPF.Text;
cpf.ControleDocumento.Excluido = '0';
DocumentoBLL.Atualizar(cpf);
}
}
else
{
if (cpf != null)
{
cpf.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(cpf);
}
}
Vida.Model.Documento rg = DocumentoBLL.PesqusiarPorPaciente("10", paciente);
if (!string.IsNullOrEmpty(tbxIdentidade.Text))
{
if (rg == null)
{
rg = new Vida.Model.Documento();
rg.Numero = tbxIdentidade.Text;
rg.Complemento = tbxComplementoIdentidade.Text;
rg.UF = new UF();
rg.UF.Sigla = ddlUFIdentidade.SelectedValue;
rg.DataEmissao = DateTime.Parse(tbxDataEmissaoIdentidade.Text);
rg.OrgaoEmissor = new OrgaoEmissor();
rg.OrgaoEmissor.Codigo = ddlOrgaoExpedidor.SelectedValue;
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "10";
rg.ControleDocumento = controle;
DocumentoBLL.Cadastrar(rg);
}
else
{
rg.Numero = tbxIdentidade.Text;
rg.Complemento = tbxComplementoIdentidade.Text;
rg.UF = new UF();
rg.UF.Sigla = ddlUFIdentidade.SelectedValue;
rg.DataEmissao = DateTime.Parse(tbxDataEmissaoIdentidade.Text);
rg.OrgaoEmissor = new OrgaoEmissor();
rg.OrgaoEmissor.Codigo = ddlOrgaoExpedidor.SelectedValue;
rg.ControleDocumento.Excluido = '0';
DocumentoBLL.Atualizar(rg);
}
}
else
{
if (rg != null)
{
rg.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(rg);
}
}
Vida.Model.Documento certidao = null;
if (ddlTipoCertidao.SelectedValue != "-1")
{
certidao = DocumentoBLL.PesqusiarPorPaciente(ddlTipoCertidao.SelectedValue, paciente);
if (certidao == null)
{
certidao = new Vida.Model.Documento();
Regex regexNovaCertidao = new Regex(@"^\d{6}\.\d{2}\.\d{2}\.\d{4}\.\d{1}\.\d{5}\.\d{3}\.\d{7}\-\d{2}$");
if (regexNovaCertidao.IsMatch(tbxNovaCertidao.Text.Trim())) //Preencheu a nova certidao por completo
{
certidao.Numero = tbxNovaCertidao.Text.Replace(".", "").Substring(0, 15);
certidao.Complemento = tbxNovaCertidao.Text.Substring(tbxNovaCertidao.Text.Length - 2, 2);
}
certidao.NomeCartorio = tbxNomeCartorio.Text;
certidao.NumeroLivro = tbxLivro.Text;
certidao.NumeroFolha = tbxFolhas.Text;
certidao.NumeroTermo = tbxTermo.Text;
certidao.DataEmissao = DateTime.Parse(tbxDataEmissaoCertidao.Text);
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = ddlTipoCertidao.SelectedValue;
certidao.ControleDocumento = controle;
DocumentoBLL.Cadastrar(certidao);
}
else
{
certidao.NomeCartorio = tbxNomeCartorio.Text;
certidao.NumeroLivro = tbxLivro.Text;
certidao.NumeroFolha = tbxFolhas.Text;
certidao.NumeroTermo = tbxTermo.Text;
certidao.DataEmissao = DateTime.Parse(tbxDataEmissaoCertidao.Text);
certidao.ControleDocumento.Excluido = '0';
DocumentoBLL.Atualizar(certidao);
}
}
else
{
int[] documentos = new int[] { 91, 92, 93, 95 };
foreach (int documento in documentos)
{
certidao = DocumentoBLL.PesqusiarPorPaciente(documento.ToString(), paciente);
if (certidao != null)
{
certidao.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(certidao);
}
}
}
Vida.Model.Documento tituloEleitor = DocumentoBLL.PesqusiarPorPaciente("03", paciente);
if (!string.IsNullOrEmpty(tbxTituloEleitor.Text))
{
if (tituloEleitor == null)
{
tituloEleitor = new Vida.Model.Documento();
tituloEleitor.Numero = tbxTituloEleitor.Text;
tituloEleitor.SecaoEleitoral = tbxSecaoEleitoral.Text;
tituloEleitor.ZonaEleitoral = tbxZonaEleitoral.Text;
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "03";
tituloEleitor.ControleDocumento = controle;
DocumentoBLL.Cadastrar(tituloEleitor);
}
else
{
tituloEleitor.Numero = tbxTituloEleitor.Text;
tituloEleitor.SecaoEleitoral = tbxSecaoEleitoral.Text;
tituloEleitor.ZonaEleitoral = tbxZonaEleitoral.Text;
tituloEleitor.ControleDocumento.Excluido = '0';
DocumentoBLL.Atualizar(tituloEleitor);
}
}
else
{
if (tituloEleitor != null)
{
tituloEleitor.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(tituloEleitor);
}
}
Vida.Model.Documento carteiraTrabalho = DocumentoBLL.PesqusiarPorPaciente("04", paciente);
if (!string.IsNullOrEmpty(tbxCTPS.Text))
{
if (carteiraTrabalho == null)
{
carteiraTrabalho = new Vida.Model.Documento();
carteiraTrabalho.Numero = tbxCTPS.Text;
carteiraTrabalho.Serie = tbxSerieCTPS.Text;
carteiraTrabalho.DataEmissao = DateTime.Parse(tbxDataEmissaoCTPS.Text);
carteiraTrabalho.UF = new UF();
carteiraTrabalho.UF.Sigla = ddlUFCTPS.SelectedValue;
Vida.Model.ControleDocumento controle = new Vida.Model.ControleDocumento();
controle.Paciente = paciente;
controle.TipoDocumento = new TipoDocumento();
controle.TipoDocumento.Codigo = "04";
carteiraTrabalho.ControleDocumento = controle;
DocumentoBLL.Cadastrar(carteiraTrabalho);
}
else
{
carteiraTrabalho.Numero = tbxCTPS.Text;
carteiraTrabalho.Serie = tbxSerieCTPS.Text;
carteiraTrabalho.DataEmissao = DateTime.Parse(tbxDataEmissaoCTPS.Text);
carteiraTrabalho.UF = new UF();
carteiraTrabalho.UF.Sigla = ddlUFCTPS.SelectedValue;
carteiraTrabalho.ControleDocumento.Excluido = '0';
DocumentoBLL.Atualizar(carteiraTrabalho);
}
}
else
{
if (carteiraTrabalho != null)
{
carteiraTrabalho.ControleDocumento.Excluido = '1';
DocumentoBLL.Atualizar(carteiraTrabalho);
}
}
#endregion
}
else //Cadastro de Paciente
{
//Verifica se já existe um paciente cadastrado com o mesmo Nome, Nome de mãe e data de nascimento
IList<Vida.Model.Paciente> pa = PacienteBLL.Pesquisar(tbxNomePaciente.Text.Trim().ToUpper(), tbxNomeMae.Text.Trim().ToUpper(), DateTime.Parse(tbxDataNascimento.Text)).Where(x => x.Codigo != Request.QueryString["codigo"]).ToList();
if (pa.Count > 0)
{
if (Request["url_retorno"] != null)
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Dados salvos com sucesso!');window.location='" + HelperRedirector.DecodeURL(Request["url_retorno"].ToString()) + pa[0].Codigo + "';</script>");
else
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('Já existe um Paciente cadastrado com os dados fornecidos. Confirme se os dados estão corretos e atualize se necessário.');window.location='FormPaciente.aspx?codigo=" + pa[0].Codigo + "';</script>");
Session.Remove("PacientesMS");
return;
}
try
{
paciente = this.Paciente;
paciente.Deficiencia = this.RetornaDeficienciaPaciente();
endereco = this.EnderecoPaciente;
List<Documento> documentos = this.DocumentosPaciente;
Usuario usuario = (Usuario)Session["Usuario"];
int codigoMotivoCadastro = int.Parse(ddlMotivo.SelectedValue);
if (Session["PacientesMS"] == null)
PacienteBLL.Cadastrar(usuario, codigoMotivoCadastro, paciente, endereco, documentos);
else
{
PacienteIntegracaoMS pacienteIntegracao = ((List<PacienteIntegracaoMS>)Session["PacientesMS"])[int.Parse(Request.QueryString["codigo"])];
paciente.XmlPacienteMs = Vida.View.Helpers.HelperConvertPacienteMs.ToXml(pacienteIntegracao, typeof(PacienteIntegracaoMS));
PacienteBLL.Cadastrar(usuario, codigoMotivoCadastro, paciente, endereco, documentos, pacienteIntegracao.CartoesSUS.OrderBy(x => x.Numero).ToList());
}
}
catch (ExcecaoVida ex)
{
ClientScript.RegisterClientScriptBlock(typeof(String), "ok", "<script>alert('" + ex.Erro + "');</script>");
return;
}
catch
{
throw;
}
LogVida logVida = new LogVida(DateTime.Now, (Vida.Model.Usuario)Session["Usuario"], 1, paciente.Codigo);
StartBackgroundThread(delegate { this.SalvarLog(logVida); });
}
HiddenCodigoPaciente.Value = paciente.Codigo;
HiddenCodigoPaciente.DataBind();
HiddenNomePaciente.Value = paciente.Nome;
HiddenNomePaciente.DataBind();
HiddenDataNascimento.Value = paciente.DataNascimento.ToString("dd/MM/yyyy");
HiddenDataNascimento.DataBind();
HiddenMunicipio.Value = endereco.Municipio.Nome;
HiddenMunicipio.DataBind();
if (Request["codigo"] == null)
{