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); }
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(); }