public void UpdateGridViewConsultas()
        {
            List <AgendamentoConsultaGridView> consultasAgendadas = new List <AgendamentoConsultaGridView>();

            conn.Open();
            com.Connection = conn;

            SqlCommand    cmd    = new SqlCommand("select agendamento.dataProximaConsulta,  agendamento.horaProximaConsulta, p.Nome, p.Nif from AgendamentoConsulta agendamento INNER JOIN Paciente p ON agendamento.IdPaciente = p.IdPaciente WHERE agendamento.IdEnfermeiro =  " + enfermeiro.IdEnfermeiro + " AND agendamento.dataProximaConsulta = '" + dataConsulta.Value.ToString("MM/dd/yyyy") + "' AND ConsultaRealizada= 0 ORDER BY agendamento.horaProximaConsulta", conn);
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                string dataConsulta = DateTime.ParseExact(reader["dataProximaConsulta"].ToString(), "dd/MM/yyyy HH:mm:ss", null).ToString("dd/MM/yyyy");

                AgendamentoConsultaGridView agendamento = new AgendamentoConsultaGridView
                {
                    dataProximaConsulta = dataConsulta,
                    horaProximaConsulta = (string)reader["horaProximaConsulta"],
                    NomePaciente        = (string)reader["Nome"],
                    NifPaciente         = Convert.ToInt32(reader["Nif"]),
                };
                consultasAgendadas.Add(agendamento);
            }
            var bindingSource1 = new System.Windows.Forms.BindingSource {
                DataSource = consultasAgendadas
            };

            dataGridViewConsultas.DataSource            = bindingSource1;
            dataGridViewConsultas.Columns[0].HeaderText = "Hora Consulta";
            dataGridViewConsultas.Columns[1].HeaderText = "Data Consulta";
            dataGridViewConsultas.Columns[2].HeaderText = "Nome Utente";
            dataGridViewConsultas.Columns[3].HeaderText = "Nif Paciente";
            conn.Close();
        }
        public void UpdateGridViewConsultas()
        {
            try
            {
                agendamentos.Clear();

                conn.Open();
                com.Connection = conn;

                //   string date = DateTime.ParseExact(DateTime.Now.ToString("MM/dd/yyyy"), "dd/MM/yyyy", null).ToString("MM/dd/yyyy");
                // DateTime date = DateTime.Now;
                string mm = DateTime.Now.ToString("MM/dd/yyyy");
                //  string aa = DateTime.Now.ToString("dd/MM/yyyy");

                SqlCommand cmd = new SqlCommand("select agendamento.dataProximaConsulta,  agendamento.horaProximaConsulta, p.Nome, p.Nif from AgendamentoConsulta agendamento INNER JOIN Paciente p ON agendamento.IdPaciente = p.IdPaciente WHERE agendamento.IdEnfermeiro =  " + enfermeiro.IdEnfermeiro + " AND ConsultaRealizada= 0 AND agendamento.dataProximaConsulta >= @data ORDER BY agendamento.horaProximaConsulta", conn);
                cmd.Parameters.AddWithValue("@data", mm);

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    string dataConsulta = DateTime.ParseExact(reader["dataProximaConsulta"].ToString(), "dd/MM/yyyy HH:mm:ss", null).ToString("dd/MM/yyyy");

                    AgendamentoConsultaGridView agendamento = new AgendamentoConsultaGridView
                    {
                        dataProximaConsulta = dataConsulta,
                        horaProximaConsulta = (string)reader["horaProximaConsulta"],
                        NomePaciente        = (string)reader["Nome"],
                        NifPaciente         = Convert.ToInt32(reader["Nif"]),
                    };
                    agendamentos.Add(agendamento);
                }
                auxiliar = agendamentos;

                var bindingSource1 = new System.Windows.Forms.BindingSource {
                    DataSource = auxiliar
                };
                dataGridViewMarcacoes.DataSource = bindingSource1;

                dataGridViewMarcacoes.Columns[0].HeaderText = "Hora Consulta";
                dataGridViewMarcacoes.Columns[1].HeaderText = "Data Consulta";
                dataGridViewMarcacoes.Columns[2].HeaderText = "Nome Utente";
                dataGridViewMarcacoes.Columns[3].HeaderText = "Nif Paciente";
                conn.Close();
                CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[dataGridViewMarcacoes.DataSource];

                currencyManager1.SuspendBinding();
                //   dataGridViewMarcacoes.CurrentCell = null;
                //   dataGridViewMarcacoes.Rows[dataGridViewMarcacoes.Rows.Count -1].Disable = false;
            }
            catch (Exception)
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                MessageBox.Show("Por erro interno é impossível visualizar os dados!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #3
0
        public void UpdateGridViewConsultas()
        {
            try
            {
                // dataGridViewConsultasHoje.DataSource = new List<AgendamentoConsultaGridView>();
                consultaAgendada.Clear();
                conn.Open();
                com.Connection = conn;

                SqlCommand cmd = new SqlCommand("select agendamento.horaProximaConsulta, agendamento.dataProximaConsulta, p.Nome, p.Nif from AgendamentoConsulta agendamento INNER JOIN Paciente p ON agendamento.IdPaciente = p.IdPaciente WHERE agendamento.IdEnfermeiro =  @IdEnfermeiro AND agendamento.dataProximaConsulta = '" + DateTime.Now.ToString("MM/dd/yyyy") + "' AND ConsultaRealizada= 0 ORDER BY agendamento.horaProximaConsulta", conn);
                cmd.Parameters.AddWithValue("@IdEnfermeiro", enfermeiro.IdEnfermeiro);
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    string dataConsulta = DateTime.ParseExact(reader["dataProximaConsulta"].ToString(), "dd/MM/yyyy HH:mm:ss", null).ToString("dd/MM/yyyy");

                    AgendamentoConsultaGridView agendamento = new AgendamentoConsultaGridView
                    {
                        horaProximaConsulta = (string)reader["horaProximaConsulta"],
                        dataProximaConsulta = dataConsulta,
                        NomePaciente        = (string)reader["Nome"],
                        NifPaciente         = Convert.ToInt32(reader["Nif"]),
                    };

                    consultaAgendada.Add(agendamento);
                }
                auxiliar = consultaAgendada;
                var bindingSource1 = new System.Windows.Forms.BindingSource {
                    DataSource = consultaAgendada
                };
                dataGridViewConsultasHoje.DataSource            = bindingSource1;
                dataGridViewConsultasHoje.Columns[0].HeaderText = "Hora Consulta";
                dataGridViewConsultasHoje.Columns[1].HeaderText = "Data Consulta";
                dataGridViewConsultasHoje.Columns[2].HeaderText = "Nome Utente";
                dataGridViewConsultasHoje.Columns[3].HeaderText = "Nif";

                conn.Close();
            }
            catch (Exception)
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                MessageBox.Show("Por erro interno é impossível visualizar os dados!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void dataGridViewMarcacoes_DoubleClick(object sender, EventArgs e)
        {
            if (dataGridViewMarcacoes.Rows.Count > 0)
            {
                //  dataIgual = false;
                // horaIgual = false;
                int i = dataGridViewMarcacoes.CurrentCell.RowIndex;
                if (i != auxiliar.Count + 1)
                {
                    foreach (var marcar in auxiliar)
                    {
                        if (marcar.NifPaciente == Double.Parse(dataGridViewMarcacoes.Rows[i].Cells[3].Value.ToString()))
                        {
                            if (dataGridViewMarcacoes.Rows[i].Cells[1].Value != null)
                            {
                                if (marcar.dataProximaConsulta.Equals(dataGridViewMarcacoes.Rows[i].Cells[1].Value.ToString()))
                                {
                                    if (marcar.horaProximaConsulta.Equals(dataGridViewMarcacoes.Rows[i].Cells[0].Value.ToString()))
                                    {
                                        agenda = marcar;
                                    }
                                }
                            }
                        }
                    }
                }
                if (agenda != null)
                {
                    dataConsultaAdiar.MinDate = DateTime.Today;
                    //  dataConsultaAdiar.MinDate = DateTime.ParseExact(agenda.dataProximaConsulta, "dd/MM/yyyy", null);
                    dataConsultaAdiar.Value = DateTime.ParseExact(agenda.dataProximaConsulta, "dd/MM/yyyy", null);

                    horaConsultaAdiar.Value = DateTime.ParseExact(agenda.horaProximaConsulta, "HH:mm", null);
                }
            }
        }
        private void btnAlteraPassword_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridViewMarcacoes.Rows.Count >= 1 && dataGridViewMarcacoes.CurrentCell != null)
                {
                    int i = dataGridViewMarcacoes.CurrentCell.RowIndex;
                    //dataGridViewMarcacoes.CurrentRow.
                    if (i != auxiliar.Count + 1)
                    {
                        // if (dataGridViewMarcacoes.Rows[i].Cells[1].Value != null)
                        // {
                        agenda = new AgendamentoConsultaGridView
                        {
                            horaProximaConsulta = dataGridViewMarcacoes.Rows[i].Cells[0].Value.ToString(),
                            dataProximaConsulta = dataGridViewMarcacoes.Rows[i].Cells[1].Value.ToString(),
                            NomePaciente        = dataGridViewMarcacoes.Rows[i].Cells[2].Value.ToString(),
                            NifPaciente         = Convert.ToInt32(dataGridViewMarcacoes.Rows[i].Cells[3].Value.ToString())
                        };

                        if (agenda != null)
                        {
                            string   data      = DateTime.ParseExact(agenda.dataProximaConsulta, "dd/MM/yyyy", null).ToString("MM/dd/yyyy");
                            Paciente paciente1 = ClasseAuxiliarBD.getPacienteByNif(agenda.NifPaciente);

                            if (paciente1 != null)
                            {
                                var resposta = MessageBox.Show("Tem a certeza que deseja eliminar esta consulta?", "Eliminar Consulta!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (resposta == DialogResult.Yes)
                                {
                                    conn.Open();
                                    string     queryInsertData = "DELETE from AgendamentoConsulta WHERE IdEnfermeiro =@IdEnfermeiro AND IdPaciente = @IdPaciente AND dataProximaConsulta = @dataProximaConsulta AND horaProximaConsulta = @horaProximaConsulta ";
                                    SqlCommand sqlCommand      = new SqlCommand(queryInsertData, conn);
                                    sqlCommand.Parameters.AddWithValue("@IdEnfermeiro", enfermeiro.IdEnfermeiro);
                                    sqlCommand.Parameters.AddWithValue("@IdPaciente", paciente1.IdPaciente);
                                    sqlCommand.Parameters.AddWithValue("@dataProximaConsulta", data);
                                    sqlCommand.Parameters.AddWithValue("@horaProximaConsulta", agenda.horaProximaConsulta);


                                    sqlCommand.ExecuteNonQuery();
                                    MessageBox.Show("Consulta desmarcada com Sucesso!", "Consulta Desmarcada Consulta!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    conn.Close();
                                    UpdateGridViewConsultas();
                                    formMenu.UpdateGridViewConsultas();
                                }
                            }
                        }
                    }
                    var bindingSource1 = new System.Windows.Forms.BindingSource {
                        DataSource = filtrosDePesquisa()
                    };
                    dataGridViewMarcacoes.DataSource = bindingSource1;
                    agenda = null;
                    //agenda = null;
                }
                else
                {
                    MessageBox.Show("Não tem consultas marcadas para poder fazer desmarcações!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception)
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                MessageBox.Show("Por erro interno é impossível eliminar a consulta!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridViewConsultasHoje.Rows.Count > 0)
                {
                    int i = dataGridViewConsultasHoje.CurrentCell.RowIndex;
                    AgendamentoConsultaGridView consultaAgendada = null;;

                    foreach (var ut in auxiliar)
                    {
                        if (ut.NifPaciente == Double.Parse(dataGridViewConsultasHoje.Rows[i].Cells[3].Value.ToString()))
                        {
                            consultaAgendada = ut;
                        }
                    }
                    conn.Open();
                    com.Connection = conn;

                    SqlCommand cmd = new SqlCommand("select * from Paciente p LEFT JOIN Profissao prof ON p.IdProfissao = prof.IdProfissao WHERE Nif =  " + consultaAgendada.NifPaciente, conn);

                    SqlDataReader reader   = cmd.ExecuteReader();
                    Paciente      paciente = null;

                    if (reader.Read())
                    {
                        paciente = new Paciente
                        {
                            IdPaciente     = (int)reader["IdPaciente"],
                            Nome           = (string)reader["nome"],
                            DataNascimento = Convert.ToDateTime(reader["dataNascimento"]),
                            Email          = ((reader["email"] == DBNull.Value) ? "" : (string)reader["email"]),
                            Contacto       = Convert.ToDouble(reader["contacto"]),
                            Nif            = Convert.ToInt32(reader["nif"]),
                            Profissao      = ((reader["nomeProfissao"] == DBNull.Value) ? "" : (string)reader["nomeProfissao"]),
                            Rua            = (string)reader["Rua"],
                            NumeroCasa     = ((reader["NumeroCasa"] == DBNull.Value) ? null : (int?)reader["NumeroCasa"]),
                            Andar          = ((reader["Andar"] == DBNull.Value) ? "" : (string)reader["Andar"]),
                            codigoPostal   = (reader["codPostalPrefixo"]) + "-" + (reader["codPostalSufixo"]),
                            bairroLocal    = ((reader["bairroLocal"] == DBNull.Value) ? "" : (string)reader["bairroLocal"]),
                            designacao     = ((reader["designacao"] == DBNull.Value) ? "" : (string)reader["designacao"]),
                            localidade     = (string)reader["localidade"],
                            IdEnfermeiro   = (int)reader["IdEnfermeiro"],
                        };
                    }

                    conn.Close();

                    MenuMarcacoes menu = new MenuMarcacoes(enfermeiro, this);
                    menu.Show();
                }
                else
                {
                    MenuMarcacoes menu = new MenuMarcacoes(enfermeiro, this);
                    menu.Show();
                }
            }
            catch (Exception)
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                MessageBox.Show("Por erro interno é impossível visualizar os dados!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #7
0
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridViewConsultasHoje.Rows.Count > 0)
                {
                    int i = dataGridViewConsultasHoje.CurrentCell.RowIndex;
                    AgendamentoConsultaGridView consultaAgendada = null;;

                    foreach (var ut in auxiliar)
                    {
                        if (ut.NifPaciente == Double.Parse(dataGridViewConsultasHoje.Rows[i].Cells[3].Value.ToString()))
                        {
                            consultaAgendada = ut;
                        }
                    }
                    conn.Open();
                    com.Connection = conn;

                    SqlCommand cmd = new SqlCommand("select * from Paciente p LEFT JOIN Profissao prof ON p.IdProfissao = prof.IdProfissao WHERE Nif =  " + consultaAgendada.NifPaciente, conn);

                    SqlDataReader reader   = cmd.ExecuteReader();
                    Paciente      paciente = null;

                    if (reader.Read())
                    {
                        paciente = new Paciente
                        {
                            IdPaciente     = (int)reader["IdPaciente"],
                            Nome           = (string)reader["nome"],
                            DataNascimento = Convert.ToDateTime(reader["dataNascimento"]),
                            Email          = ((reader["email"] == DBNull.Value) ? "" : (string)reader["email"]),
                            Contacto       = Convert.ToDouble(reader["contacto"]),
                            Nif            = Convert.ToInt32(reader["nif"]),
                            Profissao      = ((reader["nomeProfissao"] == DBNull.Value) ? "" : (string)reader["nomeProfissao"]),
                            Rua            = (string)reader["Rua"],
                            NumeroCasa     = ((reader["NumeroCasa"] == DBNull.Value) ? null : (int?)reader["NumeroCasa"]),
                            Andar          = ((reader["Andar"] == DBNull.Value) ? "" : (string)reader["Andar"]),
                            bairroLocal    = ((reader["bairroLocal"] == DBNull.Value) ? "" : (string)reader["bairroLocal"]),
                            designacao     = ((reader["designacao"] == DBNull.Value) ? "" : (string)reader["designacao"]),

                            //Andar = (string)reader["Andar"],
                            codigoPostal = (reader["codPostalPrefixo"]) + "-" + (reader["codPostalSufixo"]),

                            // codPostalPrefixo = Convert.ToDouble(reader["codPostalPrefixo"]),
                            //codPostalSufixo = Convert.ToDouble(reader["codPostalSufixo"]),
                            localidade   = (string)reader["localidade"],
                            IdEnfermeiro = (int)reader["IdEnfermeiro"],
                            Acordo       = (string)reader["Acordo"],

                            NomeSeguradora = ((reader["NomeSeguradora"] == DBNull.Value) ? "" : (string)reader["NomeSeguradora"]),
                            //NomeSeguradora = (string)reader["NomeSeguradora"] |,

                            NumeroApoliceSeguradora = ((reader["NumeroApoliceSeguradora"] == DBNull.Value) ? 0 : (int)reader["NumeroApoliceSeguradora"]),
                            // NumeroApoliceSeguradora = (int)reader["NumeroApoliceSeguradora"],

                            NomeSubsistema = ((reader["NomeSubsistema"] == DBNull.Value) ? "" : (string)reader["NomeSubsistema"]),
                            // NomeSubsistema = (string)reader["NomeSubsistema"],

                            NumeroSubsistema = ((reader["NumeroSubsistema"] == DBNull.Value) ? 0 : (int)reader["NumeroSubsistema"]),
                            // NumeroSubsistema = (int)reader["NumeroSubsistema"],

                            NumeroSNS = ((reader["NumeroSNS"] == DBNull.Value) ? 0 : (int)reader["NumeroSNS"]),
                            //NumeroSNS = (int)reader["NumeroSNS"],

                            Sexo           = (string)reader["Sexo"],
                            PlanoVacinacao = (string)reader["PlanoVacinacao"]
                        };
                    }

                    conn.Close();
                    IniciarConsultaMarcada iniciarConsultaMarcada = new IniciarConsultaMarcada(enfermeiro, paciente, this, consultaAgendada);
                    iniciarConsultaMarcada.Show();
                }
                else
                {
                    MessageBox.Show("Não é possivel iniciar uma consulta porque não tem consultas agendadas para hoje!!!", "Informação!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception)
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                MessageBox.Show("Por erro interno é impossível visualizar os dados!", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }