void fillRange_Closed(object sender, EventArgs e) { FillRanges fillRange = sender as FillRanges; if (fillRange.DialogResult == true) { int startValue = fillRange.StartValue; int endValue = fillRange.EndValue; int rangeValue = fillRange.RangeValue; List <EwavRuleRecodeDataRow> rangeTable = new List <EwavRuleRecodeDataRow>(); EwavRuleRecodeDataRow row = new EwavRuleRecodeDataRow(); row.col1 = "LOVALUE"; row.col2 = startValue.ToString(); row.col3 = "LOVALUE - <" + startValue.ToString(); rangeTable.Add(row); for (int i = startValue; i < endValue; i = i + rangeValue) { string lowerBound = i.ToString(); string upperBound = (i + rangeValue).ToString(); if ((i + rangeValue) > endValue) { upperBound = endValue.ToString(); } row = new EwavRuleRecodeDataRow(); row.col1 = lowerBound; row.col2 = upperBound; row.col3 = lowerBound + " - <" + upperBound; rangeTable.Add(row); } row = new EwavRuleRecodeDataRow(); row.col1 = endValue.ToString(); row.col2 = "HIVALUE"; row.col3 = endValue.ToString() + " - < HIVALUE"; rangeTable.Add(row); dataGridViewRecode.ItemsSource = rangeTable; } }
/// <summary> /// Method that is used to Fill the DataGrid /// </summary> private void FillDataGrid() { bool addMoreRows = true; dataGridViewRecode.IsReadOnly = false; List <EwavRuleRecodeDataRow> ListNumObject = new List <EwavRuleRecodeDataRow>(); dataGridViewRecode.Columns.Clear(); List <ColumnDataType> columnDataType = new List <ColumnDataType>(); columnDataType.Add(ColumnDataType.DateTime); columnDataType.Add(ColumnDataType.Numeric); CBXFieldCols = from cols in SourceColumns where columnDataType.Contains(cols.SqlDataTypeAsString) orderby cols.Name select cols; List <EwavColumn> colsList = CBXFieldCols.ToList(); List <string> ColumnsListForDateAndNumeric = new List <string>(); List <string> ColumnsListBool = new List <string>(); List <string> ColumnsListNumeric = new List <string>(); for (int i = 0; i < colsList.Count; i++) { ColumnsListForDateAndNumeric.Add(colsList[i].Name); } columnDataType = new List <ColumnDataType>(); columnDataType.Add(ColumnDataType.Boolean); CBXFieldCols = from cols in SourceColumns where columnDataType.Contains(cols.SqlDataTypeAsString) orderby cols.Name select cols; colsList = CBXFieldCols.ToList(); for (int i = 0; i < colsList.Count; i++) { ColumnsListBool.Add(colsList[i].Name); } columnDataType = new List <ColumnDataType>(); columnDataType.Add(ColumnDataType.Numeric); CBXFieldCols = from cols in SourceColumns where columnDataType.Contains(cols.SqlDataTypeAsString) orderby cols.Name select cols; colsList = CBXFieldCols.ToList(); for (int i = 0; i < colsList.Count; i++) { ColumnsListNumeric.Add(colsList[i].Name); } if (ColumnsListForDateAndNumeric.Contains(sourceColumnName)) { dataGridViewRecode.Columns.Add(CreateTextColumn("col1", "From")); dataGridViewRecode.Columns.Add(CreateTextColumn("col2", "To")); twoColsEnabled = false; } else { dataGridViewRecode.Columns.Add(CreateTextColumn("col1", "From")); twoColsEnabled = true; } if (ColumnsListNumeric.Contains(sourceColumnName)) { dataGridViewRecode.Columns.Add(CreateTextColumn("col3", "Representation")); } else if (ColumnsListBool.Contains(sourceColumnName)) { DataGridTextColumn dgTextCol = CreateTextColumn("col3", "Representation"); dataGridViewRecode.Columns.Add(dgTextCol); } else { dataGridViewRecode.Columns.Add(CreateTextColumn("col3", "Representation")); } if (cbxFieldType.SelectedItem != null && cbxFieldType.SelectedItem.ToString() == "Yes/No") { ListNumObject = new List <EwavRuleRecodeDataRow>(); EwavRuleRecodeDataRow Numobj1 = new EwavRuleRecodeDataRow(); Numobj1.col1 = ""; Numobj1.col2 = ""; Numobj1.col3 = "Yes"; ListNumObject.Add(Numobj1); Numobj1 = new EwavRuleRecodeDataRow(); Numobj1.col1 = ""; Numobj1.col2 = ""; Numobj1.col3 = "No"; ListNumObject.Add(Numobj1); addMoreRows = false; } if (addMoreRows) { for (int i = 0; i < 10; i++) { ListNumObject.Add(new EwavRuleRecodeDataRow() { col1 = "", col2 = "", col3 = "" } ); } } string selectedValue = (DestinationFieldType.ToString() == "YesNo") ? "Yes/No" : DestinationFieldType.ToString(); if (SelectedItem != null && // ((EwavRule_Recode)SelectedItem.Rule).DestinationFieldType.ToString() == DestinationFieldType.ToString() selectedDType.ToString() == selectedValue && index > -1) { dataGridViewRecode.ItemsSource = null; dataGridViewRecode.ItemsSource = (List <EwavRuleRecodeDataRow>)FindItemSource(); } else { dataGridViewRecode.ItemsSource = null; dataGridViewRecode.ItemsSource = ListNumObject; } }
public List <EwavRule_Base> ConvertXMLToDefinedVariables(XDocument doc) { List <EwavRule_Base> EwavDefinedVariables = new List <EwavRule_Base>(); foreach (var item in doc.Descendants("Rules").Descendants()) { if (item.Name.ToString().ToLower() == "rule") { try { //Type gadgetType = Type.GetType(item.Attribute("type").Value); // item.Attributes["gadgetType"].Value); //EwavRule_Base rule = null; EwavRule_Base baseRule = null; switch (item.Attribute("type").Value.ToLower()) { case "rule_format": EwavRule_Format rule = new EwavRule_Format(); rule.FriendlyLabel = item.Element("friendlyRule").Value.ToString(); rule.CbxFieldName = item.Element("sourceColumnName").Value.ToString(); rule.TxtDestinationField = item.Element("destinationColumnName").Value.ToString(); rule.CbxFormatOptions = item.Element("formatString").Value.ToString(); rule.FormatTypes = (Ewav.Web.EpiDashboard.Rules.FormatTypes)Enum.Parse(typeof(Ewav.Web.EpiDashboard.Rules.FormatTypes), item.Element("formatType").Value.ToString(), true); rule.VaraiableDataType = item.Element("variableDataType").Value.ToString(); baseRule = rule; baseRule.VaraiableName = rule.TxtDestinationField; break; case "rule_expressionassign": EwavRule_ExpressionAssign ruleAssign = new EwavRule_ExpressionAssign(); ruleAssign.FriendlyRule = item.Element("friendlyRule").Value.ToString(); ruleAssign.Expression = item.Element("expression").Value.ToString(); ruleAssign.DestinationColumnName = item.Element("destinationColumnName").Value.ToString(); ruleAssign.DataType = item.Element("destinationColumnType").Value.ToString(); ruleAssign.VaraiableDataType = item.Element("variableDataType").Value.ToString(); baseRule = ruleAssign; baseRule.VaraiableName = ruleAssign.DestinationColumnName; break; case "rule_groupvariable": EwavRule_GroupVariable ruleGroupVar = new EwavRule_GroupVariable(); ruleGroupVar.FriendlyLabel = item.Element("friendlyLabel").Value.ToString(); ruleGroupVar.VaraiableName = item.Element("destinationColumnName").Value.ToString(); ruleGroupVar.VaraiableDataType = item.Element("variableDataType").Value.ToString(); List <MyString> columnList = new List <MyString>(); foreach (var column in item.Descendants("column")) { MyString colVal = new MyString(); colVal.VarName = column.Value.ToString(); columnList.Add(colVal); } ruleGroupVar.Items = columnList; baseRule = ruleGroupVar; baseRule.VaraiableName = ruleGroupVar.VaraiableName; break; case "rule_conditionalassign": EwavRule_ConditionalAssign ruleCondAssign = new EwavRule_ConditionalAssign(); MyString myString = new MyString(); myString.VarName = item.Element("friendlyRule").Value.ToString(); ruleCondAssign.FriendlyRule = myString; ruleCondAssign.TxtDestination = item.Element("destinationColumnName").Value.ToString(); ruleCondAssign.DestinationColumnType = item.Element("destinationColumnType").Value.ToString(); ruleCondAssign.AssignValue = item.Element("assignValue").Value.ToString(); ruleCondAssign.ElseValue = item.Element("elseValue").Value.ToString(); ruleCondAssign.VaraiableDataType = item.Element("variableDataType").Value.ToString(); if (item.Element("cbxFieldType") != null) { ruleCondAssign.CbxFieldType = (cbxFieldTypeEnum)Enum.Parse(typeof(cbxFieldTypeEnum), item.Element("cbxFieldType").Value.ToString(), false); } ruleCondAssign.ConditionsList = new List <EwavDataFilterCondition>(); //ruleCondAssign.ConditionsList = foreach (var condition in item.Descendants("EwavDataFilterCondition").OrderBy(x => (int)x.Attribute("order"))) { EwavDataFilterCondition df = new EwavDataFilterCondition(); if (condition.Attribute("friendlyOperand") != null) { df.FriendlyOperand = ToMyString(condition.Attribute("friendlyOperand").Value); } if (condition.Attribute("friendlyValue") != null) { df.FriendlyValue = ToMyString(condition.Attribute("friendlyValue").Value); } if (condition.Attribute("fieldName") != null) { df.FieldName = ToMyString(condition.Attribute("fieldName").Value); } if (condition.Attribute("joinType") != null) { df.JoinType = ToMyString(condition.Attribute("joinType").Value); } if (condition.Attribute("friendLowValue") != null && condition.Attribute("friendLowValue").Value != "null") { df.FriendLowValue = ToMyString(condition.Attribute("friendLowValue").Value); } if (condition.Attribute("friendHighValue") != null && condition.Attribute("friendHighValue").Value != "null") { df.FriendHighValue = ToMyString(condition.Attribute("friendHighValue").Value); } ruleCondAssign.ConditionsList.Add(df); } baseRule = ruleCondAssign; baseRule.VaraiableName = ruleCondAssign.TxtDestination; break; case "rule_simpleassign": EwavRule_SimpleAssignment ruleSimple = new EwavRule_SimpleAssignment(); ruleSimple.FriendlyLabel = item.Element("friendlyRule").Value.ToString(); ruleSimple.AssignmentType = (Ewav.Web.EpiDashboard.Rules.SimpleAssignType)Enum.Parse(typeof(Ewav.Web.EpiDashboard.Rules.SimpleAssignType), item.Element("assignmentType").Value.ToString(), true); ruleSimple.TxtDestinationField = item.Element("destinationColumnName").Value.ToString(); ruleSimple.Parameters = new List <MyString>(); ruleSimple.VaraiableDataType = item.Element("variableDataType").Value.ToString(); foreach (var item1 in item.Element("parametersList").Descendants()) { MyString mys = new MyString(); mys.VarName = item1.Value; ruleSimple.Parameters.Add(mys); } baseRule = ruleSimple; baseRule.VaraiableName = ruleSimple.TxtDestinationField; break; case "rule_recode": EwavRule_Recode ruleRecode = new EwavRule_Recode(); ruleRecode.Friendlyrule = item.Element("friendlyRule").Value.ToString(); ruleRecode.SourceColumnName = item.Element("sourceColumnName").Value.ToString(); ruleRecode.SourceColumnType = item.Element("sourceColumnType").Value.ToString(); ruleRecode.TxtDestinationField = item.Element("destinationColumnName").Value.ToString(); ruleRecode.DestinationFieldType = (DashboardVariableType)Enum.Parse(typeof(DashboardVariableType), item.Element("destinationColumnType").Value.ToString(), true); ruleRecode.TxtElseValue = item.Element("elseValue").Value.ToString(); ruleRecode.CheckboxUseWildcardsIndicator = bool.Parse(item.Element("shouldUseWildcards").Value.ToString()); ruleRecode.CheckboxMaintainSortOrderIndicator = bool.Parse(item.Element("shouldMaintainSortOrder").Value.ToString()); ruleRecode.VaraiableName = item.Element("destinationColumnName").Value.ToString(); ruleRecode.VaraiableDataType = item.Element("variableDataType").Value.ToString(); //ruleRecode.VaraiableDataType = item.Element("variableDataType").Value.ToString(); List <EwavRuleRecodeDataRow> rows = new List <EwavRuleRecodeDataRow>(); foreach (var item2 in item.Descendants("recodeTable")) { var itemmm = item2; foreach (var item3 in item2.Elements("recodeTableRow")) { EwavRuleRecodeDataRow row = new EwavRuleRecodeDataRow(); IEnumerable <XElement> enumerableList = item3.Elements("recodeTableData"); List <XElement> list = enumerableList.ToList(); if (list.Count == 2) { row.col1 = list[0].Value.ToString().Replace("<", "<").Replace(">", ">"); row.col3 = list[1].Value.ToString().Replace("<", "<").Replace(">", ">"); } else { row.col1 = list[0].Value.ToString().Replace("<", "<").Replace(">", ">"); row.col2 = list[1].Value.ToString().Replace("<", "<").Replace(">", ">"); row.col3 = list[2].Value.ToString().Replace("<", "<").Replace(">", ">"); } rows.Add(row); } } ruleRecode.RecodeTable = rows; baseRule = ruleRecode; baseRule.VaraiableName = ruleRecode.TxtDestinationField; break; default: throw new Exception("This Rule doesn't exists."); } //newColumn.SqlDataTypeAsString = (ColumnDataType)Enum.Parse(typeof(ColumnDataType), item.Element("variableDataType").Value.ToString(), false); EwavDefinedVariables.Add(baseRule); } catch (Exception ex) { //Epi.Windows.MsgBox.ShowError(DashboardSharedStrings.GADGET_LOAD_ERROR); throw new Exception("Exception occured deserializing Rules." + ex.Message); //return; } } } return(EwavDefinedVariables); }