Beispiel #1
0
        bool IsValid(DbView dbView)
        {
            // TODO
            var query = dbView.CreateViewQuery;

            return(false);
        }
        public IEnumerable <DbEntry> GetDbEntries(string connectionString, DbView dbView)
        {
            var query = dbView.GetFullSelectQuery();
            var businessColumnCount = dbView.BusinessIdColumnNameList.Count;
            var columnCount         = dbView.ColumnNameList.Count;
            var createViewQuery     = dbView.CreateViewQuery;

            var cnn = new SqlConnection(connectionString);

            cnn.Open();
            var sqlTransaction = cnn.BeginTransaction();

            try
            {
                var createViewCmd = new SqlCommand(createViewQuery, cnn, sqlTransaction);
                createViewCmd.ExecuteNonQuery();
                var cmd = new SqlCommand(query, cnn, sqlTransaction);
                using (var dataReader = cmd.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        var businessIdColumnList = new List <string>();
                        for (var i = 0; i < businessColumnCount; i++)
                        {
                            var businessColumnContent = dataReader.GetValue(i).ToString();
                            businessIdColumnList.Add(businessColumnContent);
                        }
                        var columnList = new List <string>();
                        for (var i = businessColumnCount; i < businessColumnCount + columnCount; i++)
                        {
                            var columnContent = dataReader.GetValue(i).ToString();
                            columnList.Add(columnContent);
                        }
                        var dbEntry = new DbEntry
                        {
                            BusinessId = new DbBusinessId(dbView.ViewName, businessIdColumnList.ToArray()),
                            ColumnList = columnList
                        };

                        yield return(dbEntry);
                    }
                }
            }
            finally
            {
                sqlTransaction.Rollback();
            }

            cnn.Close();
        }
Beispiel #3
0
        public SqlDbStateReference GetSqlDbStateReference(string connectionString, DbView dbView)
        {
            var stateReference = new SqlDbStateReference(new SqlService(), connectionString, dbView);

            return(stateReference);
        }
Beispiel #4
0
 public SqlDbStateReference(SqlService sqlService, string connectionString, DbView dbView)
 {
     _sqlService       = sqlService;
     _connectionString = connectionString;
     DbView            = dbView;
 }
Beispiel #5
0
 public DbState(DbView dbView, IEnumerable <DbEntry> dbEntries)
 {
     DbView      = dbView;
     DbEntryList = dbEntries.ToList();
 }