Beispiel #1
0
    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();
        }
    }
Beispiel #2
0
    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();
                    }
                }
            }
        }
    }