public MyOrderOfMappingTestFilter() { Id = new CompareField <int>() { SortMode = SortMode.Desc, SortPriority = 1 }; }
public MyOrderFilter() { Id = new CompareField <int>() { SortMode = SortMode.Desc, CompareMode = CompareMode.Equal, SortPriority = 10, FilterSwitch = FilterSwitch.Close }; }
public CompareDefinition DeserializeCompareDefinition(XElement xCompareDef) { try { var compareDef = new CompareDefinition(); if (xCompareDef == null) { return(compareDef); } // CompareFields foreach (XElement xField in xCompareDef.Element("comparefields").Elements()) { // Name CompareField compareField = new CompareField(); compareField.Name1 = xField.Attribute(XName.Get("name1")).Value; // Weight compareField.Weight = (float)xField.Attribute(XName.Get("weight")); // Comparer string comparerName = xField.Attribute(XName.Get("comparer")).Value; if (!string.IsNullOrEmpty(comparerName)) { compareField.FuzzyComparer = StringFuzzyComparerFactory.GetInstance(comparerName); } compareDef.CompareFields.Add(compareField); } // Aggregator string aggregatorName = xCompareDef.Element("aggregator") .Attribute(XName.Get("name")) .Value; compareDef.Aggregator = AggregatorFactory.GetInstance(aggregatorName); return(compareDef); } catch (Exception ex) { throw new ArgumentException("Fehler in " + this.GetType().FullName + " Method: [" + System.Reflection.MethodBase.GetCurrentMethod() + "] Data: " + xCompareDef.ToString(), ex); } }
private CompareDefinitionGroup GenerateCompareDefinitionGroup(object obj1) { var compareDefinitionGroup = new CompareDefinitionGroup(); // read atrribute on Class var matchingAttr = obj1.GetType().GetCustomAttributes(typeof(MatchingAttribute), false).FirstOrDefault() as MatchingAttribute; if (matchingAttr != null) { compareDefinitionGroup.Aggregator = (Aggregator)Activator.CreateInstance(matchingAttr.Aggregator); } foreach (var prop in obj1.GetType().GetProperties()) { var fieldAttr = prop.GetCustomAttributes(typeof(MatchingFieldAttribute), false).FirstOrDefault() as MatchingFieldAttribute; if (fieldAttr != null) { // CompareDefinition var compareDef = compareDefinitionGroup.CompareDefinitions.FirstOrDefault(x => x.Name == fieldAttr.CompareDefinition); if (compareDef == null) { compareDef = new CompareDefinition() { Name = fieldAttr.CompareDefinition }; compareDefinitionGroup.CompareDefinitions.Add(compareDef); } // CompareField var compareField = compareDef.CompareFields.FirstOrDefault(x => x.Name1 == prop.Name); if (compareField == null) { compareField = new CompareField() { Name1 = prop.Name, Name2 = prop.Name, FuzzyComparer = (StringFuzzyComparer)Activator.CreateInstance(fieldAttr.FuzzyComparer) }; compareDef.CompareFields.Add(compareField); } } } return(compareDefinitionGroup); }
public static void SetCompareKey(CompareField CompareKey) { // Change the comparison field m_CompareField = CompareKey; }
static Customer() { // Set the default compare field m_CompareField = CompareField.Name; }