private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("S#");
dt.Columns.Add("FileName");
dt.Columns.Add("Status");
dt.Columns.Add("ErrorMessage");
txtFolderPath.Text = ConfigurationManager.AppSettings["FolderPath"].ToString();
}
private void LoadFiles(string path)
{
int num = 1;
DataTable dt = new DataTable();
foreach(string file in Directory.GetFiles(path))
{
string fileName = Path.GetFileName(file);
dt.Rows.Add((object)num++, (object)fileName, (object)"", (object)"");
}
dgvExecuteStatus.DataSource = (object)dt;
dgvExecuteStatus.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgvExecuteStatus.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgvExecuteStatus.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgvExecuteStatus.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
private void ExecuteScripts(object sender, DoWorkEventArgs e)
{
BackgroundWorker backgroundWorker = sender as BackgroundWorker;
DataTable dataTable = (DataTable)(e.Argument as Dictionary<string, object>)["DataTable"];
try
{
//
}
catch (Exception ex)
{
int num = (int)MessageBox.Show(ex.Message, "Database Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Hand);
return;
}
int count = this.dgvExecuteStatus.Rows.Count;
for (int index = 0; index < count; ++index)
{
if (backgroundWorker.CancellationPending)
{
e.Cancel = true;
return;
}
backgroundWorker.ReportProgress((index + 1) * 100 / count, (object)((index + 1).ToString() + " of " + (object)count + " scripts executed..."));
DataGridViewRow row = this.dgvExecuteStatus.Rows[index];
string path = this.txtFolderPath.Text + "\\" + row.Cells[1].Value.ToString();
try
{
string script = File.ReadAllText(path).Replace("SET ANSI_NULLS ON", "").Replace("GO", "").Replace("SET QUOTED_IDENTIFIER ON", "").Replace("ALTER", "CREATE");
//objDAL.ExecuteScript(script);
Thread.Sleep(1000);
//objDAL.ExecuteScript(script.Replace("CREATE", "ALTER"));
string str = "Success";
row.Cells[2].Value = (object)str;
row.Cells[2].Style.BackColor = Color.Green;
row.Cells[2].Style.ForeColor = Color.White;
}
catch (Exception ex)
{
row.Cells[2].Value = (object)"Failed";
row.Cells[2].Style.BackColor = Color.Red;
row.Cells[2].Style.ForeColor = Color.White;
row.Cells[3].Value = (object)ex.Message;
}
Thread.Sleep(2000);
}
backgroundWorker.ReportProgress(100, (object)"Scripts execution completed");
}
private void btnBrowse_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
folderBrowserDialog.SelectedPath = this.txtFolderPath.Text;
if (folderBrowserDialog.ShowDialog() != DialogResult.OK)
return;
txtFolderPath.Text = folderBrowserDialog.SelectedPath;
LoadFiles(this.txtFolderPath.Text);
}
private void btnExecute_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
btnExecute.Enabled = false;
LoadingBar loadingBar = new LoadingBar("Executing Scripts", new DoWorkEventHandler(ExecuteScripts), new Dictionary<string, object>()
{
{
"DataTable",(object)dt
}
});
int num1 = (int)loadingBar.ShowDialog();
if (!(loadingBar.TaskStatus == "Cancelled"))
return;
int num2 = (int)MessageBox.Show("Execution cancelled", "Scripts Execution", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
string fileName = Path.GetFileName(file);
dt.Rows.Add((object)num++, (object)fileName, (object)"", (object)"");
iam Highlit which value in object Value like textbox or lable or path ,filename