public AttributeFilterModel fill()
{
this.AttributeFilterDictionary = new Dictionary<string, AttributeFilterStruct>();
AttributePreviewModel attributePreviewModel = new AttributePreviewModel().fill(false);
this.AttributeFilterDictionary.Add("Unit", new AttributeFilterStruct());
this.AttributeFilterDictionary.Add("Data Type", new AttributeFilterStruct());
string key = "";
FilterValueStruct value = new FilterValueStruct();
foreach (AttributePreviewStruct aps in attributePreviewModel.AttributePreviews)
{
key = aps.Unit.Name.ToLower().Replace(" ", "");
value = new FilterValueStruct();
if (this.AttributeFilterDictionary["Unit"].Values.ContainsKey(key))
{
this.AttributeFilterDictionary["Unit"].Values[key].Appearance.Add(aps.Id);
}
else
{
value.Name = aps.Unit.Name;
value.Appearance.Add(aps.Id);
this.AttributeFilterDictionary["Unit"].Values.Add(key, value);
}
key = aps.DataType.ToLower().Replace(" ", "");
value = new FilterValueStruct();
if (this.AttributeFilterDictionary["Data Type"].Values.ContainsKey(key))
{
this.AttributeFilterDictionary["Data Type"].Values[key].Appearance.Add(aps.Id);
}
else
{
value.Name = aps.DataType;
value.Appearance.Add(aps.Id);
this.AttributeFilterDictionary["Data Type"].Values.Add(key, value);
}
}
foreach (KeyValuePair<string, AttributeFilterStruct> kv in this.AttributeFilterDictionary)
{
kv.Value.Values = kv.Value.Values.OrderBy(v => v.Value.Name).ToDictionary(v => v.Key, v => v.Value);
}
return this;
}