Skip to content

Commit 14aa0b0

Browse files
add auto mapper (#2)
1 parent 007ba41 commit 14aa0b0

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

CS/InstantFeedback.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<ImplicitUsings>enable</ImplicitUsings>
66
</PropertyGroup>
77
<ItemGroup>
8+
<PackageReference Include="AutoMapper" Version="12.0.1" />
89
<PackageReference Include="DevExpress.Blazor" Version="23.1.3" />
910
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.4" />
1011
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.4" />

CS/Pages/Index.razor

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@page "/"
2-
2+
@using AutoMapper
33
@using InstantFeedback.Models;
44
@using Microsoft.EntityFrameworkCore
55
@using DevExpress.Data.Linq
@@ -48,26 +48,24 @@
4848
@code {
4949
EntityInstantFeedbackSource InstantFeedbackSource { get; set; }
5050
NorthwindContext Northwind { get; set; }
51+
IMapper ProductMapper { get; set; }
5152

5253
protected override void OnInitialized() {
5354
Northwind = NorthwindContextFactory.CreateDbContext();
5455
InstantFeedbackSource = new EntityInstantFeedbackSource(e => {
5556
e.KeyExpression = "OrderId";
5657
e.QueryableSource = Northwind.Orders;
5758
});
59+
var config = new MapperConfiguration(c => c.CreateMap<Order, Order>());
60+
ProductMapper = config.CreateMapper();
5861
}
5962
async Task OnEditModelSaving(GridEditModelSavingEventArgs e) {
6063
var editModel = (Order)e.EditModel;
6164
// Re-query a data item from the database.
6265
var dataItem = e.IsNew ? new Order() : Northwind.Orders.Find(editModel.OrderId);
6366
// Assign changes from the edit model to the data item.
6467
if (dataItem != null) {
65-
dataItem.ShipName = editModel.ShipName;
66-
dataItem.ShipCity = editModel.ShipCity;
67-
dataItem.ShipCountry = editModel.ShipCountry;
68-
dataItem.Freight = editModel.Freight;
69-
dataItem.OrderDate = editModel.OrderDate;
70-
dataItem.ShippedDate = editModel.ShippedDate;
68+
ProductMapper.Map<Order, Order>(editModel, dataItem);
7169
// Post changes to the database.
7270
if (e.IsNew)
7371
await Northwind.AddAsync(dataItem);
@@ -90,4 +88,4 @@
9088
InstantFeedbackSource?.Dispose();
9189
Northwind?.Dispose();
9290
}
93-
}
91+
}

0 commit comments

Comments
 (0)