private void TransferOrderItemData(OrderItemInfoDto dto, OrderItem instance)
 {
     instance.ItemDescription = dto.ItemDescription;
     instance.ProductId       = dto.ProductId;
     instance.ProductName     = dto.ProductName;
     instance.UnitPrice       = dto.UnitPrice;
     instance.QtyOrdered      = dto.QtyOrdered;
     instance.Amount          = dto.Amount;
 }
Beispiel #2
0
        public List <OrderInfoDto> CreateOrdersFromCart(CartDto cart, ShipToDto shipTo)
        {
            ArgumentValidator.IsNotNull("cart", cart);
            ArgumentValidator.IsNotNull("shipTo", shipTo);

            List <OrderInfoDto> orders = new List <OrderInfoDto>();
            // validate cart
            bool isValid = Validate(cart);

            if (isValid)
            {
                IEnumerable <object> supplierIds = cart.CartItems.Select(o => o.SupplierId).Distinct();

                int orderNo = 0;
                foreach (object supplierId in supplierIds)
                {
                    orderNo++;
                    OrderInfoDto order = new OrderInfoDto();
                    order.OrderNumber = orderNo.ToString();
                    order.SupplierId  = supplierId;
                    order.ShipTo      = shipTo;

                    order.OrderItems = new List <OrderItemInfoDto>();
                    foreach (CartItemDto cartItem in cart.CartItems)
                    {
                        // filter by supplierId
                        if (object.Equals(cartItem.SupplierId, supplierId))
                        {
                            order.SupplierName = cartItem.SupplierName;
                            OrderItemInfoDto orderItem = new OrderItemInfoDto();
                            order.OrderItems.Add(orderItem);
                            orderItem.ProductId   = cartItem.ProductId;
                            orderItem.ProductName = cartItem.ProductName;
                            orderItem.QtyOrdered  = cartItem.QtyOrdered;
                            orderItem.UnitPrice   = cartItem.UnitPrice;
                            orderItem.Amount      = cartItem.Amount;
                        }
                    }

                    order.QtyOrderedTotal = order.OrderItems.Sum(o => o.QtyOrdered);
                    order.Amount          = order.OrderItems.Sum(o => o.Amount);

                    if (order.QtyOrderedTotal > 0)
                    {
                        orders.Add(order);
                    }
                }
            }

            return(orders);
        }
Beispiel #3
0
        public string GetItemName(object obj)
        {
            OrderItemInfoDto item = (OrderItemInfoDto)obj;

            return(WebContext.GetLocalizedData(CommonConst.ProductNameKeyFormatString, item.ProductId, CurrentUserContext.CurrentLanguage.Id, item.ProductName));
        }