public static OrderEntity MapOrderFromDto(OrderDTO orderDto) { var orderCfg = new MapperConfiguration(cfg => { cfg.CreateMap <OrderDTO, OrderEntity>() .ForMember(o => o.Products, opt => opt.Ignore()); }); var productCfg = new MapperConfiguration(cfg => { cfg.CreateMap <ProductDTO, ProductEntity>(); }); var orderMapper = orderCfg.CreateMapper(); var productMapper = productCfg.CreateMapper(); var order = orderMapper.Map <OrderEntity>(orderDto); orderDto.Products.Distinct().All(productDto => { var product = productMapper.Map <ProductEntity>(productDto); product.Count = orderDto.Products.Count(p => p.Id == productDto.Id); order.Products.Add(product); return(true); }); return(order); }
public Guid Insert(OrderDTO order) { var entity = EntityMapper.MapOrderFromDto(order); entity.Id = Guid.NewGuid(); using (var context = new OrdersDbContext()) { context.Orders.Add(entity); context.SaveChanges(); } return(entity.Id); }