/// <summary>
        /// Adiciona um novo medicamento para a prescrição escolhida
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OnClick_AdicionarMedicamentoAlterar(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;
            }

            IPrescricao iPrescricao = Factory.GetInstance<IPrescricao>();
            IUrgenciaServiceFacade iUrgencia = Factory.GetInstance<IUrgenciaServiceFacade>();

            ViverMais.Model.Prescricao prescricao = iPrescricao.BuscarPorCodigo<ViverMais.Model.Prescricao>(long.Parse(ViewState["co_prescricao_alterar"].ToString()));
            Usuario usuario = (ViverMais.Model.Usuario)Session["Usuario"];

            int co_medicamento = int.Parse(DropDownList_MedicamentoAlterar.SelectedValue);

            if (((IList<PrescricaoMedicamento>)Session["medicamentosPrescritos"]).Where(p => p.Medicamento == co_medicamento).FirstOrDefault() == null)
            {
                //try
                //{
                PrescricaoMedicamento medicamento = new PrescricaoMedicamento();
                medicamento.Prescricao = prescricao;
                medicamento.ObjetoMedicamento = Factory.GetInstance<IMedicamento>().BuscarPorCodigo<Medicamento>(int.Parse(DropDownList_MedicamentoAlterar.SelectedValue));
                medicamento.Medicamento = medicamento.ObjetoMedicamento.Codigo;
                medicamento.SetIntervalo(TextBox_IntervaloMedicamentoAlterar.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaMedicamentoAlterar.SelectedValue));
                medicamento.Observacao = TextBox_ObservacaoMedicamentoAlterar.Text;

                UsuarioProfissionalUrgence usuarioprofissional = Factory.GetInstance<IUsuarioProfissionalUrgence>().BuscarPorCodigo<UsuarioProfissionalUrgence>(usuario.Codigo);
                medicamento.CodigoProfissional = usuarioprofissional.Id_Profissional;
                medicamento.CBOProfissional = usuarioprofissional.Id_Profissional;
                medicamento.Data = DateTime.Now;
                medicamento.Suspenso = false;

                if (DropDownList_ViaAdministracaoMedicamentoAlterar.SelectedValue != "-1")
                    medicamento.ViaAdministracao = iUrgencia.BuscarPorCodigo<ViaAdministracao>(int.Parse(DropDownList_ViaAdministracaoMedicamentoAlterar.SelectedValue));

                if (medicamento.IntervaloValido())
                {
                    iPrescricao.Inserir(medicamento);
                    iPrescricao.Inserir(new LogUrgencia(DateTime.Now, usuario.Codigo, 38, "id_prescricao=" + medicamento.Prescricao.Codigo + " id_medicamento = " + medicamento.Medicamento));

                    DropDownList_MedicamentoAlterar.SelectedValue = "0";
                    //DropDownList_MedicamentoAlterar.Items.Clear();
                    //DropDownList_MedicamentoAlterar.Items.Add(new ListItem("Selecione...", "0"));
                    this.TextBox_IntervaloMedicamentoAlterar.Text = "";
                    this.TextBox_IntervaloMedicamentoAlterar.Enabled = true;
                    this.TextBox_ObservacaoMedicamentoAlterar.Text = "";
                    this.HabilitaDesabilitaFrequencia(this.TextBox_IntervaloMedicamentoAlterar, this.RequiredFieldValidator_PrescricaoFrequenciaMedicamento,
                this.RegularExpressionValidator_PrescricaoFrequenciaMedicamento, this.CompareValidator_PrescricaoFrequenciaMedicamento,
                true);

                    this.DropDownList_ViaAdministracaoMedicamentoAlterar.SelectedValue = "-1";
                    this.DropDownList_UnidadeTempoFrequenciaMedicamentoAlterar.SelectedValue = ((int)PrescricaoMedicamento.UNIDADETEMPO.HORAS).ToString();
                    CarregaMedicamentosAlterar(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(a) medicamento/prescrição é de 24 horas.');", true);
                //}
                //catch (Exception f)
                //{
                //    throw f;
                //}
            }
            else
                ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O(A) medicamento/prescrição já se encontra registrado na prescrição escolhida! Por favor, escolha outro(a) medicamento/prescrição.');", true);
        }
Пример #2
0
        /// <summary>
        /// Adiciona o medicamento na lista temporária
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAdicionarMedicamento_Click(object sender, EventArgs e)
        {
            IList<PrescricaoMedicamento> lista = Session["ListaMedicamento"] != null ? (IList<PrescricaoMedicamento>)Session["ListaMedicamento"] : new List<PrescricaoMedicamento>();

            if (lista.Where(p => p.Medicamento.ToString() == ddlMedicamentos.SelectedValue).FirstOrDefault() == null)
            {
                PrescricaoMedicamento medicamento = new PrescricaoMedicamento();
                medicamento.ObjetoMedicamento = Factory.GetInstance<IMedicamento>().BuscarPorCodigo<Medicamento>(int.Parse(ddlMedicamentos.SelectedValue));
                medicamento.Medicamento = medicamento.ObjetoMedicamento.Codigo;
                medicamento.SetIntervalo(tbxIntervaloMedicamento.Text, int.Parse(DropDownList_UnidadeTempoFrequenciaMedicamento.SelectedValue));
                medicamento.ExecutarPrimeiroMomento = CheckBox_ExecutarMedicamentoAgora.Checked;
                medicamento.Observacao = TextBox_ObservacaoPrescricaoMedicamento.Text;

                if (DropDownList_ViaAdministracaoMedicamento.SelectedValue != "-1")
                    medicamento.ViaAdministracao = Factory.GetInstance<IUrgenciaServiceFacade>().BuscarPorCodigo<ViaAdministracao>(int.Parse(DropDownList_ViaAdministracaoMedicamento.SelectedValue));

                if (!medicamento.IntervaloValido())
                {
                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('O intervalo máximo para aplicação do(a) medicamento/prescrição é de 24 horas.');", true);
                    return;
                }

                lista.Add(medicamento);
                Session["ListaMedicamento"] = lista;
                CarregaGridPrescricaoMedicamento(lista);
                OnClick_CancelarMedicamento(sender, e);
            }
            else
                ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "alert('Este(a) Medicamento/Prescrição já se encontra na lista de solicitações.');", true);
        }