void fillDialectByType(odm.ui.controls.FilterExpression.ftype tp) { DialectsDictionary.Clear(); switch (tp) { case FilterExpression.ftype.CONTENT: arguments.messageContentFilterDialects.ForEach(item => { string name = item; try { name = item.Split('/').Last(); } catch (Exception err) { dbg.Error(err); } DialectsDictionary.Add(new KeyValuePair <string, string>(item, name)); }); break; default: arguments.topicExpressionDialects.ForEach(item => { string name = item; try { name = item.Split('/').Last(); } catch (Exception err) { dbg.Error(err); } DialectsDictionary.Add(new KeyValuePair <string, string>(item, name)); }); break; } }
void FillExpressionTypeDialect(FilterExpression filter) { var tp = filter.FilterType; DialectsDictionary.Clear(); FilterExpression.filterTypeNames.ForEach(x => { if (x.Key == tp) { valueExpressionType.SelectedItem = x; } }); if (valueExpressionType.SelectedItem != null) { fillDialectByType(filter.FilterType); if (filter.Dialect != null) { DialectsDictionary.ForEach(d => { if (d.Key == filter.Dialect) { valueExpressionDialect.SelectedItem = d; } }); } } }
void InitExpressionDialect() { if (valueExpressionType.SelectedItem == null) { return; } var tp = ((KeyValuePair <odm.ui.controls.FilterExpression.ftype, string>)valueExpressionType.SelectedItem).Key; DialectsDictionary.Clear(); fillDialectByType(tp); }