protected void Page_Load(object sender, EventArgs e) { if (!(IsPostBack)) { var model = new AttributeMappingSource().GetModel(typeof(DataClassesDataContext)); List <TableDetail> tableDetails = new List <TableDetail>(); List <MetaTable> temp = model.GetTables().ToList(); for (int i = 0; i < temp.Count; i++) { string tableName = temp[i].TableName; string prefix = tableName.Substring(0, 3); string tableWithoutPrefix = tableName.Substring(4); string tableNameInDB = "[" + prefix + "].[" + tableWithoutPrefix + "]"; using (Broker.LoggingDataAccess.LoggingDataContext dc = new LoggingDataContext()) { TableDetail newDetail = new TableDetail(); newDetail.Name = tableWithoutPrefix; newDetail.Index = i; newDetail.Insert = true; newDetail.Delete = true; newDetail.Select = true; newDetail.Update = true; DBLoggingIgnoredTable tempIgnoredTable = dc.DBLoggingIgnoredTables.Where(c => c.TableName == tableWithoutPrefix).FirstOrDefault(); if (tempIgnoredTable != null) { int ignoredTableID = tempIgnoredTable.ID; foreach (DBLoggingIgnoredTableActivity item in dc.DBLoggingIgnoredTableActivities.Where(c => c.DbLoggingIgnoredTableID == ignoredTableID).ToList()) { switch (item.ActivityTypeID) { case 1: { newDetail.Insert = false; break; } case 2: { newDetail.Delete = false; break; } case 3: { newDetail.Select = false; break; } case 4: { newDetail.Update = false; break; } default: break; } } } tableDetails.Add(newDetail); } } gvTables.DataSource = tableDetails; gvTables.DataBind(); } }
protected void cbUpdate_changed(object sender, EventArgs e) { foreach (GridViewRow gvrow in gvTables.Rows) { CheckBox chk = (CheckBox)gvrow.FindControl("cbUpdate"); if (chk != null & chk.Checked) { string tableName = gvTables.Rows[gvrow.RowIndex].Cells[0].Text; using (Broker.LoggingDataAccess.LoggingDataContext dc = new LoggingDataContext()) { DBLoggingIgnoredTable ignoredTable = dc.DBLoggingIgnoredTables.Where(c => c.TableName == tableName).FirstOrDefault(); if (ignoredTable != null) { foreach (DBLoggingIgnoredTableActivity ignoredActivity in ignoredTable.DBLoggingIgnoredTableActivities) { if (ignoredActivity.ActivityTypeID == (int)Activities.UPDATE) { dc.DBLoggingIgnoredTableActivities.DeleteOnSubmit(ignoredActivity); } } dc.SubmitChanges(); if (ignoredTable.DBLoggingIgnoredTableActivities.Count == 0) { dc.DBLoggingIgnoredTables.DeleteOnSubmit(ignoredTable); dc.SubmitChanges(); } } } } if (chk != null & chk.Checked == false) { //string tableName = gvTables.DataKeys[gvrow.RowIndex].Values[0].ToString(); string tableName = gvTables.Rows[gvrow.RowIndex].Cells[0].Text; using (Broker.LoggingDataAccess.LoggingDataContext dc = new LoggingDataContext()) { DBLoggingIgnoredTable ignoredTable = dc.DBLoggingIgnoredTables.Where(c => c.TableName == tableName).FirstOrDefault(); if (ignoredTable != null) { bool exists = false; foreach (DBLoggingIgnoredTableActivity ignoredActivity in ignoredTable.DBLoggingIgnoredTableActivities) { if (ignoredActivity.ActivityTypeID == (int)Activities.UPDATE) { exists = true; } } if (!exists) { DBLoggingIgnoredTableActivity newIgnoredActivity = new DBLoggingIgnoredTableActivity(); newIgnoredActivity.ActivityTypeID = (int)Activities.UPDATE; newIgnoredActivity.DBLoggingIgnoredTable = ignoredTable; dc.DBLoggingIgnoredTableActivities.InsertOnSubmit(newIgnoredActivity); dc.SubmitChanges(); } } else { ignoredTable = new DBLoggingIgnoredTable(); ignoredTable.TableName = tableName; dc.DBLoggingIgnoredTables.InsertOnSubmit(ignoredTable); DBLoggingIgnoredTableActivity newIgnoredActivity = new DBLoggingIgnoredTableActivity(); newIgnoredActivity.ActivityTypeID = (int)Activities.UPDATE; newIgnoredActivity.DBLoggingIgnoredTable = ignoredTable; dc.DBLoggingIgnoredTableActivities.InsertOnSubmit(newIgnoredActivity); dc.SubmitChanges(); } } } } }