private PropMap CreatePropMap(Type sourceType, Type destType, ListControlActionType actionType) { PropMap map = new PropMap(sourceType, destType, actionType); if (Maps.Any(m => m.Equals(map))) { throw new InvalidOperationException("Same map already added."); } Maps.Add(map); return(map); }
internal PropMap(Type srcType, Type destType, ListControlActionType actionType) { SourceType = srcType; DestinationType = destType; ListControlAction = actionType; }
internal PropMap(Type srcType, Type destType, ListControlActionType actionType) { SourceType = srcType; DestinationType = destType; ListControlAction = actionType; }
public PropMapExpr <TSource, TDest> CreateMap <TSource, TDest>(ListControlActionType actionType) where TSource : class, new() where TDest : class, new() { return(new PropMapExpr <TSource, TDest>(this.CreatePropMap(typeof(TSource), typeof(TDest), actionType))); }
public IEnumerable <LambdaExpression> FindResolution(Type sourceType, Type destType, ListControlActionType actionType, string memberName) { PropMap map = Maps .Where(m => m.SourceType == sourceType && m.DestinationType == destType && (m.ListControlAction == actionType || m.ListControlAction == ListControlActionType.Common)) .OrderByDescending(m => m.ListControlAction) .FirstOrDefault(); if (map != null && map.Members.ContainsKey(memberName)) { return(map.Members[memberName]); } return(null); }