private void Page_Load(object sender, System.EventArgs e) { int j; string sTypeName; object oItem; try { if (Request.QueryString["id"] == null) { Session["lastpage"] = "view.aspx?id=" + Session["EquipId"].ToString(); Session["error"] = _functions.ErrorMessage(104); Response.Redirect("error.aspx", false); return; } try { ComponentId = Convert.ToInt32(Request.QueryString["id"]); } catch (FormatException fex) { Session["lastpage"] = "view.aspx?id=" + Session["EquipId"].ToString(); Session["error"] = _functions.ErrorMessage(105); Response.Redirect("error.aspx", false); return; } string [,] arrBrdCrumbs = new string [3, 2]; arrBrdCrumbs[0, 0] = "main.aspx"; arrBrdCrumbs[0, 1] = "Home"; arrBrdCrumbs[1, 0] = "list.aspx"; arrBrdCrumbs[1, 1] = "Equipment List"; if (Session["EquipId"] != null) { arrBrdCrumbs[2, 0] = "view.aspx?id=" + Session["EquipId"].ToString(); } else { arrBrdCrumbs[2, 0] = ParentPageURL; } arrBrdCrumbs[2, 1] = "Equipment Detail"; PageTitle = "Equipment-Edit Component"; Header.BrdCrumbs = ParseBreadCrumbs(arrBrdCrumbs, PageTitle); Header.PageTitle = PageTitle; SaveCancelControl.ParentPageURL = ParentPageURL; SourcePageName = "editComponent.aspx.cs"; if (!IsPostBack) { comp = new clsComponents(); dtCustomFields = new DataTable(); dtCustomFields.Columns.Add("TypeName"); dtCustomFields.Columns.Add("ValueName"); dtCustomFields.Columns.Add("Value_String"); dtCustomFields.Columns.Add("Value_Boolean"); dtCustomFields.Columns.Add("Value_Int"); dtCustomFields.Columns.Add("Value_DateTime"); dtCustomFields.Columns.Add("TB_Visible"); dtCustomFields.Columns.Add("DDL_Visible"); dtCustomFields.Columns.Add("CB_Visible"); dtCustomFields.Columns.Add("MM_Visible"); dtCustomFields.Columns.Add("DT_Visible"); dtCustomFields.Columns.Add("Help"); dtCustomFields.Columns.Add("Val_Visible"); dtCustomFields.Columns.Add("ErrorMessage"); dtCustomFields.Columns.Add("Exp"); if (ComponentId == 0) { // adding a component lblLastUpdate.Text = ""; ddlStatus.SelectedValue = "1"; ViewState["ComponentTypeId"] = Convert.ToInt32(Request.QueryString["typeid"]); btnRemove.Visible = false; } else { // editing a component comp.iOrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false); comp.iId = ComponentId; comp.cAction = "S"; btnRemove.Visible = true; dtCustomFieldsFromDB = comp.ComponentDetail_CustomFields(null); lblLastUpdate.Text = dtCustomFieldsFromDB.Rows[0]["UserName"].ToString() + " " + Convert.ToDateTime(dtCustomFieldsFromDB.Rows[0]["dtUpdated"]).ToString(); if ((bool)dtCustomFieldsFromDB.Rows[0]["btActive"]) { ddlStatus.SelectedValue = "1"; } else { ddlStatus.SelectedValue = "0"; } ViewState["ComponentTypeId"] = Convert.ToInt32(dtCustomFieldsFromDB.Rows[0]["TypeId"]); } arrCFD = _functions.GetCustomFields(CFDataType.Component, (int)ViewState["ComponentTypeId"], HttpContext.Current.User.Identity.Name); if (arrCFD.Count > 0) { // filling custom fields in the dtCustomFields table for (j = 0; j < arrCFD.Count; j++) { cfd = (clsCustomFieldsDef)arrCFD[j]; sTypeName = _functions.GetFieldTypeText(cfd.FieldTypeId) + cfd.NumberColumn.ToString(); if (ComponentId == 0) { oItem = DBNull.Value; } else { oItem = dtCustomFieldsFromDB.Rows[0][sTypeName]; } switch (cfd.FieldTypeId) { case DBFieldType._nvarchar: if (oItem != DBNull.Value) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, oItem, "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "False", "", "" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "False", "", "" }); } break; case DBFieldType._int: if (oItem != DBNull.Value) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, oItem, "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "True", cfd.NameText + " must be numeric", "^\\d{0,10}?$" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "True", cfd.NameText + " must be numeric", "^\\d{0,10}?$" }); } break; case DBFieldType._float: if (oItem != DBNull.Value) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, oItem, "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "True", cfd.NameText + " must be decimal numeric", "^\\d{0,8}(?:\\.\\d{0,8})?$" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "True", cfd.NameText + " must be decimal numeric", "^\\d{0,8}(?:\\.\\d{0,8})?$" }); } break; case DBFieldType._datetime: if (oItem != DBNull.Value) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, ((SqlDateTime)oItem).Value.ToShortDateString(), "False", "False", "False", "False", "True", cfd.Help, "False", "", "" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "", "False", "False", "False", "False", "True", cfd.Help, "False", "", "" }); } break; case DBFieldType._bit: if (oItem != DBNull.Value) { if (((SqlBoolean)oItem) == SqlBoolean.True) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "True", 0, "2000-01-01", "False", "False", "True", "False", "False", cfd.Help, "False", "", "" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "2000-01-01", "False", "False", "True", "False", "False", cfd.Help, "False", "", "" }); } break; } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "False", 0, "2000-01-01", "False", "False", "True", "False", "False", cfd.Help, "False", "", "" }); } break; case DBFieldType._ntext: if (oItem != DBNull.Value) { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, oItem, "2000-01-01", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "False", "", "" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, "", "2000-01-01", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "False", "", "" }); } break; case DBFieldType._sql_variant: dtCustomFields.Rows.Add(new object [] { sTypeName, cfd.NameText, (string)dtCustomFieldsFromDB.Rows[0][sTypeName], "2000-01-01", 0, "2000-01-01", "True", "False", "False", "False", "False", cfd.Help, "False", "", "" }); break; case DBFieldType._lookup: if (oItem != DBNull.Value) { if (cfd.NameLookupTable == "EquipModels") { // adding data into DropDownList controls both Make and Model dtCustomFields.Rows.Add(new object [] { sTypeName, "Make/Model", "", "False", Convert.ToInt32(oItem), "2000-01-01", "False", "False", "False", "True", "False", cfd.Help, "False", "", "" }); } else { dtCustomFields.Rows.Add(new object [] { sTypeName, "Make/Model", "", "False", "0", "2000-01-01", "False", "False", "False", "True", "False", cfd.Help, "False", "", "" }); } } else { dtCustomFields.Rows.Add(new object [] { sTypeName, "Make/Model", "", "False", "0", "2000-01-01", "False", "False", "False", "True", "False", cfd.Help, "False", "", "" }); } break; default: break; } cfd = null; } // binding main datalist ViewState["CustomFields"] = dtCustomFields; repCustomFields.DataSource = new DataView(dtCustomFields); repCustomFields.DataBind(); } else { Session["lastpage"] = ParentPageURL; Session["error"] = _functions.ErrorMessage(102); Response.Redirect("error.aspx", false); } } } catch (Exception ex) { _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName); Session["lastpage"] = ParentPageURL; Session["error"] = ex.Message; Session["error_report"] = ex.ToString(); Response.Redirect("error.aspx", false); } finally { if (comp != null) { comp.Dispose(); } } }
private void btSave_FormSubmit(object sender, EventArgs e) { DBFieldType FieldType; string sDataGridName; try { if (Request.QueryString["id"] == null) { Session["lastpage"] = "view.aspx?id=" + Session["EquipId"].ToString(); Session["error"] = _functions.ErrorMessage(104); Response.Redirect("error.aspx", false); return; } try { ComponentId = Convert.ToInt32(Request.QueryString["id"]); } catch (FormatException fex) { Session["lastpage"] = "view.aspx?id=" + Session["EquipId"].ToString(); Session["error"] = _functions.ErrorMessage(105); Response.Redirect("error.aspx", false); return; } comp = new clsComponents(); dtCustomFields = (DataTable)ViewState["CustomFields"]; comp.cAction = "U"; comp.iOrgId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, false); comp.iId = ComponentId; // editing a Equipment ot adding if ComponentId is zero comp.iEquipId = Convert.ToInt32(Session["EquipId"]); comp.iUserId = _functions.GetUserOrgId(HttpContext.Current.User.Identity.Name, true); comp.iTypeId = Convert.ToInt32(ViewState["ComponentTypeId"]); if (ddlStatus.SelectedValue == "1") { comp.bitActive = SqlBoolean.True; } else { comp.bitActive = SqlBoolean.False; } sDataGridName = "repCustomFields"; // getting data from Form and changing the dtCustomFields datatable for (int i = 0; i < dtCustomFields.Rows.Count; i++) { for (int j = 0; j < Request.Form.Count; j++) { if ((string)dtCustomFields.Rows[i]["TypeName"] == Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":inputTypeName"]) { FieldType = _functions.TypeNameParser((string)dtCustomFields.Rows[i]["TypeName"]); // nvarchar1...n, ... switch (FieldType) { case DBFieldType._nvarchar: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; case DBFieldType._int: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; case DBFieldType._float: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; case DBFieldType._datetime: dtCustomFields.Rows[i]["Value_String"] = new SqlDateTime(Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_year"]), Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_month"]), Convert.ToInt32(Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":adtValue_day"])); break; case DBFieldType._bit: if (Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":chValue"] == "ON") { dtCustomFields.Rows[i]["Value_String"] = "True"; } else { dtCustomFields.Rows[i]["Value_String"] = "False"; } break; case DBFieldType._ntext: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; case DBFieldType._sql_variant: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; case DBFieldType._lookup: if ((string)dtCustomFields.Rows[i]["ValueName"] != "Make/Model") { dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":ddlValue"]; } else { dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":mmValue:ddlModels"]; } break; default: dtCustomFields.Rows[i]["Value_String"] = Request.Form[sDataGridName + ":_ctl" + j.ToString() + ":tbValue"]; break; } } } } // saving data to database comp.ComponentDetail_CustomFields(_functions.SetDataToParameters(dtCustomFields)); if (comp.iId >= 0) { Response.Redirect("view.aspx?id=" + Session["EquipId"].ToString(), false); } else { Session["lastpage"] = "editComponent.aspx?id=" + ComponentId.ToString(); Session["error"] = _functions.ErrorMessage(110); Response.Redirect("error.aspx", false); } } catch (FormatException fex) { Session["lastpage"] = "editComponent.aspx?id=" + ComponentId.ToString(); Session["error"] = _functions.ErrorMessage(108); Response.Redirect("error.aspx", false); } catch (Exception ex) { _functions.Log(ex, HttpContext.Current.User.Identity.Name, SourcePageName); Session["lastpage"] = "editComponent.aspx?id=" + ComponentId.ToString(); Session["error"] = ex.Message; Session["error_report"] = ex.ToString(); Response.Redirect("error.aspx", false); } finally { if (comp != null) { comp.Dispose(); } } }