protected void BtnSave_Click(object sender, EventArgs e)
{
try
{
DataTable dt = DynamicColumns();
SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["ETRMDBString"]);
SqlBulkCopy bc = new SqlBulkCopy(con.ConnectionString, SqlBulkCopyOptions.TableLock);
bc.DestinationTableName = "ETRMForecastDetails";
bc.BatchSize = dt.Rows.Count;
con.Open();
bc.WriteToServer(dt);
bc.Close();
con.Close();
Common.alert("Data Save Sucessfully!", this);
grdForcastImport.DataSource = null;
grdForcastImport.DataBind();
ViewState["dt"] = null;
trSave.Visible = false;
trupload.Visible = true;
clearFolder(Server.MapPath("~/Upload/"));
}
catch (Exception ex)
{
Common.alert(ex.Message , this);
}
}
DataTable DynamicColumns()
{
DataTable dt = new DataTable();
DataColumn dc; DataRow row;
dc = new DataColumn("FrcId"); dt.Columns.Add(dc);
dc = new DataColumn("ForeType"); dt.Columns.Add(dc);
dc = new DataColumn("RefUOMId"); dt.Columns.Add(dc);
dc = new DataColumn("Volume"); dt.Columns.Add(dc);
dc = new DataColumn("PType"); dt.Columns.Add(dc);
dc = new DataColumn("ProfileCompID"); dt.Columns.Add(dc);
dc = new DataColumn("ProfileLocID"); dt.Columns.Add(dc);
dc = new DataColumn("Year"); dt.Columns.Add(dc);
dc = new DataColumn("Month"); dt.Columns.Add(dc);
dc = new DataColumn("Date"); dt.Columns.Add(dc);
dc = new DataColumn("Hours"); dt.Columns.Add(dc);
dc = new DataColumn("Createdby"); dt.Columns.Add(dc);
dc = new DataColumn("Createddate"); dt.Columns.Add(dc);
dc = new DataColumn("UpdatedBy"); dt.Columns.Add(dc);
dc = new DataColumn("UpdatedDate"); dt.Columns.Add(dc);
dc = new DataColumn("TimeZoneid"); dt.Columns.Add(dc);
DataTable vdt = (DataTable)ViewState["dt"];
foreach (DataRow dr in vdt.Rows)
{
row = dt.NewRow();
row["FrcId"] = 0;
row["RefUOMId"] = dr[2].ToString();
row["ForeType"] = dr[1].ToString();
row["Volume"] = dr[3].ToString();
row["PType"] = dr[4].ToString();
row["ProfileCompID"] = dr[5].ToString() == "" ? Convert.DBNull : dr[5].ToString();
row["ProfileLocID"] = dr[6].ToString() == "" ? Convert.DBNull : dr[6].ToString();
row["Year"] = dr[7].ToString();
row["Month"] = dr[8].ToString();
row["Date"] = dr[9].ToString();
row["Hours"] = dr[10].ToString();
row["Createdby"] = "1";
row["Createddate"] = DateTime.Now.ToString("dd-MMM-yyyy HH:mm");
row["UpdatedBy"] = "1";
row["UpdatedDate"] = DateTime.Now.ToString("dd-MMM-yyyy HH:mm");
row["TimeZoneid"] = dr[11];
dt.Rows.Add(row);
}
return dt;
}