Skip to content

AutoMapify v 1.0.18

Latest
Compare
Choose a tag to compare
@Adeola-Aderibigbe Adeola-Aderibigbe released this 28 Aug 13:29
· 13 commits to master since this release
76e605c

Automapify provides robust support for both many-to-many and one-to-many mappings, allowing for versatile object transformations. For many-to-many mappings, you can convert collections of objects to a new type or update existing objects with the following syntax. For example, to map a list of Student objects to a list of StudentDto objects, you would use student.Map<List<Student>, List<StudentDto>>() for a new object or studentDtos.Map(students) to update an existing list. Similarly, for one-to-many mappings, transforming a single Student object into a list of StudentDto objects is straightforward with student.Map<Student, List<StudentDto>>() for creating new objects, or studentDtos.Map(student) for updating existing ones. Advanced configurations can be applied using MapifyConfiguration, allowing you to specify custom mappings between properties, such as combining first and last names or calculating ages. For instance, using MappingService.StudentConfig(), you can define mappings like d => d.Name mapped to s => $"{s.FirstName} {s.LastName}", providing a powerful way to customize and control the mapping process. This flexibility ensures that Automapify can handle complex data transformations efficiently.

Map from objects to objects (Many-to-many mapping)

Automapify now supports many to many mapping. With this you can

  • Map to a new object
    var studentDtos = student.Map<List<Student>, List<StudentDto>>();
  • Map to an existing object
    studentDtos.Map(students); 
Map from object to objects (One-to-many mapping)
  • Map to a new object
    var studentDtos = student.Map<Student, List<StudentDto>>();
  • Map to an existing object
    studentDtos.Map(student); 
Using Configuration
  • Establish a configuration to illustrate the mapping of values.
     public static class MappingService
   {
       public static MapifyConfiguration<Student,StudentDtos> StudentConfig()
       {
           return new MapifyConfigurationBuilder<Student, StudentDto>()
               .Map(d => d.Name, s => $"{s.FirstName} {s.LastName}")
               .Map(d => d.Age, s => s.DateOfBirth.ToAge())
               .Map(d=>d.DOB, s => s.DateOfBirth)
               .Map(d=>d.IsDeleted, s => false)
               .Map(d=>d.Classroom, s=> s.Room)
               .CreateConfig();
       }
   }
Map from objects to objects (Many-to-many mapping)
  • Map to a new object
    var studentDtos = student.Map<List<Student>, List<StudentDto>>(MappingService.StudentConfig());
  • Map to an existing object
    studentDtos.Map(students,MappingService.StudentConfig()); 
Map from object to objects (One-to-many mapping)
  • Map to a new object
    var studentDtos = student.Map<Student, List<StudentDto>>(MappingService.StudentConfig());
  • Map to an existing object
    studentDtos.Map(student,MappingService.StudentConfig());