Example #1
0
        public bool AdicionarMarcacao(string nomeP, DateTime data, string hora, string nomeM)
        {
            bool result;

            try
            {
                Pacientes paciente = registosPacientes.Where(p => p.Nome.Equals(nomeP)).First();

                //--------------------
                Medicos medico = registosMedicos.Where(m => m.Nome.Equals(nomeM)).First();

                Marcacao marcacao = new Marcacao(paciente, data, hora, medico, true);

                registosMarcacoes.Add(marcacao);

                //BD

                connect.Open();

                SqlCommand query = new SqlCommand();
                int        results;
                string     queryString;

                queryString = "INSERT INTO marcacao (data, hora, id_paciente, id_medico)"
                              + " VALUES (@value1, @value2, @value3, @value4);";

                query.CommandText = queryString;
                query.Parameters.AddWithValue("@value1", data);
                query.Parameters.AddWithValue("@value2", hora);
                query.Parameters.AddWithValue("@value3", registosPacientes.IndexOf(paciente) + 1);
                query.Parameters.AddWithValue("@value4", registosMedicos.IndexOf(medico) + 1);
                query.Connection = connect;

                results = query.ExecuteNonQuery();


                connect.Close();
                //---------------------
                result = true;
            }
            catch (Exception)
            {
                result = false;
                throw new Exception("Médico ou Paciente não registados");
            }


            return(result);
        }
Example #2
0
        private void FormMenu_Load(object sender, EventArgs e)
        {
            connect.Open();

            DataSet       dados = new DataSet();
            SqlCommand    query = new SqlCommand();
            SqlDataReader results;
            string        queryString;

            //Carregar Especialidades
            queryString       = "SELECT nome FROM especialidade";
            query.CommandText = queryString;
            query.Connection  = connect;

            results = query.ExecuteReader();

            if (results.HasRows)
            {
                while (results.Read())
                {
                    Especialidades especialidade = new Especialidades(results["nome"].ToString());
                    registosEspecialidades.Add(especialidade);
                }
            }

            results.Close();
            //----------------------------------------

            //Carregar Pacientes

            queryString = "SELECT nome, telefone, niss"
                          + " FROM paciente";
            query.CommandText = queryString;
            query.Connection  = connect;

            results = query.ExecuteReader();

            if (results.HasRows)
            {
                while (results.Read())
                {
                    Pacientes paciente = new Pacientes(
                        results[0].ToString(),
                        Convert.ToInt32(results[1]),
                        Convert.ToInt32(results[2])
                        );

                    registosPacientes.Add(paciente);
                }
            }

            results.Close();
            //----------------------------------------

            //Carregar Médicos
            queryString = "SELECT username, password, medico.nome, medico.hora_entrada, medico.hora_saida, medico.niss, especialidade.nome"
                          + " FROM utilizador"
                          + " JOIN medico ON utilizador.Id = medico.id_utilizador"
                          + " JOIN especialidade ON especialidade.Id = medico.id_especialidade";
            query.CommandText = queryString;
            query.Connection  = connect;

            results = query.ExecuteReader();

            if (results.HasRows)
            {
                while (results.Read())
                {
                    Especialidades especialidade = registosEspecialidades
                                                   .Where(esp => esp.Nome.Equals(results[6].ToString())).First();

                    Medicos medico = new Medicos(
                        results[0].ToString(),
                        results[1].ToString(),
                        results[2].ToString(),
                        results[3].ToString(),
                        results[4].ToString(),
                        Convert.ToInt32(results[5]),
                        especialidade
                        );
                    registosMedicos.Add(medico);
                }
            }

            results.Close();
            //----------------------------------------

            //Carregar marcações

            queryString = "SELECT paciente.nome, data, hora, medico.nome"
                          + " FROM marcacao"
                          + " JOIN medico ON marcacao.id_medico = medico.id_utilizador"
                          + " JOIN paciente ON marcacao.id_paciente = paciente.id";
            query.CommandText = queryString;
            query.Connection  = connect;

            results = query.ExecuteReader();

            if (results.HasRows)
            {
                while (results.Read())
                {
                    Pacientes paciente = registosPacientes.Where(p => p.Nome.Equals(results[0].ToString())).First();
                    Medicos   medico   = registosMedicos.Where(m => m.Nome.Equals(results[3].ToString())).First();

                    Marcacao marcacao = new Marcacao(
                        paciente,
                        Convert.ToDateTime(results[1].ToString()),
                        results[2].ToString(),
                        medico,
                        false
                        );

                    registosMarcacoes.Add(marcacao);
                }
            }

            results.Close();
            //----------------------------------------

            connect.Close();
        }