@@ -17,15 +17,18 @@ public class OrderService : IOrderService
1717 private readonly IBaseMapper < Order , OrderViewModel > _orderViewModelMapper ;
1818 private readonly IBaseMapper < OrderViewModel , Order > _orderMapper ;
1919 private readonly IOrderRepository _orderRepository ;
20+ private readonly IOrderDetailsRepository _orderDetailsRepository ;
2021
2122 public OrderService (
2223 IBaseMapper < Order , OrderViewModel > orderViewModelMapper ,
2324 IBaseMapper < OrderViewModel , Order > orderMapper ,
24- IOrderRepository orderRepository )
25+ IOrderRepository orderRepository ,
26+ IOrderDetailsRepository orderDetailsRepository )
2527 {
2628 _orderMapper = orderMapper ;
2729 _orderViewModelMapper = orderViewModelMapper ;
2830 _orderRepository = orderRepository ;
31+ _orderDetailsRepository = orderDetailsRepository ;
2932 }
3033
3134 public async Task < IEnumerable < OrderViewModel > > GetOrders ( )
@@ -63,11 +66,34 @@ public async Task<bool> IsExistsForUpdate(int id, string key, string value)
6366
6467 public async Task < OrderViewModel > Create ( OrderViewModel model )
6568 {
66- //Mapping through AutoMapper
67- var entity = _orderMapper . MapModel ( model ) ;
68- entity . EntryDate = DateTime . Now ;
69- 70- return _orderViewModelMapper . MapModel ( await _orderRepository . Create ( entity ) ) ;
69+ //Manual mapping
70+ var order = new Order
71+ {
72+ CustomerId = model . CustomerId ,
73+ TotalBill = model . TotalBill ,
74+ TotalQuantity = model . TotalQuantity ,
75+ ProcessingData = model . ProcessingData ,
76+ Description = model . Description ,
77+ EntryDate = DateTime . Now
78+ } ;
79+ var orderData = await _orderRepository . Create ( order ) ;
80+ var orderDetails = new List < OrderDetails > ( ) ;
81+ 82+ foreach ( var item in model . OrderDetails )
83+ {
84+ orderDetails . Add ( new OrderDetails
85+ {
86+ OrderId = orderData . Id ,
87+ ProductId = item . ProductId ,
88+ Price = item . Price ,
89+ Quantity = item . Quantity ,
90+ Description = item . Description ,
91+ EntryDate = DateTime . Now
92+ } ) ;
93+ }
94+ await _orderDetailsRepository . CreateRange ( orderDetails ) ;
95+ 96+ return _orderViewModelMapper . MapModel ( orderData ) ;
7197 }
7298
7399 public async Task Update ( OrderViewModel model )
0 commit comments