protected void grdConditions_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Footer) { int conditionId = 0; conditionId = int.Parse(((DropDownList)e.Row.FindControl("ddlName")).SelectedValue); DropDownList ddlOperator = ((DropDownList)e.Row.FindControl("ddlOperator")); if (conditionId > 0) { DropDownList ddlConditionNumber = ((DropDownList)e.Row.FindControl("ddlConditionNumber")); WorkViewTDS dataSet = new WorkViewTDS(); dataSet.WorkViewConditionNew.Merge(workViewConditionNew, true); WorkViewConditionNew model = new WorkViewConditionNew(dataSet); int conditionNumber = model.GetNewConditionNumber(); ddlConditionNumber.SelectedValue = conditionNumber.ToString(); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); if (ddlOperator.SelectedItem == null) { WorkTypeViewOperatorList workTypeViewOperatorList = new WorkTypeViewOperatorList(new DataSet()); workTypeViewOperatorList.LoadAndAddItem(type, Int32.Parse(hdfCompanyId.Value)); ddlOperator.DataSource = workTypeViewOperatorList.Table; ddlOperator.DataValueField = "Sign"; ddlOperator.DataTextField = "Operator"; ddlOperator.DataBind(); ddlOperator.SelectedIndex = 0; } if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal") || (type == "Distance")) { ddlOperator.Enabled = true; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = true; DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if ((type == "FixedItems") || (type == "DynamicItems") || (type == "Boolean")) { ddlOperator.Enabled = false; if (type == "FixedItems") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = true; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "DynamicItems") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = true; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "Boolean") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = false; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = true; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = true; } } } } if ((e.Row.RowType == DataControlRowType.DataRow) && ((e.Row.RowState == DataControlRowState.Edit) || (e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate)))) { WorkViewTDS dataSet = new WorkViewTDS(); dataSet.WorkViewConditionNew.Merge(workViewConditionNew, true); WorkViewConditionNewGateway gateway = new WorkViewConditionNewGateway(dataSet); int id = int.Parse(((Label)e.Row.FindControl("lblId")).Text); int conditionId = gateway.GetConditionId(id); DropDownList ddlName = ((DropDownList)e.Row.FindControl("ddlName")); DropDownList ddlOperator = ((DropDownList)e.Row.FindControl("ddlOperator")); if (conditionId > 0) { WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); ddlName.DataBind(); ddlName.SelectedValue = conditionId.ToString(); WorkTypeViewOperatorList workTypeViewOperatorList = new WorkTypeViewOperatorList(new DataSet()); workTypeViewOperatorList.LoadAndAddItem(type, Int32.Parse(hdfCompanyId.Value)); ddlOperator.DataSource = workTypeViewOperatorList.Table; ddlOperator.DataValueField = "Sign"; ddlOperator.DataTextField = "Operator"; ddlOperator.DataBind(); ddlOperator.SelectedValue = gateway.GetSign(id); if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal") || (type == "Distance")) { ddlOperator.Enabled = true; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = true; tbxValue.Text = gateway.GetValue_(id); DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if ((type == "FixedItems") || (type == "DynamicItems") || (type == "Boolean")) { ddlOperator.Enabled = false; if (type == "FixedItems") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = true; // Prepare initial data // ... For view type WorkTypeViewConditionItemList workTypeViewConditionItemList = new WorkTypeViewConditionItemList(new DataSet()); workTypeViewConditionItemList.LoadAndAddItemInView(hdfWorkType.Value, Int32.Parse(hdfCompanyId.Value), conditionId); ddlValue.DataSource = workTypeViewConditionItemList.Table; ddlValue.DataValueField = "Name"; ddlValue.DataTextField = "Name"; ddlValue.DataBind(); ddlValue.SelectedValue = gateway.GetValue_(id); TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "DynamicItems") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = true; // Prepare initial data // ... For view type WorkTypeViewSubAreaList workTypeViewSubAreaList = new WorkTypeViewSubAreaList(new DataSet()); workTypeViewSubAreaList.LoadAndAddItem(hdfWorkType.Value, Int32.Parse(hdfCompanyId.Value), int.Parse(hdfProjectId.Value)); if (workTypeViewSubAreaList.Table.Rows.Count > 0) { ddlValue.DataSource = workTypeViewSubAreaList.Table; ddlValue.DataValueField = "SubArea"; ddlValue.DataTextField = "SubArea"; ddlValue.DataBind(); ddlValue.SelectedValue = gateway.GetValue_(id); } else { ddlValue.Visible = false; } TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "Boolean") { DropDownList ddlValue = ((DropDownList)e.Row.FindControl("ddlValue")); ddlValue.Visible = false; TextBox tbxValue = ((TextBox)e.Row.FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)e.Row.FindControl("rbtnYes")); rbtnYes.Visible = true; RadioButton rbtnNo = ((RadioButton)e.Row.FindControl("rbtnNo")); rbtnNo.Visible = true; if (gateway.GetValue_(id) == "Yes") { rbtnYes.Checked = true; } else { rbtnNo.Checked = true; } } } } } }
/// <summary> /// ParserLogic /// </summary> /// <param name="originalLogic">originalLogic</param> /// <param name="workType">workType</param> /// <param name="companyId">companyId</param> /// <returns></returns> public string ParserLogic(string originalLogic, string workType, int companyId) { string newLogic = ""; if (workType == "Junction Lining") { if (originalLogic.Length > 0) { newLogic = "(AASS.Deleted = 0) AND (LW.Deleted = 0) AND (AASL.Deleted = 0) AND (AASS.COMPANY_ID = {0}) AND (LW.ProjectID = {1}) AND (LW.WorkType = '{2}') AND "; } else { newLogic = "(AASS.Deleted = 0) AND (LW.Deleted = 0) AND (AASL.Deleted = 0) AND (AASS.COMPANY_ID = {0}) AND (LW.ProjectID = {1}) AND (LW.WorkType = '{2}')"; } } else { if (workType == "Manhole Rehabilitation") { if (originalLogic.Length > 0) { newLogic = "(AASMHP.ProjectID = {1}) AND "; } else { newLogic = "(AASMHP.ProjectID = {1}) "; } } else { if (originalLogic.Length > 0) { newLogic = "(AASS.Deleted = 0) AND (LW.Deleted = 0) AND (AASS.COMPANY_ID = {0}) AND (LW.ProjectID = {1}) AND (LW.WorkType = '{2}') AND "; } else { newLogic = "(AASS.Deleted = 0) AND (LW.Deleted = 0) AND (AASS.COMPANY_ID = {0}) AND (LW.ProjectID = {1}) AND (LW.WorkType = '{2}')"; } } } WorkViewTDS.WorkViewConditionNewDataTable tableSorted = (WorkViewTDS.WorkViewConditionNewDataTable)Data.Tables["WorkViewConditionNew"]; foreach (WorkViewTDS.WorkViewConditionNewRow rowNew in tableSorted.Select("", "ConditionNumber DESC")) { if (!rowNew.Deleted) { string originalCondition = "Condition" + rowNew.ConditionNumber; WorkTypeViewCondition workTypeViewCondition = new WorkTypeViewCondition(); workTypeViewCondition.LoadByWorkTypeConditionId(workType, rowNew.ConditionID, companyId); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(workTypeViewCondition.Data); string tableName = workTypeViewConditionGateway.GetTable_(workType, companyId, rowNew.ConditionID); if (tableName == "AM_ASSET_SEWER_SECTION") tableName = "AASS"; if (tableName == "AM_ASSET_SEWER_LATERAL") tableName = "AASL"; if (tableName == "LFS_ASSET_SEWER_SECTION") tableName = "LASS"; if (tableName == "LFS_ASSET_SEWER_LATERAL_CLIENT") tableName = "LASLC"; if (tableName == "LFS_WORK") tableName = "LW"; if (workType == "Rehab Assessment") { if (tableName == "LFS_WORK_FULLLENGTHLINING") tableName = "LWFLL"; } else { if (tableName == "LFS_WORK_FULLLENGTHLINING") tableName = "LWF"; } if (tableName == "LFS_WORK_FULLLENGTHLINING_M1") tableName = "LWFM1"; if (tableName == "LFS_WORK_FULLLENGTHLINING_M2") tableName = "LWFLLM2"; if (tableName == "LFS_WORK_FULLLENGTHLINING_P1") tableName = "LWFLP1"; if (tableName == "LFS_WORK_JUNCTIONLINING_SECTION") tableName = "LWJLS"; if (tableName == "LFS_WORK_JUNCTIONLINING_LATERAL") tableName = "LWJLL"; if (tableName == "LFS_WORK_REHABASSESSMENT") tableName = "LWR"; if (tableName == "LFS_WORK_POINT_REPAIRS") tableName = "LWPR"; if (tableName == "LFS_WORK_POINT_REPAIRS_REPAIR") tableName = "LWPRR"; if (tableName == "LFS_MIGRATED_SECTIONS") tableName = "LMS"; if (tableName == "LFS_WORK_MANHOLE_REHABILITATION") tableName = "LWMR"; if (tableName == "AM_ASSET_SEWER_MH") tableName = "AASMH"; string column = workTypeViewConditionGateway.GetColumn_(workType, companyId, rowNew.ConditionID); string type = workTypeViewConditionGateway.GetType(workType, companyId, rowNew.ConditionID); string sign = rowNew.Sign; string conditionValue = rowNew.Value_; string newCondition = ""; if (column == "USMH") { column = "MHID"; tableName = "AASUSMH"; } if (column == "DSMH") { column = "MHID"; tableName = "AASDSMH"; } if (column == "MN#") { column = "Address"; } if (column == "USMHAddress") { column = "Address"; tableName = "AASUSMH"; } if (column == "DSMHAddress") { column = "Address"; tableName = "AASDSMH"; } // Search if (conditionValue == "%") { if (type == "Boolean") { newCondition = newCondition + " ((" + tableName + "." + column + " = 1) OR (" + tableName + "." + column + " = 0))"; } else { if ((workType == "Junction Lining") && ((column == "FlowOrderID") || (column == "LateralID"))) { if (column == "FlowOrderID") { newCondition = newCondition + " (((" + tableName + "." + column + " LIKE '%')"; newCondition = newCondition + " OR (" + tableName + "." + column + " IS NULL))"; newCondition = newCondition + " OR ((AASL.LateralID LIKE '%')"; newCondition = newCondition + " OR (AASL.LateralID IS NULL)))"; } else { if (column == "LateralID") { newCondition = newCondition + " ((AASS.SectionID LIKE '%')"; newCondition = newCondition + " OR (AASS.SectionID IS NULL))"; } } } else { if (type == "Date") { if (sign == "=") { newCondition = newCondition + " ((CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NOT NULL)"; newCondition = newCondition + " OR (CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NULL))"; } else { if (sign == "<>") { newCondition = newCondition + " (CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NULL)"; } else { newCondition = newCondition + " ((CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NOT NULL)"; newCondition = newCondition + " OR (CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NULL))"; } } } else { if (column != "CXIsRemoved") { if (sign == "=") { newCondition = newCondition + " ((" + tableName + "." + column + " LIKE '%')"; newCondition = newCondition + " OR (" + tableName + "." + column + " IS NULL))"; } if (sign == "<>") { newCondition = newCondition + " (" + tableName + "." + column + " IS NULL)"; } else { if (sign != "=") { newCondition = newCondition + " ((" + tableName + "." + column + " LIKE '%')"; newCondition = newCondition + " OR (" + tableName + "." + column + " IS NULL))"; } } } } } } } else { if (conditionValue == "") { if (sign == "<>") { if ((workType == "Junction Lining") && ((column == "FlowOrderID") || (column == "LateralID"))) { if (column == "FlowOrderID") { newCondition = newCondition + " ((" + tableName + "." + column + " IS NOT NULL)"; newCondition = newCondition + " OR (AASL.LateralID IS NOT NULL))"; } else { if (column == "LateralID") { newCondition = newCondition + " (AASS.SectionID IS NOT NULL)"; } } } else { if (column != "CXIsRemoved") { newCondition = newCondition + tableName + "." + column + " IS NOT NULL "; } else { newCondition = newCondition + " (AASS.AssetID IN " + " (SELECT AASS1.AssetID" + " FROM AM_ASSET_SEWER_SECTION AASS1 INNER JOIN " + " LFS_WORK LW1 ON (AASS1.AssetID = LW1.AssetID) AND (LW1.WorkType = 'Full Length Lining') AND (LW1.ProjectID = LW.ProjectID) INNER JOIN " + " LFS_WORK_FULLLENGTHLINING_P1 LWFLP1 ON LW1.WorkID = LWFLP1.WorkID INNER JOIN LFS_WORK LW2 ON (AASS1.AssetID = LW2.AssetID) AND (LW2.WorkType = 'Rehab Assessment') AND (LW2.ProjectID = LW1.ProjectID) " + " WHERE ( (LWFLP1.CXIsRemoved IS NOT NULL) AND (AASS1.Deleted = 0) AND (LW1.Deleted = 0) AND (LWFLP1.Deleted = 0)) " + " ) )"; } } } else { if ((workType == "Junction Lining") && ((column == "FlowOrderID") || (column == "LateralID"))) { if (column == "FlowOrderID") { newCondition = newCondition + " ((" + tableName + "." + column + " IS NULL)"; newCondition = newCondition + " OR (AASL.LateralID IS NULL))"; } if (column == "LateralID") { newCondition = newCondition + " (AASS.SectionID IS NULL)"; } } else { if (column != "CXIsRemoved") { newCondition = newCondition + tableName + "." + column + " IS NULL "; } else { newCondition = newCondition + " (AASS.AssetID IN " + " (SELECT AASS1.AssetID" + " FROM AM_ASSET_SEWER_SECTION AASS1 INNER JOIN " + " LFS_WORK LW1 ON (AASS1.AssetID = LW1.AssetID) AND (LW1.WorkType = 'Full Length Lining') AND (LW1.ProjectID = LW.ProjectID) INNER JOIN " + " LFS_WORK_FULLLENGTHLINING_P1 LWFLP1 ON LW1.WorkID = LWFLP1.WorkID INNER JOIN LFS_WORK LW2 ON (AASS1.AssetID = LW2.AssetID) AND (LW2.WorkType = 'Rehab Assessment') AND (LW2.ProjectID = LW1.ProjectID) " + " WHERE ( (LWFLP1.CXIsRemoved IS NULL) AND (AASS1.Deleted = 0) AND (LW1.Deleted = 0) AND (LWFLP1.Deleted = 0)) " + " ) )"; } } } } else { conditionValue = conditionValue.Replace("'", "''"); if ((type == "Int") || (type == "Decimal") || (type == "Boolean")) { if (conditionValue == "Yes") conditionValue = "1"; if (conditionValue == "No") conditionValue = "0"; if (column != "CXIsRemoved") { newCondition = newCondition + tableName + "." + column + sign + conditionValue; } else { newCondition = newCondition + " (AASS.AssetID IN " + " (SELECT AASS1.AssetID" + " FROM AM_ASSET_SEWER_SECTION AASS1 INNER JOIN " + " LFS_WORK LW1 ON (AASS1.AssetID = LW1.AssetID) AND (LW1.WorkType = 'Full Length Lining') AND (LW1.ProjectID = LW.ProjectID) INNER JOIN " + " LFS_WORK_FULLLENGTHLINING_P1 LWFLP1 ON LW1.WorkID = LWFLP1.WorkID INNER JOIN LFS_WORK LW2 ON (AASS1.AssetID = LW2.AssetID) AND (LW2.WorkType = 'Rehab Assessment') AND (LW2.ProjectID = LW1.ProjectID) " + " WHERE ( (LWFLP1.CXIsRemoved " + sign + conditionValue + ") AND (AASS1.Deleted = 0) AND (LW1.Deleted = 0) AND (LWFLP1.Deleted = 0)) " + " ) )"; } } else { if (sign == "=") { if ((workType == "Junction Lining") && ((column == "FlowOrderID") || (column == "LateralID"))) { if (column == "FlowOrderID") { newCondition = newCondition + " ((" + tableName + "." + column + " LIKE '%" + conditionValue + "%')"; newCondition = newCondition + " OR (AASL.LateralID LIKE '%" + conditionValue + "%'))"; } else { if (column == "LateralID") { newCondition = newCondition + "(AASS.FlowOrderID + '-JL-' + AASL.LateralID LIKE '%" + conditionValue + "%')"; } } } else { if (type != "Date") { if (conditionValue.Contains("\"")) { if (column != "Gasket") { if (column != "Size_" && column != "VideoLengthToPropertyLine" && column != "DepthOfLocated") { conditionValue = conditionValue.Replace("\"", ""); } } newCondition = newCondition + " (" + tableName + "." + column + " = '" + conditionValue + "')"; } else { if (column == "Issue" && conditionValue == "(All)") { newCondition = newCondition + " ((LWJLL.Issue LIKE '%')"; newCondition = newCondition + " OR (LWJLL.Issue IS NULL))"; } else { newCondition = newCondition + " (" + tableName + "." + column + " LIKE '%" + conditionValue + "%')"; } } } else { // Date if (conditionValue.Length > 7) { newCondition = newCondition + " CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) " + sign + "'" + conditionValue + "'"; } else { newCondition = newCondition + " CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) LIKE '%" + conditionValue + "%'"; } } } } else { if ((workType == "Junction Lining") && (column == "FlowOrderID")) { newCondition = newCondition + " ((" + tableName + "." + column + sign + "'" + conditionValue + "')"; newCondition = newCondition + " OR (AASL.LateralID " + sign + "'" + conditionValue + "'))"; } else { if ((workType == "Junction Lining") && (column == "LateralID")) { newCondition = newCondition + " ((AASS.FlowOrderID + '-JL-' + AASL.LateralID NOT LIKE '%" + conditionValue + "%')"; newCondition = newCondition + "OR (AASS.FlowOrderID + '-JL-' + AASL.LateralID IS NULL))"; } else { if (column == "Comments" || column == "History") { newCondition = newCondition + tableName + "." + column + " NOT LIKE '%" + conditionValue + "%'"; } else { if (type != "Date") { newCondition = newCondition + tableName + "." + column + sign + "'" + conditionValue + "'"; } else { // Date if (conditionValue.Length > 7) { if (sign == "<>") { newCondition = newCondition + " ((CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) " + sign + "'" + conditionValue + "')"; newCondition = newCondition + " OR (CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NULL))"; } else { newCondition = newCondition + " CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) " + sign + "'" + conditionValue + "'"; } } else { if (sign == "<>") { newCondition = newCondition + " ((CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) NOT LIKE '%" + conditionValue + "%')"; newCondition = newCondition + " OR (CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime) IS NULL))"; } else { if (sign == ">" || sign == "<=") { newCondition = newCondition + " CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime)" + sign + " '12/31/" + conditionValue + "'"; } else { newCondition = newCondition + " CAST(CONVERT(varchar," + tableName + "." + column + ", 101) AS smalldatetime)" + sign + " '" + conditionValue + "'"; } } } } } } } } } } } originalLogic = originalLogic.Replace(originalCondition, newCondition); } } if (originalLogic.Length > 0) { newLogic = newLogic + originalLogic; } return newLogic; }
protected void ddlName_SelectedIndexChanged(object sender, EventArgs e) { Label lblValidateValue = ((Label)grdConditions.Rows[grdConditions.EditIndex].FindControl("lblValidateValue")); lblValidateValue.Visible = false; ImageButton ibtnAdd = ((ImageButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("ibtnAccept")); ibtnAdd.Visible = true; DropDownList ddlName = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlName")); DropDownList ddlOperator = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlOperator")); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, int.Parse(ddlName.SelectedValue), int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), int.Parse(ddlName.SelectedValue)); int index = grdConditions.SelectedIndex; WorkTypeViewOperatorList workTypeViewOperatorList = new WorkTypeViewOperatorList(new DataSet()); workTypeViewOperatorList.LoadAndAddItem(type, Int32.Parse(hdfCompanyId.Value)); ddlOperator.DataSource = workTypeViewOperatorList.Table; ddlOperator.DataValueField = "Sign"; ddlOperator.DataTextField = "Operator"; ddlOperator.DataBind(); ddlOperator.SelectedIndex = 0; if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal") || (type == "Distance")) { ddlOperator.Enabled = true; TextBox tbxValue = ((TextBox)grdConditions.Rows[grdConditions.EditIndex].FindControl("tbxValue")); tbxValue.Visible = true; DropDownList ddlValue = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlValue")); ddlValue.Visible = false; RadioButton rbtnYes = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnNo")); rbtnNo.Visible = false; } if ((type == "FixedItems") || (type == "DynamicItems") || (type == "Boolean")) { ddlOperator.Enabled = false; if (type == "FixedItems") { DropDownList ddlValue = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlValue")); ddlValue.Visible = true; // Prepare initial data // ... For view type WorkTypeViewConditionItemList workTypeViewConditionItemList = new WorkTypeViewConditionItemList(new DataSet()); workTypeViewConditionItemList.LoadAndAddItemInView(hdfWorkType.Value, Int32.Parse(hdfCompanyId.Value), int.Parse(ddlName.SelectedValue)); ddlValue.DataSource = workTypeViewConditionItemList.Table; ddlValue.DataValueField = "Name"; ddlValue.DataTextField = "Name"; ddlValue.DataBind(); ddlValue.SelectedIndex = 0; TextBox tbxValue = ((TextBox)grdConditions.Rows[grdConditions.EditIndex].FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "DynamicItems") { DropDownList ddlValue = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlValue")); // Prepare initial data // ... For view type WorkTypeViewSubAreaList workTypeViewSubAreaList = new WorkTypeViewSubAreaList(new DataSet()); workTypeViewSubAreaList.LoadAndAddItem(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), int.Parse(hdfProjectId.Value)); if (workTypeViewSubAreaList.Table.Rows.Count > 0) { ddlValue.Visible = true; ddlValue.DataSource = workTypeViewSubAreaList.Table; ddlValue.DataValueField = "SubArea"; ddlValue.DataTextField = "SubArea"; ddlValue.DataBind(); ddlValue.SelectedIndex = 0; ibtnAdd.Visible = true; } else { ddlValue.Visible = false; ibtnAdd.Visible = false; lblValidateValue.Visible = true; } TextBox tbxValue = ((TextBox)grdConditions.Rows[grdConditions.EditIndex].FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnYes")); rbtnYes.Visible = false; RadioButton rbtnNo = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnNo")); rbtnNo.Visible = false; } if (type == "Boolean") { DropDownList ddlValue = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlValue")); ddlValue.Visible = false; TextBox tbxValue = ((TextBox)grdConditions.Rows[grdConditions.EditIndex].FindControl("tbxValue")); tbxValue.Visible = false; RadioButton rbtnYes = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnYes")); rbtnYes.Visible = true; RadioButton rbtnNo = ((RadioButton)grdConditions.Rows[grdConditions.EditIndex].FindControl("rbtnNo")); rbtnNo.Visible = true; } } }
protected void cvValueData_ServerValidate(object source, ServerValidateEventArgs args) { // Initialize CustomValidator cvConditions = (CustomValidator)source; args.IsValid = true; string type = "Date"; int conditionId = 0; if (cvConditions.ValidationGroup == "Conditions") { conditionId = int.Parse(((DropDownList)grdConditions.FooterRow.FindControl("ddlName")).SelectedValue); } else { conditionId = int.Parse(((DropDownList)grdConditions.Rows[grdConditions.EditIndex].Cells[3].FindControl("ddlName")).SelectedValue); } WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); // Date fields validate if (type == "Date") { // for complete date or only year if (((Validator.IsValidDate(args.Value.Trim()) && (args.Value.Trim().Length > 7))) || ((Validator.IsValidInt32(args.Value.Trim())) && (args.Value.Trim().Length == 4)) || (args.Value.Trim() == "%") || (args.Value.Trim() == "")) { args.IsValid = true; } else { args.IsValid = false; cvConditions.ErrorMessage = "Invalid date (use mm/dd/yyyy, yyyy, %, or leave the field empty)"; } // For dates before 1900 if (args.IsValid) { string[] date = (args.Value.Trim()).Split('/'); if (((Validator.IsValidDate(args.Value.Trim())) && (Int32.Parse(date[2]) >= 1900)) || ((args.Value.Trim().Length == 4) && (Validator.IsValidInt32(args.Value.Trim())) && (Int32.Parse(args.Value.Trim()) >= 1900)) || (args.Value.Trim() == "%") || (args.Value.Trim() == "")) { args.IsValid = true; } else { args.IsValid = false; cvConditions.ErrorMessage = "Invalid date (use a date over 1900)"; } } } if (type == "Int") { if (Validator.IsValidInt32(args.Value.Trim()) || (args.Value.Trim() == "%") || (args.Value.Trim() == "")) { args.IsValid = true; } else { args.IsValid = false; cvConditions.ErrorMessage = "Invalid data (use an integer number, % or leave the field empty)"; } } if (type == "Decimal") { if (Validator.IsValidDecimal(args.Value.Trim()) || (args.Value.Trim() == "%") || (args.Value.Trim() == "")) { args.IsValid = true; } else { args.IsValid = false; cvConditions.ErrorMessage = "Invalid data (use a decimal number, % or leave the field empty)"; } } }
private bool ValidateFooterNext() { int conditionId = int.Parse(((DropDownList)grdConditions.FooterRow.FindControl("ddlName")).SelectedValue); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); string value = ""; if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal")) { value = ((TextBox)grdConditions.FooterRow.FindControl("tbxValue")).Text; } if ((type == "FixedItems") || (type == "DynamicItems")) { value = ((DropDownList)grdConditions.FooterRow.FindControl("ddlValue")).SelectedItem.Text; } if (type == "Boolean") { if (((RadioButton)grdConditions.FooterRow.FindControl("rbtnYes")).Checked) value = "Yes"; if (((RadioButton)grdConditions.FooterRow.FindControl("rbtnNo")).Checked) value = "No"; } if (value != "") return true; else return false; }
private void GrdConditionsAdd() { if (ValidateFooterAdd()) { Page.Validate("Conditions"); if (Page.IsValid) { int conditionId = int.Parse(((DropDownList)grdConditions.FooterRow.FindControl("ddlName")).SelectedValue); string name = ((DropDownList)grdConditions.FooterRow.FindControl("ddlName")).SelectedItem.Text; string operator_ = ((DropDownList)grdConditions.FooterRow.FindControl("ddlOperator")).SelectedItem.Text; string sign = ((DropDownList)grdConditions.FooterRow.FindControl("ddlOperator")).SelectedValue; int conditionNumber = int.Parse(((DropDownList)grdConditions.FooterRow.FindControl("ddlConditionNumber")).SelectedValue); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); string value = ""; if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal") || (type == "Distance")) { value = ((TextBox)grdConditions.FooterRow.FindControl("tbxValue")).Text; } if ((type == "FixedItems") || (type == "DynamicItems")) { value = ((DropDownList)grdConditions.FooterRow.FindControl("ddlValue")).SelectedItem.Text; } if (type == "Boolean") { if (((RadioButton)grdConditions.FooterRow.FindControl("rbtnYes")).Checked) value = "Yes"; if (((RadioButton)grdConditions.FooterRow.FindControl("rbtnNo")).Checked) value = "No"; } WorkViewTDS dataSet = new WorkViewTDS(); dataSet.WorkViewConditionNew.Merge(workViewConditionNew, true); WorkViewConditionNew model = new WorkViewConditionNew(dataSet); model.Insert(conditionId, name, operator_, sign, conditionNumber, value, false, false); Session.Remove("workViewConditionNewDummy"); workViewConditionNew = dataSet.WorkViewConditionNew; Session["workViewConditionNew"] = dataSet.WorkViewConditionNew; grdConditions.DataBind(); grdConditions.PageIndex = grdConditions.PageCount - 1; } } }
protected void grdConditions_RowUpdating(object sender, GridViewUpdateEventArgs e) { Page.Validate("ConditionsUpdate"); if (Page.IsValid) { int id = (int)e.Keys["ID"]; int conditionId = int.Parse(((DropDownList)grdConditions.Rows[e.RowIndex].Cells[3].FindControl("ddlName")).SelectedValue); string name = ((DropDownList)grdConditions.Rows[e.RowIndex].Cells[3].FindControl("ddlName")).SelectedItem.Text; DropDownList ddlOperator = ((DropDownList)grdConditions.Rows[grdConditions.EditIndex].FindControl("ddlOperator")); string operator_ = ddlOperator.SelectedItem.Text; string sign = ddlOperator.SelectedValue; int conditionNumber = int.Parse(((DropDownList)grdConditions.Rows[e.RowIndex].Cells[2].FindControl("ddlConditionNumber")).SelectedValue); WorkTypeViewConditionGateway workTypeViewConditionGateway = new WorkTypeViewConditionGateway(); workTypeViewConditionGateway.LoadByWorkTypeConditionId(hdfWorkType.Value, conditionId, int.Parse(hdfCompanyId.Value)); string type = workTypeViewConditionGateway.GetType(hdfWorkType.Value, int.Parse(hdfCompanyId.Value), conditionId); string value = ""; if ((type == "String") || (type == "Date") || (type == "Int") || (type == "Decimal") || (type == "Distance")) { value = ((TextBox)grdConditions.Rows[e.RowIndex].Cells[5].FindControl("tbxValue")).Text; } if ((type == "FixedItems") || (type == "DynamicItems")) { value = ((DropDownList)grdConditions.Rows[e.RowIndex].Cells[5].FindControl("ddlValue")).SelectedItem.Text; } if (type == "Boolean") { if (((RadioButton)grdConditions.Rows[e.RowIndex].Cells[5].FindControl("rbtnYes")).Checked) value = "Yes"; if (((RadioButton)grdConditions.Rows[e.RowIndex].Cells[5].FindControl("rbtnNo")).Checked) value = "No"; } WorkViewTDS dataSet = new WorkViewTDS(); dataSet.WorkViewConditionNew.Merge(workViewConditionNew, true); WorkViewConditionNew model = new WorkViewConditionNew(dataSet); model.Update(id, conditionId, name, operator_, sign, conditionNumber, value, false, false); Session["workViewConditionNew"] = dataSet.WorkViewConditionNew; workViewConditionNew = dataSet.WorkViewConditionNew; } else { e.Cancel = true; } }