Confoguration class
==========================================================
using AutoMapper;
using HANDSV3.MODELS.Dtos;
using HANDSV3.MODELS.Entities;
namespace HANDSV3.WEBAPI
{
public class MapperProfile : Profile
{
public MapperProfile()
{
CreateMap<Messages, MessagesDto>()
.ForMember(
dest => dest.MessageId,
opt => opt.MapFrom(src => $"{src.MessageId}")
)
.ForMember(
dest => dest.Message,
opt => opt.MapFrom(src => $"{src.Message}")
)
.ForMember(
dest => dest.Subject,
opt => opt.MapFrom(src => $"{src.Subject}")
)
.ForMember(
dest => dest.StartDate,
opt => opt.MapFrom(src => $"{src.StartDate}")
)
.ForMember(
dest => dest.EndDate,
opt => opt.MapFrom(src => $"{src.EndDate}")
)
.ForMember(
dest => dest.PriorityId,
opt => opt.MapFrom(src => $"{src.PriorityId}")
)
.ForMember(
dest => dest.created_by,
opt => opt.MapFrom(src => $"{src.created_by}")
)
.ForMember(
dest => dest.created_Date,
opt => opt.MapFrom(src => $"{src.created_Date}")
)
.ForMember(
dest => dest.updated_date,
opt => opt.MapFrom(src => $"{src.updated_date}")
)
.ForMember(
dest => dest.updated_by,
opt => opt.MapFrom(src => $"{src.updated_by}")
);
CreateMap<MessagesDto, Messages>()
.ForMember(
dest => dest.MessageId,
opt => opt.MapFrom(src => $"{src.MessageId}")
)
.ForMember(
dest => dest.Message,
opt => opt.MapFrom(src => $"{src.Message}")
)
.ForMember(
dest => dest.Subject,
opt => opt.MapFrom(src => $"{src.Subject}")
)
.ForMember(
dest => dest.StartDate,
opt => opt.MapFrom(src => $"{src.StartDate}")
)
.ForMember(
dest => dest.EndDate,
opt => opt.MapFrom(src => $"{src.EndDate}")
)
.ForMember(
dest => dest.PriorityId,
opt => opt.MapFrom(src => $"{src.PriorityId}")
)
.ForMember(
dest => dest.created_by,
opt => opt.MapFrom(src => $"{src.created_by}")
)
.ForMember(
dest => dest.created_Date,
opt => opt.MapFrom(src => $"{src.created_Date}")
)
.ForMember(
dest => dest.updated_date,
opt => opt.MapFrom(src => $"{src.updated_date}")
)
.ForMember(
dest => dest.updated_by,
opt => opt.MapFrom(src => $"{src.updated_by}")
);
}
}
}
App Startup
====================================================
using AutoMapper;
using Microsoft.EntityFrameworkCore;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
//builder.Services.AddScoped<IDemographicService, DemographicService>();
//builder.Services.AddScoped<IDemographicRepository, DemographicRepository>();
//builder.Services.AddScoped<IUnitOfWork, UnitOfWork>();
//builder.Services.AddScoped<IDbFactory, DbFactory>();
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
builder.Services.Configure<IISServerOptions>(options =>
{
options.AutomaticAuthentication = false;
options.AllowSynchronousIO = true;
});
//string cs = builder.Configuration.GetValue<string>("ConnectionStrings:HANDS3Database");
//builder.Services.AddDbContext<HandsDBContext>(options =>
//{
// options.UseSqlServer(builder.Configuration.GetValue<string>("ConnectionStrings:HANDS3Database"));
//});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
Controler to map dto to entities
=================================
using AutoMapper;
using HANDSV3.CORE.Services;
using HANDSV3.MODELS.Dtos;
using Microsoft.AspNetCore.Mvc;
namespace HANDSV3.WEBAPI.Controllers
{
[ApiController]
[Route("[controller]")]
public class MessagesController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly IMapper mapper;
private readonly ILogger<MessagesController> _logger;
private IMessageService messageService;
public MessagesController(ILogger<MessagesController> logger, IMapper mapper)
{
_logger = logger;
this.mapper = mapper;
messageService = new MessageService();
}
[HttpGet]
public IEnumerable<MessagesDto> Index()
{
var messageDetails = messageService.GetAll();
var obj = mapper.Map<IEnumerable<MessagesDto>>(messageDetails);
return obj;
}
[HttpPost]
public bool Post(MessagesDto message)
{
var entity = mapper.Map<HANDSV3.MODELS.Entities.Messages >(message);
var messageDetails = messageService.Add(entity);
return messageDetails;
}
[HttpPut]
public bool Put(MessagesDto message)
{
var entity = mapper.Map<HANDSV3.MODELS.Entities.Messages>(message);
var messageDetails = messageService.Update(entity);
return messageDetails;
}
}
}
No comments:
Post a Comment