private List <SimpleDoctor> GetDoctorsInternalForCompetence(OleDbConnection conn, string competence) { var command = conn.CreateCommand(); command.CommandText = Queries.DOCTORS_INTERNAL_FOR_COMPETENCE_PERPOSTAL(); command.Parameters.AddRange(new OleDbParameter[] { new OleDbParameter("@competence", competence) }); List <SimpleDoctor> doctorList = new List <SimpleDoctor>(); var reader = command.ExecuteReader(); while (reader.Read()) { SimpleDoctor newDoctor = new SimpleDoctor { FirstName = reader["PRENOM"].ToString(), LastName = reader["NOM"].ToString(), PostalCode = reader["Poste"].ToString(), Town = reader["Commune"].ToString() }; doctorList.Add(newDoctor); } reader.Close(); return(doctorList); }
private Dictionary <string, List <SimpleDoctor> > GetDoctorsForInExtensoPerProvince(OleDbConnection conn, string inextenso) { var command = conn.CreateCommand(); command.CommandText = Queries.DOCTORS_FOR_INEXTENSO_PERPROVINCE(); command.Parameters.AddRange(new OleDbParameter[] { new OleDbParameter("@inextenso", inextenso) }); Dictionary <string, List <SimpleDoctor> > doctorsPerProvince = new Dictionary <string, List <SimpleDoctor> >();; foreach (string orderedProvince in Properties.Settings.Default.ProvArrondMapOrder) { doctorsPerProvince.Add(orderedProvince, new List <SimpleDoctor>()); } var reader = command.ExecuteReader(); while (reader.Read()) { SimpleDoctor newDoctor = new SimpleDoctor { FirstName = reader["PRENOM"].ToString(), LastName = reader["NOM"].ToString(), PostalCode = reader["Poste"].ToString(), Town = reader["Commune"].ToString(), CSouMS = reader["CSouMS"].ToString(), INAMI = reader["NoINAMI"].ToString() }; if (!provArrondMapping.ContainsKey(reader["ProvArrond"].ToString())) { MessageBox.Show("Unmapped province for ProvArrond " + reader["ProvArrond"].ToString()); } else { var provinceName = provArrondMapping[reader["ProvArrond"].ToString()]; if (!doctorsPerProvince.ContainsKey(provinceName)) { MessageBox.Show(provinceName); } doctorsPerProvince[provinceName].Add(newDoctor); } } reader.Close(); return(doctorsPerProvince); }
private void ConvertDoctorsForInExtensoPerProvince(OleDbConnection conn, string inextenso, XmlWriter writer) { writer.WriteElementString("_05_Titel", "Liste par province/Lijst per provincie" + Characters.PARAGRAPH_SEP); Dictionary <string, List <SimpleDoctor> > docsPerProvince = GetDoctorsForInExtensoPerProvince(conn, inextenso); foreach (string orderedProvince in Properties.Settings.Default.ProvArrondMapOrder) { List <SimpleDoctor> doctors = docsPerProvince[orderedProvince]; if (doctors.Count > 0) { writer.WriteElementString("_06_Provincie", orderedProvince.ToUpper() + Characters.PARAGRAPH_SEP); } string previousPostalCode = null; SimpleDoctor lastDoctor = null; foreach (SimpleDoctor doctor in doctors) { if (previousPostalCode == null || previousPostalCode != doctor.PostalCode) { writer.WriteElementString("_07_Stad", doctor.PostalCode + " " + doctor.Town.ToUpper() + Characters.PARAGRAPH_SEP); previousPostalCode = doctor.PostalCode; lastDoctor = null; } bool shouldWriteDoctor = true; if (lastDoctor != null && lastDoctor.IsSameDoctor(doctor.FirstName, doctor.LastName, doctor.INAMI)) { shouldWriteDoctor = false; } if (shouldWriteDoctor) { writer.WriteElementString("_08_Gegevens", doctor.LastName.ToUpper() + " " + doctor.FirstName + (doctor.CSouMS == "CS" ? Characters.FIXED_SPACE + "(*)" : "") + Characters.PARAGRAPH_SEP); } lastDoctor = doctor; } } }