/// <summary> /// Adiciona um novo procedimento para a prescrição válida /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OnClick_AdicionarProcedimentoAlterar(object sender, EventArgs e) { if (ViewState["co_prescricao_alterar"] == null) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Selecione uma prescrição para executar esta operação!');", true); return; } //try //{ IPrescricao iPrescricao = Factory.GetInstance<IPrescricao>(); ViverMais.Model.Prescricao prescricao = iPrescricao.BuscarPorCodigo<ViverMais.Model.Prescricao>(long.Parse(ViewState["co_prescricao_alterar"].ToString())); Usuario usuario = (ViverMais.Model.Usuario)Session["Usuario"]; string co_procedimento = DropDownList_ProcedimentoAlterar.SelectedValue; if (((IList<PrescricaoProcedimento>)Session["procedimentosPrescritos"]).Where(p => p.CodigoProcedimento == co_procedimento).FirstOrDefault() == null) { IRegistro iRegistro = Factory.GetInstance<IRegistro>(); ICid iCid = Factory.GetInstance<ICid>(); bool exigenciaCid = iRegistro.ProcedimentoExigeCid(DropDownList_ProcedimentoAlterar.SelectedValue); if (exigenciaCid && DropDownList_CidAlterarProcedimento.SelectedValue == "-1") { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Este procedimento exige a escolha de um CID.')", true); return; } PrescricaoProcedimento proc = new PrescricaoProcedimento(); proc.Prescricao = prescricao; proc.CodigoProcedimento = DropDownList_ProcedimentoAlterar.SelectedValue; proc.SetIntervalo(TextBox_IntervaloProcedimentoAlterar.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaProcedimentoAlterar.SelectedValue)); proc.Data = DateTime.Now; UsuarioProfissionalUrgence usuarioprofissional = Factory.GetInstance<IUsuarioProfissionalUrgence>().BuscarPorCodigo<UsuarioProfissionalUrgence>(((Usuario)Session["Usuario"]).Codigo); proc.CodigoProfissional = usuarioprofissional.Id_Profissional; proc.CBOProfissional = usuarioprofissional.CodigoCBO; proc.Suspenso = false; proc.CodigoCid = DropDownList_CidAlterarProcedimento.SelectedValue; proc.Cid = iCid.BuscarPorCodigo<Cid>(DropDownList_CidAlterarProcedimento.SelectedValue); if (proc.IntervaloValido()) { iPrescricao.Inserir(proc); iPrescricao.Inserir(new LogUrgencia(DateTime.Now, usuario.Codigo, 39, "id_prescricao=" + proc.Prescricao.Codigo + " co_procedimento = " + proc.CodigoProcedimento)); this.WUC_PrescricaoProcedimentoCID.WUC_DropDownListGrupoCID.SelectedValue = "-1"; this.WUC_PrescricaoProcedimentoCID.WUC_UpdatePanelPesquisarCID.Update(); this.OnSelectedIndexChanged_RetiraCids(new object(), new EventArgs()); this.DropDownList_ProcedimentoAlterar.SelectedValue = "-1"; this.TextBox_IntervaloProcedimentoAlterar.Text = ""; this.TextBox_IntervaloProcedimentoAlterar.Enabled = true; this.HabilitaDesabilitaFrequencia(this.TextBox_IntervaloProcedimentoAlterar, this.RequiredFieldValidator_PrescricaoFrequenciaProcedimento, this.RegularExpressionValidator_PrescricaoFrequenciaProcedimento, this.CompareValidator_PrescricaoFrequenciaProcedimento, true); this.DropDownList_UnidadeTempoFrequenciaProcedimentoAlterar.SelectedValue = ((int)PrescricaoProcedimento.UNIDADETEMPO.HORAS).ToString(); CarregaProcedimentosAlterar(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 o procedimento na lista temporária /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OnClick_AdicionarProcedimento(object sender, EventArgs e) { IList<PrescricaoProcedimento> procedimentos = RetornaListaProcedimento(); UsuarioProfissionalUrgence usuarioProfissional = Factory.GetInstance<IUsuarioProfissionalUrgence>().BuscarPorCodigo<UsuarioProfissionalUrgence>(((Usuario)Session["Usuario"]).Codigo); IProcedimento iProcedimento = Factory.GetInstance<IProcedimento>(); if (this.CheckBox_ExecutarProcimentoAgora.Checked && !iProcedimento.CBOExecutaProcedimento(DropDownList_Procedimento.SelectedValue, usuarioProfissional.CodigoCBO)) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Usuário, de acordo com o seu CBO, você não tem permissão para executar este procedimento.');", true); return; } if (procedimentos.Where(p => p.Procedimento.Codigo == DropDownList_Procedimento.SelectedValue).FirstOrDefault() == null) { IRegistro iRegistro = Factory.GetInstance<IRegistro>(); bool exigenciaCid = iRegistro.ProcedimentoExigeCid(DropDownList_Procedimento.SelectedValue); if (exigenciaCid && DropDownList_ProcedimentoCID.SelectedValue == "-1") { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Este procedimento exige a escolha de um CID.')", true); return; } ICid iCid = Factory.GetInstance<ICid>(); PrescricaoProcedimento procedimento = new PrescricaoProcedimento(); procedimento.CodigoProcedimento = DropDownList_Procedimento.SelectedValue; procedimento.Procedimento = iProcedimento.BuscarPorCodigo<Procedimento>(DropDownList_Procedimento.SelectedValue); procedimento.CodigoCid = this.DropDownList_ProcedimentoCID.SelectedValue; procedimento.Cid = iCid.BuscarPorCodigo<Cid>(this.DropDownList_ProcedimentoCID.SelectedValue); procedimento.ExecutarPrimeiroMomento = CheckBox_ExecutarProcimentoAgora.Checked; procedimento.SetIntervalo(TextBox_IntervaloProcedimento.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaProcedimento.SelectedValue)); if (!procedimento.IntervaloValido()) { ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O intervalo máximo para aplicação do procedimento é de 24 horas.');", true); return; } procedimentos.Add(procedimento); Session["ListaProcedimento"] = procedimentos; CarregaGridProcedimento(procedimentos); OnClick_CancelarProcedimento(sender, e); } else ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Este Procedimento já se encontra na lista de solicitações.');", true); }