Beispiel #1
0
        public void Delete()
        {
            if (!CanDelete)
            {
                return;
            }

            if (!Confirm("Удалить выбранные заявки?"))
            {
                return;
            }

            if (IsCurrentSelected)
            {
                foreach (var selected in SelectedOrders.ToArray())
                {
                    DeleteOrder(selected);
                }
            }
            else if (IsSentSelected)
            {
                foreach (var selected in SelectedSentOrders.ToArray())
                {
                    Log.Info($"Удаление отправленного заказа {selected.DisplayId} дата отправки: {selected.SentOn}" +
                             $" прайс-лист: {selected.SafePrice?.Name}" +
                             $" позиций: {selected.LinesCount}");
                    //в замыкании нельзя использовать переменную итератора
                    var order = selected;
                    Env.Query(s => s.Delete(order)).LogResult();
                    SentOrders.Remove(selected);
                }
            }
            else if (IsDeletedSelected)
            {
                foreach (var selected in SelectedDeletedOrders.ToArray())
                {
                    Log.Info($"Удаление текущего заказа {selected.DisplayId} из корзины дата создания: {selected.CreatedOn}" +
                             $" прайс-лист: {selected.SafePrice?.Name}" +
                             $" позиций: {selected.LinesCount}");
                    var order = selected;
                    Env.Query(s => s.Delete(order)).LogResult();
                    DeletedOrders.Remove(selected);
                }
            }
        }
Beispiel #2
0
        private void DeleteOrder(Order order)
        {
            Log.Info($"Перемещение в корзину текущего заказа {order.DisplayId} дата создания: {order.CreatedOn}" +
                     $" прайс-лист: {order.SafePrice?.Name}" +
                     $" позиций: {order.LinesCount}");

            var deletedOrder = new DeletedOrder(order);

            Session.Save(deletedOrder);
            DeletedOrders.Add(deletedOrder);

            Session.Delete(order);
            if (order.Address != null && !order.Address.IsProxy())
            {
                order.Address.Orders.Remove(order);
            }
            Orders.Remove(order);
            Session.Flush();
        }