public ApproveSalemanOrders()
 {
     InitializeComponent();
     _vm = this.DataContext as ApproveSalesmanOrderViewModel;
     this.Loaded += ApproveSalesmanOrder_Loaded;
     LabelControls();
 }
        private void btnProcessBackOrder_Click(object sender, RoutedEventArgs e)
        {
            processingBackOrder = true;
            if (MessageBox.Show("Process back order?", "Distributr: Back Order", MessageBoxButton.OKCancel) ==
                MessageBoxResult.OK)
            {
                lblHeader.Content = "Process Back Order";
                _vm = DataContext as ApproveSalesmanOrderViewModel;

                _vm.ProcessBackOrdersCommand.Execute(null);
                _vm.LoadForProcessing = true;
                btnProcessBackOrder.Visibility = Visibility.Collapsed;
                btnAddLineItem.Visibility = Visibility.Collapsed;
                btnReject.Content = "Cancel Back Order";
                dgLineItemsFullGrid.ItemsSource = _vm.LineItems;
            }
        }
 private void UpdateLineItem(object sender, LineItem item)
 {
     if (_vm == null)
         _vm = DataContext as ApproveSalesmanOrderViewModel;
     if (sender.GetType() == typeof(SOLineItemModal))
     {
         _vm.UpdateLineItem(item.SequenceNo,
                            item.Qty,
                            item.LineItemVatValue,
                            item.VatAmount,
                            item.TotalPrice,
                            item.BackOrder,
                            item.LostSale,
                            true);
     }
     else if (sender.GetType() == typeof(AmmendOrderLineItemModal))
     {
         _vm.UpdateLineItem(item.SequenceNo,
                            item.Qty,
                            item.LineItemVatValue,
                            item.VatAmount,
                            item.TotalPrice,
                            item.BackOrder,
                            item.LostSale,
                            true);
     }
 }
        private void AddLineItem(object sender, LineItem item)
        {
            if (_vm == null)
                _vm = DataContext as ApproveSalesmanOrderViewModel;

            _vm.AddAmmendedLineItem(item.ProductId, item.Qty);

            if (sender.GetType() == typeof(AmmendOrderLineItemModal))
            {
                var lineItem =
                    _vm.LineItems.First(
                        n => n.ProductId == item.ProductId && n.OrderLineItemType != OrderLineItemType.Discount);

                _vm.AddAmmendedLineItem(lineItem.ProductId, lineItem.Qty, lineItem.SequenceNo);
            }

            _vm.ProcessDiscounts();
        }
        private void _distMsgBx_PreApproval_Closed(object sender, EventArgs e)
        {
            _distMsgBxVm = _distMsgBx.DataContext as DistributrMessageBoxViewModel;
            _vm = this.DataContext as ApproveSalesmanOrderViewModel;
            string msg = /*"Order "*/
                _messageResolver.GetText("sl.approveOrder.approve.messageBox.approved.message.part1") + " "
                + _vm.OrderId +
                /*" on behalf of "*/
                " " + _messageResolver.GetText("sl.approveOrder.approve.messageBox.approved.message.part2") + " "
                + _vm.SalesmanUsername +
                /*" was successfully approved.";*/
                " " + _messageResolver.GetText("sl.approveOrder.approve.messageBox.approved.message.part3") + " ";
            string caption = _messageResolver.GetText("sl.approveOrder.approve.messageBox.approved.caption");
            /*"Distributr: Approve Order On Behalf of Salesman";*/

            if (_distMsgBxVm.DialogResult)
            {
                switch (_distMsgBxVm.Command)
                {
                    case DistributrMessageBoxViewModel.CommandToExcecute.NewButtonClickedCommand:
                        if (_vm.ProcessingBackOrder)
                        {
                            caption = _messageResolver.GetText("sl.approveOrder.rejected.messageBox.message.title");
                            /* "Distributr: Reject Order On Behalf of Salesman";*/
                            msg = /*"Back order of order " */
                                _messageResolver.GetText("sl.approveOrder.bo.rejected.messageBox.message.part1") + " "
                                + _vm.OrderId +
                                /*" on behalf of " +*/
                                " " + _messageResolver.GetText("sl.approveOrder.bo.rejected.messageBox.message.part2") +
                                " "
                                + _vm.SalesmanUsername +
                                /*" was rejected and a lost sale created.";*/
                                _messageResolver.GetText("sl.approveOrder.rejected.messageBox.message.part3");
                            this.Cursor = Cursors.Wait;
                            _vm.RejectCommand.Execute(null);
                            this.Cursor = Cursors.Arrow;
                        }
                        else
                        {
                            this.Cursor = Cursors.Wait;
                            _vm.RunCreateBackOrderAndApprove();
                            this.Cursor = Cursors.Arrow;
                        }
                        ShowCompletedApprovalOptions(msg, caption);
                        break;
                    case DistributrMessageBoxViewModel.CommandToExcecute.Action1ButtonClickedCommand:
                        return;
                }
            } //default action
            if (!_distMsgBxVm.DialogResult) return;
        }