Exemplo n.º 1
0
        private DAL.Entities.Order AssembleOrder(ICreateOrderData createOrderData, string newOrderNumber)
        {
            IEnumerable <string>            itemCodes = createOrderData.Items.Select(item => item.Code).ToList();
            IEnumerable <DAL.Entities.Item> items     = repository.ItemRepository.
                                                        GetAll().Where(item => itemCodes.Contains(item.Code)).ToList();
            ICollection <DAL.Entities.OrderItem> assembledItems = createOrderData.Items.Select(item => AssembleItem(item, items)).ToList();

            return(new DAL.Entities.Order
            {
                Number = newOrderNumber,
                CustomerName = createOrderData.CustomerName,
                CustomerSurname = createOrderData.CustomerSurname,
                CustomerPhone = createOrderData.CustomerPhone,
                CustomerEmail = createOrderData.CustomerEmail,
                City = createOrderData.City,
                PostDepartment = createOrderData.PostDepartment,
                PaymentType = Assembler.Assemble(createOrderData.PaymentType),
                DeliveryType = Assembler.Assemble(createOrderData.DeliveryType),
                User = createOrderData.UserEmail == null ? null : repository.UserManager.FindByEmail(createOrderData.UserEmail),
                OrderStatus = DAL.Entities.OrderStatus.Ordered,
                CreatingDateTime = DateTime.UtcNow,
                Items = assembledItems
            });
        }
Exemplo n.º 2
0
 public void CreateOrder(ICreateOrderData createOrderData)
 {
     DAL.Entities.Order assembledOrder = AssembleOrder(createOrderData, orderNumberGenerator.GenerateNumber());
     repository.OrderRepository.Create(assembledOrder);
     repository.Save();
 }