protected void doClick(object sender, EventArgs e) { string sql = ""; List <Control> list = new List <Control>(); list = cmstrDefualts.getControls2(container); if (formStatus == Status.Insert) { if (ItemInserting != null) { string resultInserting = ItemInserting(); if (resultInserting == "insert") { } else if (resultInserting == "") { formStatus = Status.Cancel; } else { if (int.TryParse(resultInserting, out dataKeyFieldValue)) { formStatus = Status.Update; } else { formStatus = Status.Cancel; } } } } #region Update if (formStatus == Status.Update) { ItemUpdated += DummyItemInserted; ItemUpdating += DummyItemInserted; ItemUpdating(dataKeyFieldValue.ToString()); // upadete table sql += String.Format("Update {0} Set ", tableName); MymsgLabel.Text = ""; int controlsCount = 0; for (int i = 0; i < list.Count; i++) { if (list[i] is CMSTRBase) { CMSTRBase MyControls = (CMSTRBase)list[i]; if (MyControls.Enabled == true) { if (!String.IsNullOrEmpty(MyControls.DataFieldName)) { controlsCount++; if (controlsCount > 1) { sql += ","; } switch (MyControls.DataFieldType) { case DataTypes.String: sql += String.Format(" `{0}`='{1}' ", MyControls.DataFieldName, MyControls.DataFieldValue.Replace("'", "''")); break; case DataTypes.Number: sql += String.Format(" `{0}`={1}", MyControls.DataFieldName, MyControls.DataFieldValue); break; case DataTypes.Bool: if (MyControls.DataFieldValue.ToString().ToLower() == "true" || MyControls.DataFieldValue.ToString().ToLower() == "false") { sql += String.Format(" `{0}`={1}", MyControls.DataFieldName, MyControls.DataFieldValue); } else { sql += String.Format(" `{0}`={1}", MyControls.DataFieldName, "false"); } break; case DataTypes.DateTime: DateTime myDateTime = new DateTime(); if (MyControls.DataFieldValue == null || MyControls.DataFieldValue.ToString() == "" || !DateTime.TryParse(MyControls.DataFieldValue.ToString().Replace(".", "/"), out myDateTime)) { sql += String.Format(" `{0}`='{1}'", MyControls.DataFieldName, DateTime.Now.ToString("yyyy-MM-dd")); } else { sql += String.Format(" `{0}`='{1}'", MyControls.DataFieldName, myDateTime.ToString("yyyy-MM-dd")); } break; case DataTypes.File: string DirName = ((ASP.controls_cmstrfileuploadrcontrol_ascx)MyControls).SaveDirectory; //;"usersImages"; int size = 0; string myfile = MapPath(MyControls.DataFieldValue); if (!File.Exists(myfile.Replace("tempFile", DirName))) { while (File.Exists(myfile)) { File.Copy(myfile, myfile.Replace("tempFile", DirName), true); size++; myfile = myfile.Replace("_size" + (size - 1), "_size" + size); } sql += String.Format(" `{0}`='{1}' ", MyControls.DataFieldName, MyControls.DataFieldValue.Replace("'", "''").Replace("tempFile", DirName)); } else { sql = sql.Remove(sql.Length - 1); } break; } } } } } sql += String.Format(" where {0}={1}", DataKeyField, dataKeyFieldValue); } #endregion #region insert to table if (formStatus == Status.Insert) { ItemInserted += DummyItemInserted; sql = String.Format("Insert Into {0} ", tableName); string fieldlist = ""; string valuelist = ""; int controlsCount = 0; for (int i = 0; i < list.Count; i++) { if (list[i] is CMSTRBase) { CMSTRBase MyControls = (CMSTRBase)list[i]; if (MyControls.Enabled == true && !String.IsNullOrEmpty(MyControls.DataFieldName)) { controlsCount++; if (controlsCount > 1) { fieldlist += ","; valuelist += ","; } switch (MyControls.DataFieldType) { case DataTypes.String: fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" '{0}' ", MyControls.DataFieldValue.Replace("'", "''")); break; case DataTypes.Number: if (MyControls.DataFieldValue == null || MyControls.DataFieldValue.ToString() == "") { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" {0} ", 0); } else { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" {0} ", MyControls.DataFieldValue); } break; case DataTypes.Bool: if (MyControls.DataFieldValue.ToString().ToLower() == "true" || MyControls.DataFieldValue.ToString().ToLower() == "false") { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" {0} ", MyControls.DataFieldValue); } else { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format("{0}", "false"); } break; case DataTypes.DateTime: if (MyControls.DataFieldValue == null || MyControls.DataFieldValue.ToString() == "") { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" '{0}' ", (FullDate ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") : DateTime.Now.ToString("yyyy-MM-dd"))); } else { fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" '{0}' ", (FullDate ? DateTime.Parse(MyControls.DataFieldValue).ToString("yyyy-MM-dd HH:mm:ss") : DateTime.Parse(MyControls.DataFieldValue).ToString("yyyy-MM-dd"))); } break; case DataTypes.File: string DirName = ((ASP.controls_cmstrfileuploadrcontrol_ascx)MyControls).SaveDirectory; //;"usersImages"; int size = 0; string myfile = MapPath(MyControls.DataFieldValue); if (!File.Exists(myfile.Replace("tempFile", DirName))) { while (File.Exists(myfile)) { File.Copy(myfile, myfile.Replace("tempFile", DirName), true); size++; myfile = myfile.Replace("_size" + (size - 1), "_size" + size); } fieldlist += String.Format(" `{0}`", MyControls.DataFieldName); valuelist += String.Format(" '{0}' ", MyControls.DataFieldValue.Replace("'", "''").Replace("tempFile", DirName)); } else { fieldlist = fieldlist.Remove(sql.Length - 1); valuelist = valuelist.Remove(sql.Length - 1); } break; } } } } //set order if (hasOrder == true && orderField != "") { fieldlist += ","; valuelist += ","; fieldlist += String.Format(" `{0}`", orderField); valuelist += String.Format(" {0} ", "1"); } sql += String.Format(" ({0}) Values ({1})", fieldlist, valuelist); } #endregion using (MySqlConnection conn = new MySqlConnection(siteDefaults.ConnStr)) { conn.Open(); if (formStatus == Status.Insert) { if (hasOrder == true && orderField != "") { string sqlOrder = String.Format("Update {0} Set {1}={1}+1 {2}", tableName, orderField, OrderQuery); MySqlCommand cmdOrder = new MySqlCommand(sqlOrder, conn); cmdOrder.ExecuteNonQuery(); } } MySqlCommand cmd = new MySqlCommand(sql, conn); if (formStatus != Status.Cancel) { // mark out the outputdown // MymsgLabel.Text = cmd.CommandText; cmd.ExecuteNonQuery(); } if (formStatus == Status.Insert) { //gets the new User's ID cmd.CommandText = "SELECT last_insert_id() AS NewUserID"; MySqlDataReader MyReader; MyReader = cmd.ExecuteReader(); if (MyReader.Read()) { //sends the new user's ID with the event showing it was inserted if (MyReader["NewUserID"].ToString() != "" && MyReader["NewUserID"].ToString() != "0") { ItemInserted(MyReader["NewUserID"].ToString()); } } MyReader.Close(); conn.Close(); } if (closeFancy) { string _js = "parent.$.fancybox.close();"; Page.ClientScript.RegisterStartupScript(GetType(), "close", _js, true); } } if (formStatus == Status.Update) { ItemUpdated(dataKeyFieldValue.ToString()); } if (formStatus == Status.Insert) { if (!closeFancy && isInsertRedirect) { Response.Redirect(BackURL); } } else { MymsgLabel.Text = UpdateMessage; } if (formStatus == Status.Cancel) { Response.Redirect(BackURL); } }
void Page_PreRender() { FormHolder.Attributes["class"] = CssClass; mybuttton.Text = savebuttonText; if (saveButtonToolTip != "") { mybuttton.ToolTip = saveButtonToolTip; } if (dataKeyFieldValue != 0) { using (MySqlConnection conn = new MySqlConnection(cmstrDefualts.ConnStr)) { string sql = String.Format("Select * From {0} where {1}={2}", tableName, dataKeyField, dataKeyFieldValue); MySqlDataAdapter MyAdapter = new MySqlDataAdapter(sql, conn); MyAdapter.Fill(ds, "MyData"); dv = ds.Tables["MyData"].DefaultView; } List <Control> list = new List <Control>(); list = cmstrDefualts.getControls2(container); if (list.Count > 0 && dv.Count > 0) { for (int i = 0; i < list.Count; i++) { if (list[i] is CMSTRBase) { if (((CMSTRBase)list[i]).DataFieldName == null || dv[0][((CMSTRBase)list[i]).DataFieldName] == null) { } else { CMSTRBase MyControls = ((CMSTRBase)list[i]); if (!IsPostBack && MyControls.DataForceValue) { } else { switch (MyControls.DataFieldType) { case DataTypes.Bool: if (MyControls.DataFieldValue.ToLower() != "false" && MyControls.DataFieldValue.ToLower() != "true") { MyControls.DataFieldValue = "false"; } else { MyControls.DataFieldValue = dv[0][((CMSTRBase)list[i]).DataFieldName].ToString(); } break; default: MyControls.DataFieldValue = dv[0][((CMSTRBase)list[i]).DataFieldName].ToString(); break; } } } } } } } if (formStatus == Status.Disabled) { List <Control> list = new List <Control>(); list = cmstrDefualts.getControls2(container); for (int i = 0; i < list.Count; i++) { if (list[i] is CMSTRBase) { CMSTRBase MyControls = ((CMSTRBase)list[i]); MyControls.Enabled = false; } } } if (formStatus == Status.Insert) { VisibleSaveAndBackButton = false; } }