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