Ejemplo n.º 1
0
        public List<Electorate> MergeData()
        {
            List<Electorate> _Electorates = new List<Electorate>();
            for (int i = 0; i < m_ElectorateDataMID.Count; i++)
            {
                Electorate _ElectorateData = new Electorate();
                _Electorates.Add(_ElectorateData);
            }
            for (int i = 0; i < m_ElectorateDataMID.Count; i++)
            {
                //MIF DATA
                _Electorates[i].Boundaries = m_ElectorateDataMIF[i].Boundaries;

                //MID DATA
                _Electorates[i].Actual = m_ElectorateDataMID[i].Actual;
                _Electorates[i].Area = m_ElectorateDataMID[i].Area;
                _Electorates[i].Division = m_ElectorateDataMID[i].Division;
                _Electorates[i].ID = m_ElectorateDataMID[i].ID;
                _Electorates[i].Name = m_ElectorateDataMID[i].Name;
                _Electorates[i].Over18 = m_ElectorateDataMID[i].Over18;
                _Electorates[i].Projected = m_ElectorateDataMID[i].Projected;
                _Electorates[i].TotalPopulation = m_ElectorateDataMID[i].TotalPopulation;

                //XLS DATA
                for (int j = 0; j < m_ElectorateDataMID.Count; j++)
                {
                    for (int k = 0; k < m_ElectorateDataXLS.Count; k++)
                    {
                        if (m_ElectorateDataMID[i].Name == m_ElectorateDataXLS[k].Division)
                        {
                            _Electorates[i].ALP2PVotes = m_ElectorateDataXLS[k].ALP2PVotes;
                            _Electorates[i].ALPVotes = m_ElectorateDataXLS[k].ALPVotes;
                            _Electorates[i].DEMVotes = m_ElectorateDataXLS[k].DEMVotes;
                            _Electorates[i].GRNVotes = m_ElectorateDataXLS[k].GRNVotes;
                            _Electorates[i].LNP2PVotes = m_ElectorateDataXLS[k].LNP2PVotes;
                            _Electorates[i].LPVotes = m_ElectorateDataXLS[k].LPVotes;
                            _Electorates[i].NPVotes = m_ElectorateDataXLS[k].NPVotes;
                            _Electorates[i].OTHVotes = m_ElectorateDataXLS[k].OTHVotes;
                        }
                    }
                }
            }
            return _Electorates;
        }
Ejemplo n.º 2
0
        public bool ParseXLS(string a_xls)
        {
            string _file = Directory.GetCurrentDirectory();
            string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + a_xls + ";Extended Properties=\"Excel 8.0;HDR=YES;\"";
            //|DataDirectory|\data\Qld_FederalResults by Electorate-2004.xls;

            OleDbConnection connection = new OleDbConnection(connectionString);
            connection.Open();

            //OleDbCommand commandtest = new OleDbCommand("SELECT * FROM [2004 Election$]", connection);
            OleDbDataAdapter _allData = new OleDbDataAdapter("SELECT * FROM [2004 Election$]", connection);
            DataSet ds = new DataSet();
            _allData.Fill(ds);
            var table = ds.Tables[0];
            int i = 1;
            foreach (DataRow row in table.Rows)
            {
                //Console.Out.WriteLine(row.ItemArray);
                 if (i == 149) { break; }

                List<String> _param = new List<String>();
                foreach (var thing in row.ItemArray)
                {

                    if (thing.ToString().Length != 0)
                    {
                        _param.Add(thing.ToString());
                    }

                }
                if (_param.Count() > 1)
                {
                    Electorate _electorate = new Electorate(_param);
                    m_ElectorateDataXLS.Add(_electorate);
                    Console.Out.WriteLine("Creating {0} size is {1}", _param[0], _param.Count());
                }

                i++;

            }

            return false;
        }
Ejemplo n.º 3
0
 protected bool ParseLineMID(string line)
 {
     string lineSoFar = "";
     string[] electorateData = new string[9];
     int electorateDataPosition = 0;
     //id,"electoratename",numccds,actual,projected,totalpop,over18,area,"name"
     for (int i = 0; i < line.Length; i++)
     {
         if (line[i] == ',')
         {
             electorateData[electorateDataPosition] = lineSoFar;
             lineSoFar = "";
             electorateDataPosition++;
         }
         else if (line[i] == '\"') { /*ignore*/ }
         else
         {
             lineSoFar += line[i];
         }
     }
     electorateData[electorateDataPosition] = lineSoFar;
     Electorate electorate = new Electorate();
     electorate.ID = int.Parse(electorateData[0]);
     electorate.Name = electorateData[1];
     //numccds???????????
     electorate.Actual = int.Parse(electorateData[3]);
     electorate.Projected = int.Parse(electorateData[4]);
     electorate.TotalPopulation = int.Parse(electorateData[5]);
     electorate.Over18 = int.Parse(electorateData[6]);
     electorate.Area = float.Parse(electorateData[7]);
     m_ElectorateDataMID.Add(electorate);
     return true;
 }
Ejemplo n.º 4
0
        public bool ParseMIF(string filename)
        {
            try
            {
                m_ElectorateReaderMIF = new StreamReader(filename);
            }
            catch
            {

            }
            for (int i = 1; i <= 17; i++)
            {
                //drop the first 17 lines -> irrelevant
                m_ElectorateReaderMIF.ReadLine();
            }
            int currentShape = -1;
            int currentRegion = -1;
            int currentPoint = -1;
            while (!m_ElectorateReaderMIF.EndOfStream)
            {

                string line = m_ElectorateReaderMIF.ReadLine();
                if (line[0] == 'R')
                {
                    //number of polys
                    Electorate electorate = new Electorate();
                    m_ElectorateDataMIF.Add(electorate);
                    currentRegion++;
                    string lineSoFar = "";
                    for (int i = 7; i < line.Length; i++)
                    {
                        lineSoFar += line[i];
                    }
                    for (int i = 1; i <= int.Parse(lineSoFar); i++)
                    {
                        Shape shape = new Shape();
                        electorate.Boundaries.Add(shape);
                    }
                }
                else if (line[0] == ' ' && line[1] == ' ' && line[2] != ' ')
                {
                    //num points
                    string lineSoFar = "";
                    for (int i = 2; i < line.Length; i++)
                    {
                        lineSoFar += line[i];
                    }
                    currentShape++;
                    currentPoint = -1;
                    for (int i = 0; i < int.Parse(lineSoFar); i++)
                    {
                        Vector2 tempVector2 = new Vector2();
                        m_ElectorateDataMIF[currentRegion].Boundaries[currentShape].points.Add(tempVector2);
                    }
                }
                else if (line[0] == ' ' && line[1] == ' ' && line[2] == ' ')
                {
                    //pen brush center
                    if (line[4] == 'C')
                    {
                        m_ElectorateDataMIF[currentRegion].Boundaries[currentShape].center = PointParse(line.Substring(11));

                        currentPoint = -1;
                        currentShape = -1;
                    }

                }
                else
                {
                    //its a point
                    currentPoint++;
                    m_ElectorateDataMIF[currentRegion].Boundaries[currentShape].points[currentPoint] = PointParse(line);
                }

            }
            return true; //cos it so works
        }