Exemplo n.º 1
0
        public void GetData() // was (L3ABwHrWDParams param)
        {
            // TBD, make view-model consisting of replicating L3 results and details for L2 results
            // 1) create view-model model
            // 2) populate L3-model sub-model
            // 3) populate L2-model sub-model
            //
            DataSet ds = new DataSet();
            // work-around for non-functioning constructor: results = new List<L2ABwHrWD>();

            string command = @"
                SELECT NON EMPTY { [Measures].[Bikes] } ON COLUMNS, 
                       NON EMPTY { ([CentroidA].[Level2 Locality].[Level2 Locality].ALLMEMBERS * 
                                    [CentroidB].[Level2 Locality].[Level2 Locality].ALLMEMBERS * 
                                    [Time Table].[Hourofday].[Hourofday].ALLMEMBERS * 
                                    [Time Table].[Nameofday].[Nameofday].ALLMEMBERS *  
                                    [Time Table].[Dayofweek].[Dayofweek].ALLMEMBERS ) 
                                  } DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
                FROM 
                  ( 
                   SELECT ( STRTOSET(@DirectionDirection, CONSTRAINED) ) ON COLUMNS 
                   FROM ( 
                     SELECT ( STRTOSET(@CentroidBLevelLocality, CONSTRAINED) ) ON COLUMNS 
                     FROM ( 
                       SELECT ( STRTOSET(@CentroidALevelLocality, CONSTRAINED) ) ON COLUMNS 
                       FROM [Bikeshare]
                              )
                          )
                        ) 
                   WHERE ( 
                     IIF( 
                       STRTOSET(@CentroidALevelLocality, CONSTRAINED).Count = 1, 
                       STRTOSET(@CentroidALevelLocality, CONSTRAINED), 
                       [CentroidA].[Level3 Locality].currentmember 
                         ), 
                     IIF( 
                       STRTOSET(@CentroidBLevelLocality, CONSTRAINED).Count = 1, 
                       STRTOSET(@CentroidBLevelLocality, CONSTRAINED), 
                       [CentroidB].[Level3 Locality].currentmember 
                         ), 
                     IIF( 
                       STRTOSET(@DirectionDirection, CONSTRAINED).Count = 1, 
                       STRTOSET(@DirectionDirection, CONSTRAINED), 
                       [Direction].[Direction].currentmember 
                        ) 
                  )";

            using (AdomdConnection conn = new AdomdConnection("Data Source=miranda;Initial Catalog=bikesMD2"))
            {
                conn.Open();
                using (AdomdCommand cmd = new AdomdCommand(command, conn))
                {
                    cmd.Parameters.Add(new AdomdParameter("DirectionDirection", queryparameters.Direction.UniqueName));
                    cmd.Parameters.Add(new AdomdParameter("CentroidALevelLocality", queryparameters.Level3A.UniqueName));
                    cmd.Parameters.Add(new AdomdParameter("CentroidBLevelLocality", queryparameters.Level3B.UniqueName));
                    AdomdDataAdapter adapter = new AdomdDataAdapter(cmd);
                    adapter.Fill(ds);
                }
                conn.Close();
            }
            // results in ds.Tables[0]
            // need to transfer to new list
            DataTable dt = ds.Tables[0];
            Dictionary <string, int> colnbr = new Dictionary <string, int>();

            //Dictionary(<string>,<int>) colnbr = new Dictionary(<string>,<int>);
            foreach (DataColumn dc in dt.Columns)
            {
                colnbr.Add(dc.ColumnName, dc.Ordinal);
            }
            foreach (DataRow dr in dt.Rows)
            {
                L2ABwHrWD oneresult = new L2ABwHrWD(dr, colnbr);

                results.Add(oneresult);
            }
        }
Exemplo n.º 2
0
        // was (L3ABwHrWDParams param)
        public void GetData()
        {
            // TBD, make view-model consisting of replicating L3 results and details for L2 results
            // 1) create view-model model
            // 2) populate L3-model sub-model
            // 3) populate L2-model sub-model
            //
            DataSet ds = new DataSet();
            // work-around for non-functioning constructor: results = new List<L2ABwHrWD>();

            string command = @"
                SELECT NON EMPTY { [Measures].[Bikes] } ON COLUMNS,
                       NON EMPTY { ([CentroidA].[Level2 Locality].[Level2 Locality].ALLMEMBERS *
                                    [CentroidB].[Level2 Locality].[Level2 Locality].ALLMEMBERS *
                                    [Time Table].[Hourofday].[Hourofday].ALLMEMBERS *
                                    [Time Table].[Nameofday].[Nameofday].ALLMEMBERS *
                                    [Time Table].[Dayofweek].[Dayofweek].ALLMEMBERS )
                                  } DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS
                FROM
                  (
                   SELECT ( STRTOSET(@DirectionDirection, CONSTRAINED) ) ON COLUMNS
                   FROM (
                     SELECT ( STRTOSET(@CentroidBLevelLocality, CONSTRAINED) ) ON COLUMNS
                     FROM (
                       SELECT ( STRTOSET(@CentroidALevelLocality, CONSTRAINED) ) ON COLUMNS
                       FROM [Bikeshare]
                              )
                          )
                        )
                   WHERE (
                     IIF(
                       STRTOSET(@CentroidALevelLocality, CONSTRAINED).Count = 1,
                       STRTOSET(@CentroidALevelLocality, CONSTRAINED),
                       [CentroidA].[Level3 Locality].currentmember
                         ),
                     IIF(
                       STRTOSET(@CentroidBLevelLocality, CONSTRAINED).Count = 1,
                       STRTOSET(@CentroidBLevelLocality, CONSTRAINED),
                       [CentroidB].[Level3 Locality].currentmember
                         ),
                     IIF(
                       STRTOSET(@DirectionDirection, CONSTRAINED).Count = 1,
                       STRTOSET(@DirectionDirection, CONSTRAINED),
                       [Direction].[Direction].currentmember
                        )
                  )";

            using (AdomdConnection conn = new AdomdConnection("Data Source=miranda;Initial Catalog=bikesMD2"))
            {
                conn.Open();
                using (AdomdCommand cmd = new AdomdCommand(command, conn))
                {
                    cmd.Parameters.Add(new AdomdParameter("DirectionDirection", queryparameters.Direction.UniqueName));
                    cmd.Parameters.Add(new AdomdParameter("CentroidALevelLocality", queryparameters.Level3A.UniqueName));
                    cmd.Parameters.Add(new AdomdParameter("CentroidBLevelLocality", queryparameters.Level3B.UniqueName));
                    AdomdDataAdapter adapter = new AdomdDataAdapter(cmd);
                    adapter.Fill(ds);
                }
                conn.Close();
            }
            // results in ds.Tables[0]
            // need to transfer to new list
            DataTable dt = ds.Tables[0];
            Dictionary<string,int> colnbr = new Dictionary<string,int >();
            //Dictionary(<string>,<int>) colnbr = new Dictionary(<string>,<int>);
            foreach (DataColumn dc in dt.Columns)
            {
                colnbr.Add(dc.ColumnName, dc.Ordinal);
            }
            foreach (DataRow dr in dt.Rows)
            {
                L2ABwHrWD oneresult = new L2ABwHrWD(dr, colnbr);

                results.Add(oneresult);
            }
        }