Ejemplo n.º 1
0
        public void CompleteOrder(int Id)
        {
            Order tmp = DeliveryOrders.Find(x => x.Id == Id);

            DeliveryOrders.RemoveAll(x => x.Id == Id);
            tmp.CompleteOrderDate = DateTime.Now;
            DeliveryCompleted.Add(tmp);
        }
Ejemplo n.º 2
0
        public void CreateOrder(int currentOrderIndex, Client client, DateTime orderDate, List <DishDTG> dishes, bool delivery, Address deliveryAddress, DateTime deliveryEndTime)
        {
            List <Dish> dataDishes = new List <Dish>();

            foreach (DishDTG dtg in dishes)
            {
                int cat = Convert.ToInt32(dtg.Category);
                dataDishes.Add(new Dish(dtg.Id, dtg.Name, dtg.Description, null, (Category)cat, dtg.Price));
            }
            Order order = new Order(currentOrderIndex, client, orderDate, dataDishes, delivery, deliveryAddress, deliveryEndTime);

            DeliveryOrders.Add(order);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 生成发货单
        /// </summary>
        private void OnDeliveryOrderCreate()
        {
            if (SalesOrdersForDelivery == null || !SalesOrdersForDelivery.Any())
            {
                MvvmUtility.ShowMessageAsync("请选择至少一个销售单", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            var selectedSalesOrdersForDelivery = SalesOrdersForDelivery.Where(salesOrder => salesOrder.IsSelected);

            if (!selectedSalesOrdersForDelivery.Any())
            {
                MvvmUtility.ShowMessageAsync("请选择至少一个销售单", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            if (selectedSalesOrdersForDelivery.Distinct(salesOrder => salesOrder.Order.OrderNo).Count() > 1)
            {
                MvvmUtility.ShowMessageAsync("所选择的销售单必须来自同一订单,否则无法生成发货单", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (selectedSalesOrdersForDelivery.Distinct(salesOrder => salesOrder.Order.CustomerName).Count() > 1 ||
                selectedSalesOrdersForDelivery.Distinct(salesOrder => salesOrder.Order.CustomerAddress).Count() > 1 ||
                selectedSalesOrdersForDelivery.Distinct(salesOrder => salesOrder.Order.CustomerPhone).Count() > 1)
            {
                MvvmUtility.ShowMessageAsync("所选择的销售单收货信息不一致,无法生成发货单", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            var firstSalesOrder = selectedSalesOrdersForDelivery.First();

            var deliveryOrderCreationDto = new DeliveryOrderCreationDTO()
            {
                SalesOrderNos = selectedSalesOrdersForDelivery.Select(salesOrder => salesOrder.SaleOrderNo).ToArray()
            };

            SalesOrdersForDelivery.SafelyRemove(salesOrder => salesOrder.IsSelected);

            var deliveryOrder = DeliveryOrderService.Create(deliveryOrderCreationDto);

            DeliveryOrders.SafelyInsert(0, deliveryOrder);
        }
Ejemplo n.º 4
0
 public Order GetDeliveryById(int Id)
 {
     return(DeliveryOrders.Find(x => x.Id == Id));
 }