예제 #1
0
 public void TestIfCustomMappingWorksCorrectly()
 {
     Mapper.DeleteMapping <SourcePerson, DestinationPerson>();
     Mapper.AddMapping <SourceAddress, DestinationAddress>(AddressMappingFunction);
     TestMapping <SourcePerson, DestinationPerson>(sourcePerson, expectedPerson);
     TestMapping <SourceAddress, DestinationAddress>(sourcePerson.Address, expectedPerson.Address);
 }
예제 #2
0
        private Models.Actor Map(Dto.Series.Actor actor)
        {
            var mapper = new Mapper <Dto.Series.Actor, Models.Actor>();

            mapper.AddMapping((s, d) => d.SortOrder = s.SortOrder ?? 1);
            return(mapper.CreateMappedObject(actor));
        }
예제 #3
0
        private SearchResultItem Map(SeriesSearchResult item)
        {
            var mapper = new Mapper <SeriesSearchResult, SearchResultItem>(StringComparison.OrdinalIgnoreCase);

            mapper.AddMapping((s, d) => d.SeriesId = s.Id);
            return(mapper.CreateMappedObject(item));
        }
예제 #4
0
파일: MappingSpec.cs 프로젝트: Jonne/demos
        public void Maps()
        {
            var mapper = new Mapper<Person, PersonDto>();
            mapper.AddMapping(x => x.Name, y => y.FullName);
            mapper.AddMapping(x => x.Age, y => y.AgeInYears);

            var person = new Person
                {
                    Name = "Chuck Norris",
                    Age = 433,
                    Title = "Texas Ranger"
                };

            PersonDto personDto = mapper.Map(person);

            personDto.FullName.Should().Be("Chuck Norris");
            personDto.AgeInYears.Should().Be(433);
        }
예제 #5
0
        private Banner Map(Dto.Series.Image banner)
        {
            var mapper = new Mapper <Dto.Series.Image, Banner>();

            mapper.AddMapping((s, d) =>
            {
                d.BannerPath    = s.FileName;
                d.BannerType    = s.KeyType;
                d.RatingString  = s.RatingsInfo.Average?.ToString();
                d.ThumbnailPath = s.Thumbnail;
                d.Season        = s.SubKey;
            });
            return(mapper.CreateMappedObject(banner));
        }
예제 #6
0
        static void SetupMappings()
        {
            Mapper.AddMapping <User, UserCreateViewModel>((result, source) =>
            {
                result.PasswordCrypted = Resolver.GetSingleton <Encryptor>().CryptPassword(source.Password);

                return(result);
            });

            Mapper.AddMapping <Group, GroupCreateViewModel>((result, source) =>
            {
                result.CanBeDeleted = true;
                result.Schedule     = new XmlDocument();
                result.Schedule.LoadXml(source.GroupShedule.Serialize());

                return(result);
            });

            Mapper.AddMapping <GroupEditViewModel, Group>((result, source) =>
            {
                result.GroupSchedule = source.Schedule.DeserializeAs <Schedule>();

                return(result);
            });

            Mapper.AddMapping <Group, GroupEditViewModel>((result, source) =>
            {
                result.CanBeDeleted = true;
                result.Schedule     = new XmlDocument();
                result.Schedule.LoadXml(source.GroupSchedule.Serialize());

                return(result);
            });

            Mapper.AddMapping <CommentViewModel, Comment>((result, source) =>
            {
                result.AuthorName        = Resolver.GetInstance <IUserManager>().GetById(source.AuthorId.ToString()).Name;
                result.PostingDateString = source.PostingDate.ToShortDateString() + " " + source.PostingDate.ToShortTimeString();

                return(result);
            });
        }
예제 #7
0
        public void TestIfCustomMappingWithLambdaWorksCorrectly()
        {
            Mapper.DeleteMapping <SourcePerson, DestinationPerson>();
            Mapper.AddMapping <SourceAddress, DestinationAddress>(a => new DestinationAddress()
            {
                Street = a.AddressLine1
            });
            var expectedAddress = new DestinationAddress()
            {
                Street = sourcePerson.Address.AddressLine1
            };

            TestMapping <SourceAddress, DestinationAddress>(sourcePerson.Address, expectedAddress);
            TestMapping <SourcePerson, DestinationPerson>(sourcePerson,
                                                          new DestinationPerson()
            {
                LastName  = "Fasola",
                FirstName = "Jasio",
                Address   = expectedAddress
            });
        }
예제 #8
0
        private static void RegisterCustomMappings()
        {
            Mapper.AddMapping <UserForm, UserFormDesignModel>((result, source) =>
            {
                XmlDocument xml = new XmlDocument();
                xml.LoadXml(source.FormFields.Serialize());

                result.Fields = xml;

                return(result);
            });

            Mapper.AddMapping <UserFormDesignModel, UserForm>((result, source) =>
            {
                var list = source.Fields.DeserializeAs <List <UserFormField> >();

                result.FormFields = list;

                return(result);
            });

            Mapper.AddMapping <Page, PageDesignModel>((result, source) =>
            {
                XmlDocument xml = new XmlDocument();
                xml.LoadXml(source.ContentBlocks.Serialize());

                result.ContentBlocks = xml;

                return(result);
            });

            Mapper.AddMapping <PageDesignModel, Page>((result, source) =>
            {
                var list = source.ContentBlocks.DeserializeAs <List <string> >();

                result.ContentBlocks = list;

                return(result);
            });
        }
예제 #9
0
 public void TestIfCustomMappingCanBeRemoved()
 {
     Mapper.AddMapping <SourceAddress, DestinationAddress>(AddressMappingFunction);
     Mapper.DeleteMapping <SourceAddress, DestinationAddress>();
     TestMapping <SourceAddress, DestinationAddress>(sourcePerson.Address, new DestinationAddress());
 }