Exemplo n.º 1
0
        protected override void BuildCore(TypePair typePair, BindingConfig bindingConfig)
        {
            var members           = MemberBuilder.Build(typePair).Where(x => !x.Ignored).ToList();
            var equalMembers      = new List <MappingMember>();
            var mappingMembers    = new List <MappingMember>();
            var refMembers        = new List <MappingMember>();
            var collectionMembers = new List <MappingMember>();
            var expressionMembers = new List <MappingMember>();

            foreach (var item in members)
            {
                if (item.IsExpressionMapping)
                {
                    expressionMembers.Add(item);
                }
                else
                {
                    var memberTypePair = TypePair.Create(item.Source.GetMemberType(), item.Target.GetMemberType());
                    if (memberTypePair.IsEqualTypes)
                    {
                        equalMembers.Add(item);
                    }
                    else if (memberTypePair.IsBaseTypes)
                    {
                        mappingMembers.Add(item);
                    }
                    else if (config.ReferencePropertyHandle != ReferencePropertyHandle.Ignore)
                    {
                        if (memberTypePair.IsEnumerableTypes)
                        {
                            collectionMembers.Add(item);
                        }
                        else
                        {
                            refMembers.Add(item);
                        }
                    }
                }
            }

            var func = CreateMapper(typePair, equalMembers, mappingMembers);

            MapperCache.Add(typePair, func);
            var action = CreateMapperRef(typePair, refMembers, collectionMembers, expressionMembers);

            if (action != null)
            {
                MapperRefCache.Add(typePair, action);
            }
        }
Exemplo n.º 2
0
        public string Serialize(Contract contract, string template, List <Contract> contracts)
        {
            var nodes = NodeHelper.GetMembers(contract).ToList();

            if (!nodes.Any())
            {
                return(template.Replace("{{Members}}", string.Empty));
            }

            var builder = new MemberBuilder(nodes);

            template = template.Replace("{{Members}}", builder.Build());
            return(template);
        }
Exemplo n.º 3
0
 protected override void OnModelCreating(ModelBuilder builder)
 {
     MessageBuilder.Build(builder);
     UserBuilder.Build(builder);
     ConversationBuilder.Build(builder);
     FriendsRequestBuilder.Build(builder);
     MessageBuilder.Build(builder);
     UserContactBuilder.Build(builder);
     ContactBuilder.Build(builder);
     NotificationBuilder.Build(builder);
     NotificationTypeBuilder.Build(builder);
     ParticipantBuilder.Build(builder);
     FileStorageBuilder.Build(builder);
     ReadReceiptBuilder.Build(builder);
     MemberBuilder.Build(builder);
 }