private void cbDataHistorico_SelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                ViewDispensacaoPorUsuarioTableAdapter dispensacao = new ViewDispensacaoPorUsuarioTableAdapter();
                dtgHistorico.DataSource = dispensacao.RetornaDataTablePorIdusuarioData(int.Parse(txIDUsuario.Text), cbDataHistorico.SelectedItem.ToString());
            }
            catch (Exception err)
            {

                MessageBox.Show(err.Message);
            }
        }
        private void GeraHistorico()
        {
            try
            {
                ViewDispensacaoPorUsuarioTableAdapter dispensacao = new ViewDispensacaoPorUsuarioTableAdapter();
                dtgHistorico.DataSource = dispensacao.RetornaDataTable(int.Parse(txIDUsuario.Text));
                cbDataHistorico.Items.Clear();

                string data = ((DateTime)dtgHistorico[0, 0].Value).ToShortDateString();
                cbDataHistorico.Items.Add(data);

                for (int i = 1; i < dtgHistorico.Rows.Count; i++)
                {
                    data = ((DateTime)dtgHistorico[0, i].Value).ToShortDateString();
                    int count = 1;
                    for (int j = 0; j < cbDataHistorico.Items.Count; j++)
                    {
                        if (data.Equals(cbDataHistorico.Items[j].ToString()))
                            count++;
                    }
                    if (count < 2)
                        cbDataHistorico.Items.Add(data);

                }

            }
            catch (Exception err)
            {

                MessageBox.Show("Não há histórico para o paciente. " + err.Message);
            }
        }
        private void btnIncluirMedicamentoDispensacao_Click(object sender, EventArgs e)
        {
            try
            {
                ViewDispensacaoPorUsuarioTableAdapter dispensacao = new ViewDispensacaoPorUsuarioTableAdapter();
                DateTime data = DateTime.Now;
                string dataInicio = "1/" + data.Month + "/" + data.Year;
                string dataFim = data.ToShortDateString();
                DataTable tabela = dispensacao.ConsultaMedicamentosNoMes(int.Parse(txIDUsuario.Text), dataInicio, dataFim, txDescricaoDispensacao.Text);
                if ((int)txQuantidadeDispensacao.Value <= int.Parse(txEstoqueDispensacao.Text))
                {
                    if (tabela.Rows.Count > 0)
                    {
                        DialogResult resultado = MessageBox.Show("Medicamento já entregue neste mês.\nConfirmar entrega?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Stop);
                        if (resultado == System.Windows.Forms.DialogResult.Yes)
                        {
                            ITENSESTOQUETableAdapter itens = new ITENSESTOQUETableAdapter();
                            dtgDadosMedicamentosDispensacao.Rows.Add(1);
                            int indice = dtgDadosMedicamentosDispensacao.Rows.Count - 1;
                            painelDispensacaoMedicamentos.Visible = true;
                            dtgDadosMedicamentosDispensacao[0, indice].Value = true;
                            dtgDadosMedicamentosDispensacao[1, indice].Value = txDescricaoDispensacao.Text;
                            dtgDadosMedicamentosDispensacao[2, indice].Value = txQuantidadeDispensacao.Value.ToString();
                            btnIncluirDispensacao.Visible = true;
                        }
                        else
                            MessageBox.Show("Cancelado pelo usuário.");
                    }
                    else
                    {
                        ITENSESTOQUETableAdapter itens = new ITENSESTOQUETableAdapter();
                        dtgDadosMedicamentosDispensacao.Rows.Add(1);
                        int indice = dtgDadosMedicamentosDispensacao.Rows.Count - 1;
                        painelDispensacaoMedicamentos.Visible = true;
                        dtgDadosMedicamentosDispensacao[0, indice].Value = true;
                        dtgDadosMedicamentosDispensacao[1, indice].Value = txDescricaoDispensacao.Text;
                        dtgDadosMedicamentosDispensacao[2, indice].Value = txQuantidadeDispensacao.Value.ToString();
                        btnIncluirDispensacao.Visible = true;
                    }
                }
                else
                    MessageBox.Show("Não a saldo para a dispensação solicitada. ");

                LimpaCamposDispensacaoAgudo();
                btnIncluirDispensacao.Enabled = true;
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }