Example #1
0
        public void ProcessOrder(Cart cart, DeliveryDTO deliveryDto, UserDTO userDto)
        {
            foreach (var item in cart.Lines)
            {
                item.PriceSale = item.Good.PriceSale;
            }

            OrderDTO orderDto = new OrderDTO();

            orderDto.Status = _statusLogic.Get(1);

            orderDto.DateCreation = DateTime.Now;
            orderDto.DateSale = DateTime.Now;
            orderDto.User = userDto;
            orderDto.Sum = cart.Lines.Sum(x => x.PriceSale * x.Number);
            orderDto.Delivery = deliveryDto;

            Order order = new Order();
            order.Id = orderDto.Id;
            order.User = _clientRepository.Get(userDto.Id);
            order.DateCreation = DateTime.Now;
            order.DateSale = DateTime.Now;
            order.Sum = orderDto.Sum;

            var delivery = Mapper.Map<DeliveryDTO, Delivery>(deliveryDto);
            var status = Mapper.Map<StatusDTO, Status>(_statusLogic.Get(1));

            order.Status = status;
            order.Delivery = delivery;

            _repository.Add(order);

            var items = cart.Lines;

            foreach (OrderItemDTO itemDto in items)
            {
                itemDto.Good = _goodLogic.Get(itemDto.Good.Id);
                itemDto.Order = new OrderDTO { Id = order.Id };
                _orderItemLogic.Add(itemDto);
            }
        }
Example #2
0
 public void Add(OrderDTO orderDto)
 {
     var order = Mapper.Map<OrderDTO, Order>(orderDto);
     _repository.Add(order);
 }
Example #3
0
 public void Edit(OrderDTO orderDto)
 {
     var order = Mapper.Map<OrderDTO, Order>(orderDto);
     _repository.Edit(order);
 }
Example #4
0
        public ActionResult Create(CartViewModel cartViewModel, List<OrderItemDTO> orderItemsDto)
        {
            //var order = new Order();
            var orderDto = new OrderDTO();

            if (ModelState.IsValid)
            {
                //todo: refactor DTO
                orderDto.OrderItems = cartViewModel.OrderItems;
                orderDto.DateCreation = cartViewModel.DateCreation;
                orderDto.DateSale = cartViewModel.DateSale;
                orderDto.Id = cartViewModel.Id;
                orderDto.Status = cartViewModel.Status;
                orderDto.Sum = cartViewModel.Sum;

                _orderLogic.Add(orderDto);
                return RedirectToAction("Index");
            }

            return View(orderDto);
        }