internal static object[] ResolveToModifiedValue(IList <AcrPropertyProfile.ValuesToResolve> valuesToResolve, IList <AcrPropertyProfile.ValuesToResolve> dependencies) { if (valuesToResolve[0].OriginalValue == null) { return(null); } bool flag = !AcrHelpers.MatchPropertyValues(valuesToResolve[0].ClientValue, valuesToResolve[0].OriginalValue); bool flag2 = !AcrHelpers.MatchPropertyValues(valuesToResolve[0].ServerValue, valuesToResolve[0].OriginalValue); if (flag && !flag2) { return(new object[] { valuesToResolve[0].ClientValue }); } if (!flag) { return(new object[] { valuesToResolve[0].ServerValue }); } return(null); }
private static object[] ResolveBasedOnCompare <T>(Predicate <int> comparisonInterpreter, IList <AcrPropertyProfile.ValuesToResolve> valuesToResolve, IList <AcrPropertyProfile.ValuesToResolve> dependencies) where T : IComparable <T> { AcrPropertyProfile.ValuesToResolve valuesToResolve2 = valuesToResolve[0]; bool flag; if (AcrHelpers.MatchPropertyValues(valuesToResolve2.ClientValue, valuesToResolve2.ServerValue)) { flag = comparisonInterpreter(0); } else if (!(valuesToResolve2.ServerValue is T)) { flag = comparisonInterpreter(1); } else if (!(valuesToResolve2.ClientValue is T)) { flag = comparisonInterpreter(-1); } else { T t = (T)((object)valuesToResolve2.ClientValue); flag = comparisonInterpreter(t.CompareTo((T)((object)valuesToResolve2.ServerValue))); } return(new object[] { flag?valuesToResolve2.ClientValue : valuesToResolve2.ServerValue }); }
internal static object[] ResolveToServerValueIfClientMatchesServer(IList <AcrPropertyProfile.ValuesToResolve> valuesToResolve, IList <AcrPropertyProfile.ValuesToResolve> dependencies) { if (AcrHelpers.MatchPropertyValues(valuesToResolve[0].ServerValue, valuesToResolve[0].ClientValue)) { return(new object[] { valuesToResolve[0].ServerValue }); } return(null); }