/// <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;
            //}
        }
Ejemplo n.º 2
0
        /// <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);
        }