private ConditionControlBase GetControlForCondition(ICondition c, ConditionControlBase parent) { ConditionControlBase control = null; if (c == null) { ConditionPlaceholderControl cpc = new ConditionPlaceholderControl(); cpc.ParentConditionControl = parent; cpc.InsertCondition += new EventHandler<InsertConditionEventArgs>(InsertCondition); Controls.Add(cpc); control = cpc; } else if (c.GetType() == typeof(ResponseStatusCodeEqualToCondition)) { ResponseStatusEqualToControl ctl = new ResponseStatusEqualToControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseStatusCodeEqualToNotCondition)) { ResponseStatusNotEqualToControl ctl = new ResponseStatusNotEqualToControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyContainsCondition)) { ResponseBodyContainsControl ctl = new ResponseBodyContainsControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyContainsNotCondition)) { ResponseBodyContainsNotControl ctl = new ResponseBodyContainsNotControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyRegexMatchCondition)) { ResponseBodyContainsRegexControl ctl = new ResponseBodyContainsRegexControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyRegexMatchNotCondition)) { ResponseBodyContainsRegexNotControl ctl = new ResponseBodyContainsRegexNotControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(AndCondition) || c.GetType() == typeof(OrCondition)) { BinaryCondition bc = c as BinaryCondition; BinaryConditionControl ctl = (c.GetType() == typeof(AndCondition) ? (BinaryConditionControl)new AndControl() : (BinaryConditionControl)new OrControl()); ctl.Condition = c; Controls.Add(ctl); control = ctl; ctl.SubconditionControls.Add(GetControlForCondition(bc.Condition2 as ICondition, ctl)); ctl.SubconditionControls.Add(GetControlForCondition(bc.Condition1 as ICondition, ctl)); } control.ParentConditionControl = parent; //if (parent != null) // parent.SubconditionControls.Add(control); control.DeleteCondition += new EventHandler<DeleteConditionEventArgs>(DeleteCondition); return control; }
private ConditionControlBase GetControlForCondition(ICondition c, ConditionControlBase parent) { ConditionControlBase control = null; if (c == null) { ConditionPlaceholderControl cpc = new ConditionPlaceholderControl(); cpc.ParentConditionControl = parent; cpc.InsertCondition += new EventHandler <InsertConditionEventArgs>(InsertCondition); Controls.Add(cpc); control = cpc; } else if (c.GetType() == typeof(ResponseStatusCodeEqualToCondition)) { ResponseStatusEqualToControl ctl = new ResponseStatusEqualToControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseStatusCodeEqualToNotCondition)) { ResponseStatusNotEqualToControl ctl = new ResponseStatusNotEqualToControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyContainsCondition)) { ResponseBodyContainsControl ctl = new ResponseBodyContainsControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyContainsNotCondition)) { ResponseBodyContainsNotControl ctl = new ResponseBodyContainsNotControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyRegexMatchCondition)) { ResponseBodyContainsRegexControl ctl = new ResponseBodyContainsRegexControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(ResponseBodyRegexMatchNotCondition)) { ResponseBodyContainsRegexNotControl ctl = new ResponseBodyContainsRegexNotControl(); ctl.Condition = c; Controls.Add(ctl); control = ctl; } else if (c.GetType() == typeof(AndCondition) || c.GetType() == typeof(OrCondition)) { BinaryCondition bc = c as BinaryCondition; BinaryConditionControl ctl = (c.GetType() == typeof(AndCondition) ? (BinaryConditionControl) new AndControl() : (BinaryConditionControl) new OrControl()); ctl.Condition = c; Controls.Add(ctl); control = ctl; ctl.SubconditionControls.Add(GetControlForCondition(bc.Condition2 as ICondition, ctl)); ctl.SubconditionControls.Add(GetControlForCondition(bc.Condition1 as ICondition, ctl)); } control.ParentConditionControl = parent; //if (parent != null) // parent.SubconditionControls.Add(control); control.DeleteCondition += new EventHandler <DeleteConditionEventArgs>(DeleteCondition); return(control); }