Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
                }
            }
        }