/// <summary> /// Adiciona um novo procedimento não-faturável para a prescrição válida /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OnClick_AdicionarProcedimentoNaoFaturavelAlterar(object sender, EventArgs e) { //try //{ if (ViewState["co_prescricao_alterar"] == null) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Selecione uma prescrição para executar esta operação!');", true); return; } IPrescricao iPrescricao = Factory.GetInstance<IPrescricao>(); IList<PrescricaoProcedimentoNaoFaturavel> lista = iPrescricao.BuscarProcedimentosNaoFaturaveis<PrescricaoProcedimentoNaoFaturavel>(long.Parse(ViewState["co_prescricao_alterar"].ToString())); ViverMais.Model.Prescricao prescricao = iPrescricao.BuscarPorCodigo<ViverMais.Model.Prescricao>(long.Parse(ViewState["co_prescricao_alterar"].ToString())); int co_procedimento = int.Parse(DropDownList_ProcedimentoNaoFaturavelCadastrar.SelectedValue); Usuario usuario = (ViverMais.Model.Usuario)Session["Usuario"]; if (((IList<PrescricaoProcedimentoNaoFaturavel>)Session["procedimentosNaoFaturaveisPrescritos"]).Where(p => p.CodigoProcedimento == co_procedimento).FirstOrDefault() == null) { PrescricaoProcedimentoNaoFaturavel proc = new PrescricaoProcedimentoNaoFaturavel(); proc.Prescricao = prescricao; proc.Data = DateTime.Now; proc.Procedimento = iPrescricao.BuscarPorCodigo<ProcedimentoNaoFaturavel>(int.Parse(DropDownList_ProcedimentoNaoFaturavelCadastrar.SelectedValue)); proc.SetIntervalo(TextBox_IntervaloProcedimentoNaoFaturavelAlterar.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaProcedimentoNaoFaturavelAlterar.SelectedValue)); UsuarioProfissionalUrgence upu = Factory.GetInstance<IUsuarioProfissionalUrgence>().BuscarPorCodigo<UsuarioProfissionalUrgence>(((Usuario)Session["Usuario"]).Codigo); proc.CodigoProfissional = upu.Id_Profissional; proc.CBOProfissional = upu.CodigoCBO; proc.Suspenso = false; if (proc.IntervaloValido()) { iPrescricao.Inserir(proc); iPrescricao.Inserir(new LogUrgencia(DateTime.Now, usuario.Codigo, 40, "id_prescricao=" + proc.Prescricao.Codigo + " id_procedimento = " + proc.Procedimento.Codigo)); this.DropDownList_ProcedimentoNaoFaturavelCadastrar.SelectedValue = "-1"; this.TextBox_IntervaloProcedimentoNaoFaturavelAlterar.Text = ""; this.TextBox_IntervaloProcedimentoNaoFaturavelAlterar.Enabled = true; this.HabilitaDesabilitaFrequencia(this.TextBox_IntervaloProcedimentoNaoFaturavelAlterar, this.RequiredFieldValidator_PrescricaoFrequenciaProcedimentoNaoFaturavel, this.RegularExpressionValidator_PrescricaoFrequenciaProcedimentoNaoFaturavel, this.CompareValidator_PrescricaoFrequenciaProcedimentoNaoFaturavel, true); this.DropDownList_UnidadeTempoFrequenciaProcedimentoNaoFaturavelAlterar.SelectedValue = ((int)PrescricaoProcedimentoNaoFaturavel.UNIDADETEMPO.HORAS).ToString(); CarregaProcedimentosNaoFaturaveisAlterar(long.Parse(ViewState["co_prescricao_alterar"].ToString())); HelperView.ExecutarPlanoContingencia(usuario.Codigo, prescricao.Prontuario.Codigo); //try //{ // StartBackgroundThread(delegate { this.ExecutarPlanoContingencia(usuario.Codigo, prescricao.Prontuario.Codigo); }); //} //catch { } } else ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O intervalo máximo para aplicação do procedimento é de 24 horas.');", true); } else ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O procedimento já se encontra registrado na prescrição escolhida! Por favor, escolha outro procedimento.');", true); //} //catch (Exception f) //{ // throw f; //} }
/// <summary> /// Adiciona um procedimento não-faturável na lista temporária /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OnClick_AdicionarProcedimentoNaoFaturavel(object sender, EventArgs e) { IList<PrescricaoProcedimentoNaoFaturavel> lista = RetornaListaProcedimentoNaoFaturavel(); if (lista.Where(p => p.Procedimento.Codigo == int.Parse(DropDownList_ProcedimentosNaoFaturaveis.SelectedValue)).FirstOrDefault() == null) { PrescricaoProcedimentoNaoFaturavel procedimento = new PrescricaoProcedimentoNaoFaturavel(); procedimento.Procedimento = Factory.GetInstance<IUrgenciaServiceFacade>().BuscarPorCodigo<ProcedimentoNaoFaturavel>(int.Parse(DropDownList_ProcedimentosNaoFaturaveis.SelectedValue)); procedimento.SetIntervalo(TextBox_IntervaloProcedimentoNaoFaturavel.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaProcedimentoNaoFaturavel.SelectedValue)); procedimento.ExecutarPrimeiroMomento = CheckBox_ExecutarProcedimentoNaoFaturavelAgora.Checked; if (!procedimento.IntervaloValido()) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O intervalo máximo para aplicação do procedimento é de 24 horas.');", true); return; } lista.Add(procedimento); Session["ListaProcedimentoNaoFaturavel"] = lista; CarregaGridProcedimentoNaoFaturavel(lista); this.OnClick_CancelarProcedimentoNaoFaturavel(new object(), new EventArgs()); } else ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Este Procedimento já se encontra na lista de solicitações.');", true); }