/// <summary>
        /// Checks if the mapper repository contains a map and if so, returns it as an out parameter.
        /// </summary>
        /// <returns></returns>
        public bool TryGetMap(IMemberMapper mapper, MemberOptions options, TypePair pair, out ProposedMap map)
        {
            MapFuncWrapper action;

            if (cache.TryGetValue(pair, out action))
            {
                lock (action)
                {
                    if (action.InUse)
                    {
                        map = null;
                        return(false);
                    }

                    try
                    {
                        action.InUse = true;
                        map          = action.CreateMapFunction(mapper, options);
                    }
                    finally
                    {
                        action.InUse = false;
                    }
                    return(true);
                }
            }

            map = null;

            return(false);
        }
        /// <summary>
        /// Checks if the mapper repository contains a map and if so, returns it as an out parameter.
        /// </summary>
        /// <returns></returns>
        public bool TryGetMap <TSource, TDestination>(IMemberMapper mapper, MemberOptions options, out ProposedMap <TSource, TDestination> map)
        {
            MapFuncWrapper action;

            if (cache.TryGetValue(new TypePair(typeof(TSource), typeof(TDestination)), out action))
            {
                lock (action)
                {
                    if (action.InUse)
                    {
                        map = null;
                        return(false);
                    }

                    try
                    {
                        action.InUse = true;
                        map          = (ProposedMap <TSource, TDestination>)action.CreateMapFunction(mapper, options);
                    }
                    finally
                    {
                        action.InUse = false;
                    }
                    return(true);
                }
            }

            map = null;

            return(false);
        }
Beispiel #3
0
 public MappingContext(PropertyOrFieldInfo source, PropertyOrFieldInfo dest, int depth, IMemberMapper mapper)
 {
     Source = source;
       Destination = dest;
       Depth = depth;
       Mapper = mapper;
 }
Beispiel #4
0
 public MappingContext(PropertyOrFieldInfo source, PropertyOrFieldInfo dest, int depth, IMemberMapper mapper)
 {
     Source      = source;
     Destination = dest;
     Depth       = depth;
     Mapper      = mapper;
 }
 public MembersFeedProcessor(ILog log, IVkResponseMapper responseMapper, IMemberRepository memberRepository, IMemberMapper memberMapper)
 {
     this.log              = log;
     this.responseMapper   = responseMapper;
     this.memberRepository = memberRepository;
     this.memberMapper     = memberMapper;
 }
 public CompiledMapGenerator(IMemberMapper mapper, ProposedMap map, MapperOptions options)
 {
     this.mapper = mapper;
       this.proposedMap = map;
       this.mapProcessor = new MapProposalProcessor(mapper);
       this.newParameters = new List<ParameterExpression>();
       this.options = options;
 }
Beispiel #7
0
 public ProposedMap(Type sourceType, Type destinationType, IMemberMapper mapper, MapperOptions options)
 {
     this.mapper          = mapper;
     this.ParameterTypes  = new List <Type>();
     this.options         = options;
     this.sourceType      = sourceType;
     this.destinationType = destinationType;
 }
Beispiel #8
0
 public MemberService(IMemberMapper memberMapper, IUserService userService, IUserProfileRepository userProfileRepository, IMemberPersonalize memberPersonalize, IFollowRepository followRepository, ICurrentUserProvider currentUserProvider)
 {
     _memberMapper          = memberMapper;
     _userService           = userService;
     _userProfileRepository = userProfileRepository;
     _memberPersonalize     = memberPersonalize;
     _followRepository      = followRepository;
     _currentUserProvider   = currentUserProvider;
 }
Beispiel #9
0
 public UserService(IFriendRepository friendRepository, IUserProfileRepository userProfileRepository, IMemberMapper memberMapper, IFollowRepository followRepository, IFollowMapper followMapper, IApiClient apiClient, IHttpContextAccessor httpContextAccessor)
 {
     _friendRepository      = friendRepository;
     _userProfileRepository = userProfileRepository;
     _memberMapper          = memberMapper;
     _followRepository      = followRepository;
     _followMapper          = followMapper;
     _apiClient             = apiClient;
     _httpContextAccessor   = httpContextAccessor;
 }
 public StrategyProcessor(DefaultMappingStrategy strategy,
                          IMemberMapper mapper,
                          ConcurrentDictionary <TypePair, ProposedTypeMapping> mappingCache,
                          ConcurrentDictionary <TypePair, CustomMapping> customMappingCache,
                          MapperOptions options)
 {
     this.mapper             = mapper;
     this.mappingCache       = mappingCache;
     this.customMappingCache = customMappingCache;
     this.strategy           = strategy;
     this.options            = options;
 }
Beispiel #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectHelper"/> class.
 /// </summary>
 /// <param name="context">The timesheet database context.</param>
 /// <param name="repositoryAccessors">The instance of repository accessors.</param>
 /// <param name="projectMapper">The instance of project model mapper.</param>
 /// <param name="memberMapper">Instance of member mapper.</param>
 /// <param name="taskMapper">Instance of task mapper.</param>
 public ProjectHelper(
     TimesheetContext context,
     IRepositoryAccessors repositoryAccessors,
     IProjectMapper projectMapper,
     IMemberMapper memberMapper,
     ITaskMapper taskMapper)
 {
     this.context             = context;
     this.repositoryAccessors = repositoryAccessors;
     this.projectMapper       = projectMapper;
     this.memberMapper        = memberMapper;
     this.taskMapper          = taskMapper;
 }
        private MapperOptions GetMapperOptions(IMemberMapper mapper, Type sourceType, Type destinationType)
        {
            var destOptions = mapper.Data.TryGetMapperOptions(destinationType, MappingSides.Destination);

            if (destOptions != null)
            {
                return(destOptions);
            }

            var sourceOptions = mapper.Data.TryGetMapperOptions(sourceType, MappingSides.Source);

            return(sourceOptions ?? mapper.Options);
        }
Beispiel #13
0
        private void CreateMapper(string profile, IMemberMapper mapper)
        {
            lock (lockObj)
            {
                var newMappers = new Dictionary <string, IMemberMapper>(mappers);

                newMappers[profile] = mapper;

                if (mapper.MapRepository == null)
                {
                    mapper.MapRepository = this.MapRepository;
                }

                Interlocked.CompareExchange(ref mappers, newMappers, mappers);
            }
        }
 public DefaultProjectionGenerator(IMemberMapper mapper)
 {
     this.mapper = mapper;
       this.processor = new ProjectionProcessor(mapper);
 }
 public IProjectionGenerator GetGenerator(IMemberMapper mapper)
 {
     return new DefaultProjectionGenerator(mapper);
 }
 public DefaultMappingStrategy(IMemberMapper mapper)
 {
     this.mapper = mapper;
     this.MemberProviderFactory = new DefaultMemberProviderFactory();
 }
 public FakeEntityMaterializerSource(IMemberMapper memberMapper)
     : base(memberMapper)
 {
 }
 public IMapGenerator GetGenerator(IMemberMapper mapper, ProposedMap proposedMap, MapperOptions options)
 {
     return(new CompiledMapGenerator(mapper, proposedMap, options));
 }
 public SourceTypeModifier(Type t, IMemberMapper mapper)
 {
     this.type   = t;
     this.mapper = mapper;
 }
Beispiel #20
0
 public MapProposalProcessor(IMemberMapper mapper)
 {
     ParametersToReplace = new HashSet <ExpressionTuple>();
     Variables           = new Dictionary <string, ParameterExpression>();
     this.MemberMapper   = mapper;
 }
Beispiel #21
0
        private void CreateMapper(string profile, IMemberMapper mapper)
        {
            lock (lockObj)
              {
            var newMappers = new Dictionary<string, IMemberMapper>(mappers);

            newMappers[profile] = mapper;

            if (mapper.MapRepository == null)
            {
              mapper.MapRepository = this.MapRepository;
            }

            Interlocked.CompareExchange(ref mappers, newMappers, mappers);
              }
        }
        public EntityMaterializerSource([NotNull] IMemberMapper memberMapper)
        {
            Check.NotNull(memberMapper, nameof(memberMapper));

            _memberMapper = memberMapper;
        }
        public EntityMaterializerSource([NotNull] IMemberMapper memberMapper)
        {
            Check.NotNull(memberMapper, nameof(memberMapper));

            _memberMapper = memberMapper;
        }
Beispiel #24
0
 public DefaultProjectionGenerator(IMemberMapper mapper)
 {
     this.mapper    = mapper;
     this.processor = new ProjectionProcessor(mapper);
 }
Beispiel #25
0
 /// <summary>
 /// Initialises a new instance of <see cref="ExtendedEntityMaterializerSource"/>.
 /// </summary>
 /// <param name="memberMapper">The member mapper.</param>
 /// <param name="hooks">The set of entity materializer source hooks.</param>
 public ExtendedEntityMaterializerSource(IMemberMapper memberMapper, IEnumerable <IEntityMaterializerSourceHook> hooks)
     : base(memberMapper)
 {
     _executor = new FirstResultFuncExecutor <IEntityMaterializerSourceHook>(Ensure.NotNull(hooks, nameof(hooks)).ToArray());
 }
Beispiel #26
0
 public DestinationTypeModifier(IMemberMapper mapper)
 {
     this.mapper = mapper;
 }
Beispiel #27
0
 public MemberVisitor(IMemberMapper mapper, bool insertNullChecks, IDictionary <string, ParameterExpression> variables)
 {
     this.mapper           = mapper;
     this.insertNullChecks = insertNullChecks;
     this.variables        = variables;
 }
Beispiel #28
0
 public IProjectionGenerator GetGenerator(IMemberMapper mapper)
 {
     return(new DefaultProjectionGenerator(mapper));
 }
 public SourceTypeModifier(Type t, IMemberMapper mapper)
 {
     this.type = t;
       this.mapper = mapper;
 }
 public EntityMaterializerSource([NotNull] IMemberMapper memberMapper)
 {
     _memberMapper = memberMapper;
 }
 public MapperOptions GetOptions(IMemberMapper mapper)
 {
     return(new MapperOptions());
 }
 public DefaultMemberProvider(Type sourceType, Type destinationType, IMemberMapper mapper)
 {
     this.mapper          = mapper;
     this.sourceType      = sourceType;
     this.destinationType = destinationType;
 }
 public IMemberProvider GetMemberProvider(Type sourceType, Type destinationType, IMemberMapper mapper)
 {
     return new DefaultMemberProvider(sourceType, destinationType, mapper);
 }
 public IMappingStrategy GetMappingStrategy(IMemberMapper mapper)
 {
     return(new DefaultMappingStrategy(mapper));
 }
 public IMemberProvider GetMemberProvider(Type sourceType, Type destinationType, IMemberMapper mapper)
 {
     return(new DefaultMemberProvider(sourceType, destinationType, mapper));
 }
 public IMapGeneratorFactory GetMapGenerator(IMemberMapper mapper)
 {
     return(new CompiledMapGeneratorFactory());
 }
Beispiel #37
0
 public ProposedMap(IMemberMapper mapper)
 {
     this.mapper = mapper;
 }
 public IProjectionGeneratorFactory GetProjectionGenerator(IMemberMapper mapper)
 {
     return(new DefaultProjectionGeneratorFactory());
 }
 public EntityMaterializerSource([NotNull] IMemberMapper memberMapper)
 {
     _memberMapper = memberMapper;
 }
Beispiel #40
0
 public MembersController(IMemberServices memberService, IMemberMapper memberMapper)
 {
     _memberService = memberService;
     _memberMapper  = memberMapper;
 }
 public IMapGenerator GetGenerator(IMemberMapper mapper, ProposedMap proposedMap, MapperOptions options)
 {
     return new CompiledMapGenerator(mapper, proposedMap, options);
 }
Beispiel #42
0
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public static void SetMemberMapper([NotNull] this IMutableModel model, [NotNull] IMemberMapper memberMapper)
 => model[CoreAnnotationNames.MemberMapperAnnotation] = memberMapper;
 public DefaultMemberProvider(Type sourceType, Type destinationType, IMemberMapper mapper)
 {
     this.mapper = mapper;
       this.sourceType = sourceType;
       this.destinationType = destinationType;
 }
 public ProjectionProcessor(IMemberMapper mapper)
 {
     ParametersToReplace = new List<ProjectionExpressionTuple>();
       this.MemberMapper = mapper;
 }