Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }