private void btnClose_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FrameworkElement fe = sender as FrameworkElement;
                if (fe == null)
                {
                    MessageBox.Show("事件源不为:FrameworkElement");
                    return;
                }
                OrderReturnViewModel vm = fe.DataContext as OrderReturnViewModel;
                if (vm == null)
                {
                    throw new Exception("对象数据为空");
                }

                if (MessageBox.Show("是否关闭退货编号:" + vm.Source.Id, "警告", MessageBoxButton.YesNo,
                                    MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    return;
                }

                vm.Source.State           = OrderReturnState.PROCESSED;
                vm.Source.ProcessTime     = DateTime.Now;
                vm.Source.ProcessOperator = OperatorService.LoginOperator.Number;
                ServiceContainer.GetService <OrderReturnService>().Update(vm.Source);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 private void btnPrintInfo_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         FrameworkElement fe = sender as FrameworkElement;
         if (fe == null)
         {
             MessageBox.Show("事件源不为:FrameworkElement");
             return;
         }
         OrderReturnViewModel vm = fe.DataContext as OrderReturnViewModel;
         if ((int)vm.Source.State < (int)OrderReturnState.WAITPROCESS)
         {
             MessageBox.Show("订单没有处理,不能被打印");
             return;
         }
         OrderReturnPrintDocument orp = new OrderReturnPrintDocument();
         var printTemplate            = PrintTemplateService.GetAllLocal().FirstOrDefault(obj => obj.Type == PrintTemplate.TYPE_RETURN);
         if (printTemplate == null)
         {
             throw new Exception("未找到退货模板");
         }
         string printer = LocalConfigService.GetValue(SystemNames.CONFIG_PRINTER_RETURN_BARCODE);
         orp.StartPrint(new OrderReturn[] { vm.Source }, printer, false, printTemplate);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
        private void btnProcessEx_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FrameworkElement fe = sender as FrameworkElement;
                if (fe == null)
                {
                    MessageBox.Show("事件源不为:FrameworkElement");
                    return;
                }
                OrderReturnViewModel vm = fe.DataContext as OrderReturnViewModel;

                if (vm == null)
                {
                    throw new Exception("DataContext数据为空");
                }

                if (string.IsNullOrWhiteSpace(vm.Source.DeliveryCompany) ||
                    string.IsNullOrWhiteSpace(vm.Source.DeliveryNumber))
                {
                    throw new Exception("快递公司和快递单号不能为空");
                }

                OrderReturnProcessWindow window = new OrderReturnProcessWindow {
                    OrderReturn = vm
                };
                window.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 private void Delete_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         OrderReturnViewModel order = (e.Source as Hyperlink).DataContext as OrderReturnViewModel;
         if (order == null)
         {
             return;
         }
         this.OrderReturns.Remove(order);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        private void btnCreateNew_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FrameworkElement fe = sender as FrameworkElement;
                if (fe == null)
                {
                    MessageBox.Show("事件源不为:FrameworkElement");
                    return;
                }
                OrderReturnViewModel vm = fe.DataContext as OrderReturnViewModel;
                if (vm == null)
                {
                    throw new Exception("对象数据为空");
                }

                if (OperatorService.LoginOperator.Rights.Contains("创建订单") == false)
                {
                    throw new Exception("你没有权限创建订单");
                }

                if (vm.Source.Type != OrderReturnType.EXCHANGE)
                {
                    if (MessageBox.Show("该退货不是换货,确认需要创建?", "警告", MessageBoxButton.YesNo, MessageBoxImage.Question) !=
                        MessageBoxResult.Yes)
                    {
                        return;
                    }
                }

                var window = new OrderEditWindow {
                    SourceOrder = vm.Order
                };
                window.ShowDialog();
                if (window.Order == null)
                {
                    return;
                }
                vm.Source.NewOrderId = window.Order.Id;
                ServiceContainer.GetService <OrderReturnService>().Update(vm.Source);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void pbBar_PageChanging(object sender, PageBar.PageChangeEventArgs e)
        {
            var ret = ServiceContainer.GetService <OrderReturnService>().GetByAll(e.GetParameter <int>("Id"),
                                                                                  e.GetParameter <long>("OrderId"), e.GetParameter <string>("Vendor"), e.GetParameter <string>("Number"),
                                                                                  e.GetParameter <string>("DeliveryNumber"), e.GetParameter <OrderReturnState>("State"),
                                                                                  e.GetParameter <OrderReturnType>("Type"), e.GetParameter <int>("TimeType"),
                                                                                  e.GetParameter <DateTime>("Start"), e.GetParameter <DateTime>("End"), e.CurrentPage - 1, e.PageSize);
            OrderService os = ServiceContainer.GetService <OrderService>();
            List <OrderReturnViewModel> vms = new List <OrderReturnViewModel>();

            foreach (var item in ret.Datas)
            {
                OrderReturnViewModel vm = new OrderReturnViewModel(item);
                vm.Order      = ServiceContainer.GetService <OrderService>().GetById(item.OrderId);
                vm.OrderGoods = vm.Order == null || vm.Order.OrderGoodss == null ? null : vm.Order.OrderGoodss.FirstOrDefault(obj => obj.Id == item.OrderGoodsId);
                vms.Add(vm);
            }
            this.lstOrderReturns.ItemsSource = vms.ToArray();
            this.pbBar.Total        = ret.Total;
            this.pbBar.CurrentCount = ret.Datas.Count;
            this.pbBar.TitleMessage = "当前页退货金额:" + ret.Datas.Select(obj => obj.GoodsMoney).Sum();
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FrameworkElement fe = sender as FrameworkElement;
                if (fe == null)
                {
                    MessageBox.Show("事件源不为:FrameworkElement");
                    return;
                }
                OrderReturnViewModel vm = fe.DataContext as OrderReturnViewModel;
                if (vm == null)
                {
                    throw new Exception("对象数据为空");
                }

                if (MessageBox.Show("是否删除退货编号:" + vm.Source.Id, "警告", MessageBoxButton.YesNo,
                                    MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    return;
                }

                if (MessageBox.Show("是否删除退货编号:" + vm.Source.Id, "警告", MessageBoxButton.YesNo,
                                    MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    return;
                }

                OrderReturnService os = ServiceContainer.GetService <OrderReturnService>();
                os.Delete(vm.Source.Id);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }