private void dgSP_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { try { SPGDataHelper spg = new SPGDataHelper(); dgSPParams.Rows.Clear(); lStoredProcedure.Text = spg.GetStoredProcedureContent(tConString.Text, dgSP.Rows[e.RowIndex].Cells[0].Value.ToString()); lClass.Text = SPGHelper.GenerateClass(tConString.Text, tNamespace.Text, dgSP.Rows[e.RowIndex].Cells["SPName"].Value.ToString(), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["Skip"].Value.ToString()), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteDataSet"].Value.ToString()), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteDataReader"].Value.ToString()), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteXML"].Value.ToString()), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteNonQuery"].Value.ToString()), Convert.ToBoolean(dgSP.Rows[e.RowIndex].Cells["ExecuteScalar"].Value.ToString()), dgSPParams).ToString(); } catch (Exception ex) { sbStatus.Text = ex.Message; } } }
private void SynchronizeSP() { if (!SPGDataHelper.TestConString(tConString.Text)) { sbStatus.Text = "Connection String Error ..."; } else { try { bool bMerge = false; bool bReplace = false; SPGDataHelper spg = new SPGDataHelper(); if (isExistingProject) { DialogResult sr = MessageBox.Show("Synchronizing Stored Procedures will remove current listings. Click Yes to replace, No to merge or Cancel action", "", MessageBoxButtons.YesNoCancel); if (sr == DialogResult.Yes) { bReplace = true; } else if (sr == DialogResult.No) { bMerge = true; } } else { bReplace = true; } if (bReplace || bMerge) { try { if (bReplace) { dgSP.Rows.Clear(); } SqlDataReader dr = spg.GetStoredProcedureList(tConString.Text); while (dr.Read()) { bool pSkip = false; bool pExecuteDataSet = false; bool pExecuteDataReader = false; bool pExecuteNonQuery = false; bool pExecuteScalar = false; bool pExecuteXML = false; spg.GetStoredProcedureMetadata(tConString.Text, dr["name"].ToString(), out pSkip, out pExecuteDataSet, out pExecuteDataReader, out pExecuteXML, out pExecuteNonQuery, out pExecuteScalar); if (bMerge) { bool bExists = false; foreach (DataGridViewRow dvgr in dgSP.Rows) { if (dvgr.Cells[0].Value.ToString() == dr["name"].ToString()) { bExists = true; if (bExists && (pSkip || pExecuteDataSet || pExecuteDataReader || pExecuteXML || pExecuteNonQuery || pExecuteScalar)) { dvgr.Cells["Skip"].Value = pSkip; dvgr.Cells["ExecuteDataSet"].Value = pExecuteDataSet; dvgr.Cells["ExecuteDataReader"].Value = pExecuteDataReader; dvgr.Cells["ExecuteXML"].Value = pExecuteXML; dvgr.Cells["ExecuteNonQuery"].Value = pExecuteNonQuery; dvgr.Cells["ExecuteScalar"].Value = pExecuteScalar; } break; } } if (!bExists) { dgSP.Rows.Add(dr["name"].ToString(), pSkip, pExecuteDataSet, pExecuteDataReader, pExecuteXML, pExecuteNonQuery, pExecuteScalar); sbStatus.Text = "Stored Procedure [" + dr["name"].ToString() + "] added"; bExists = false; } } else { dgSP.Rows.Add(dr["name"].ToString(), pSkip, pExecuteDataSet, pExecuteDataReader, pExecuteXML, pExecuteNonQuery, pExecuteScalar); sbStatus.Text = "Stored Procedure [" + dr["name"].ToString() + "] added"; } } isExistingProject = true; } catch (SqlException sqle) { sbStatus.Text = sqle.Message; } } } catch (Exception ex) { sbStatus.Text = ex.Message; } } }