In this video you will be able to know about how to use Automapper .ForMember() Method in Asp.net MVC. Its very important to have customized property mapping.
#AutoMapper Initialization (AutomapperWebProfile.cs)
Create a folder Infrastructure in the root folder of the project and create a class AutomapperWebProfile and copy below code into this.
using MVCTutorial.Domain; using MVCTutorial.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCTutorial.Infrastructure { public class AutomapperWebProfile : AutoMapper.Profile { public AutomapperWebProfile() { CreateMap<EmployeeDomainModelWeb, EmployeeViewModel>() .ForMember(dest=>dest.ExtraValue,opt=>opt.MapFrom(src=>src.ExtraValue.Encrypt())) .ForMember(dest => dest.CurrentDate, opt => opt.MapFrom(src => src.CurrentDate.ToString("MM/dd/yyy hh:mm"))); CreateMap<EmployeeDomainModel, EmployeeViewModel>(); //Reverese mapping CreateMap<EmployeeViewModel, EmployeeDomainModelWeb>(); CreateMap<EmployeeDomainModel, EmployeeViewModel>(); } public static void Run() { AutoMapper.Mapper.Initialize(a => { a.AddProfile<AutomapperWebProfile>(); }); } } public static class ExtensionMethod { public static string Encrypt(this Int32 num) { return "Technotips:" + num; } } }
#EmployeeDomainModel.cs
Create below class into Model folder
Create below class into Model folder
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MVCTutorial.Models { public class EmployeeDomainModelWeb { public int EmployeeId { get; set; } public string Name { get; set; } public int ExtraValue { get; set; } public DateTime CurrentDate { get; set; } } }
# EmployeeViewModel.cs
Create below class into Model folder
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Web; namespace MVCTutorial.Models { public class EmployeeViewModel { public int EmployeeId { get; set; } [Required(ErrorMessage = "Enter Name")] public string Name { get; set; } public string ExtraValue { get; set; } public string CurrentDate { get; set; } } }
# Controller Code (TestController.cs)
Create a Test controller and in your Index method write below code. Here, I have added few record in EmployeeDomainModel and using AutoMapper, I copied data into EmployeeViewModel directly. In this way you can use Automapper.
public ActionResult Index()
{
List<EmployeeDomainModel> empDomainList = new List<EmployeeDomainModel>();
empDomainList.Add(new EmployeeDomainModel { EmployeeId = 1, Name = "Ashish", ExtraValue = 2, CurrentDate = DateTime.Now });
empDomainList.Add(new EmployeeDomainModel { EmployeeId = 2, Name = "Ajay", ExtraValue = 3, CurrentDate = DateTime.Now });
List<EmployeeViewModel> empVMList = new List<EmployeeViewModel>();
AutoMapper.Mapper.Map(empDomainList, empVMList);
return View();
}
#Global.asax file
Add below code into Application_Start() Method. to Initialize Automapper and to create map between source and destination folder.
AutomapperWebProfile.Run();
Thanks . Keep Learning and Sharing
All Code Factory
- Part 11- Insert data into database
- Part 12- Server side and clientside validation
- Part 13- Insert data into multiple tables
- Part 14- Insert data into database using JQuery
- Part 15- How to create Bootstrap Popup
- Part 16- Delete operation in Asp.net MVC
- Part 17- What is Partial View in Asp.net MVC
- Part 18- How to call Partial View using JQuery
- Part 19- Difference between Html.Partial() and Html.RenderPartial()
- Part 20- AddEdit Record using Partial View
- Part 21- Layout View in Asp.net MVC
- Part 22- Style.Render and Script.Render
- Part 23 - RenderBody, RenderSection and RenderPage.
- Part 24- Divide Page into several component using Bootstrap
- Part 25- Refresh Entity framework after any modification in database table
- Part 26- Set foreign key relationnship in database tables
- Part 27- Create Rgistration Page
- Part 28- Create Login Page
- Part 29- Client Side Validation using JQuery
- Part 30- How to return multiple Model to a View (Interview)
- Part 31- How to create Dynamic Menu using Partial View
- Part 32- Preview Image Before Uploading
- Part 33- Upload and Display Image using JQuery
- Part 34-Upload Image to SQL Server and Display
- Part 35- Download Image from URL and Upload to SQL Server
- Part 36- Cascading DropdownList
- Part 37- Implement Search Functionality
- Part 38- Attribute Routing in MVC
- Part 39- How to display multiple checkbox checked data
- Part 40- How to send multiple checkbox checked value to Server
- Part 41- How to create responsive sortable Image Gallery
- Part 42 - How to implement JQuery Autocomplete Textbox
- Part 43 - How to send Emails in Asp.net MVC
- Part 44 - Integrate JQuery DataTables plugin
- Part 45 - Display record from database using JQuery Datatable
- Part 46- Add Edit Record using JQuery DataTable
- Part 47 - JQuery DataTables Server -side Processing
- Part 48 - JQuery server side processing -Search functionality
- Part 49 - Pagination using Skip and Take method
- Part 50 - Refresh DataTable After Performing Any Action
- Part 51 - Send OTP ( One Time Password ) to any mobile device
- Part 52 - How to use AutoMapper in Asp.net MVC
- Part 53 - How to use AutoMapper ForMember Method
- Part 54 - Repository Pattern - 1 - Adding Business Layer
- Part 55 - Repository Pattern - 2 - Adding Domain Layer
- Part 56 - Repository Pattern - 3 - Dependency Injection
- Part 57- Repository Pattern- 4 - Adding Data Access Layer
- Part 58 - Repository Pattern - 5 - Setting Up Generic Repository
- Part 59 - Display Record using repository pattern
- Part 60 - Add Edit Record using Repository Pattern
No comments:
Post a Comment