private void localMenu_OnItemClicked(string ActionType)
        {
            DebtorOfferLineClient row;
            var selectedItem = dgDebtorOfferLineGrid.SelectedItem as DebtorOfferLineClient;

            switch (ActionType)
            {
            case "AddRow":
                row = dgDebtorOfferLineGrid.AddRow() as DebtorOfferLineClient;
                if (row != null)
                {
                    row._ExchangeRate = this.exchangeRate;
                }
                break;

            case "CopyRow":
                if (selectedItem != null)
                {
                    row = dgDebtorOfferLineGrid.CopyRow() as DebtorOfferLineClient;
                    row._ExchangeRate  = this.exchangeRate;
                    row._CostPriceLine = selectedItem._CostPriceLine;
                }
                break;

            case "SaveGrid":
                saveGrid();
                break;

            case "DeleteRow":
                dgDebtorOfferLineGrid.DeleteRow();
                break;

            case "InsertSubTotal":
                row          = dgDebtorOfferLineGrid.AddRow() as DebtorOfferLineClient;
                row.Subtotal = true;
                break;

            case "StockLines":
                if (selectedItem?._Item != null)
                {
                    AddDockItem(TabControls.DebtorInvoiceLines, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvTransactions"), selectedItem._Item));
                }
                break;

            case "UnfoldBOM":
                if (selectedItem != null)
                {
                    CwUsePriceFromBOM cw = new CwUsePriceFromBOM();
#if !SILVERLIGHT
                    cw.DialogTableId = 2000000046;
#endif
                    cw.Closing += delegate
                    {
                        if (cw.DialogResult == true)
                        {
                            UnfoldBOM(selectedItem, cw.UsePricesFromBOM);
                        }
                    };
                    cw.Show();
                }
                break;

            case "Storage":
                ViewStorage();
                break;

            case "AddItems":
                if (this.items == null)
                {
                    return;
                }
                object[] paramArray = new object[3] {
                    new InvItemSalesCacheFilter(this.items), dgDebtorOfferLineGrid.TableTypeUser, Order
                };
                AddDockItem(TabControls.AddMultipleInventoryItem, paramArray, true,
                            string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("InventoryItems")), null, floatingLoc: Utility.GetDefaultLocation());
                break;

            case "EditOrder":
                AddDockItem(TabControls.DebtorOfferPage2, Order, string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("Offers"), Order._OrderNumber));
                break;

            case "AddVariants":
                var itm = selectedItem?.InvItem;
                if (itm?._StandardVariant != null)
                {
                    var paramItem = new object[] { selectedItem, Order };
                    dgDebtorOfferLineGrid.SetLoadedRow(selectedItem);
                    AddDockItem(TabControls.ItemVariantAddPage, paramItem, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("Variants")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "CreateProduction":
                if (selectedItem != null)
                {
                    CreateProductionOrder(selectedItem);
                }
                break;

            case "CreateFromInvoice":
                try
                {
                    CWCreateOrderFromQuickInvoice createOrderCW = new CWCreateOrderFromQuickInvoice(api, Order.Account, false, Order);
                    createOrderCW.Closing += delegate
                    {
                        if (createOrderCW.DialogResult == true)
                        {
                            var orderApi          = new OrderAPI(api);
                            var checkIfCreditNote = createOrderCW.chkIfCreditNote.IsChecked.HasValue ? createOrderCW.chkIfCreditNote.IsChecked.Value : false;
                            var debtorInvoice     = createOrderCW.dgCreateOrderGrid.SelectedItem as DebtorInvoiceClient;
                            dgDebtorOfferLineGrid.PasteRows(createOrderCW.debtorOfferLines);
                        }
                    };
                    createOrderCW.Show();
                }
                catch (Exception ex)
                {
                    UnicontaMessageBox.Show(ex);
                }
                break;

            case "PrintOffer":
                if (Order != null)
                {
                    GenerateOffer();
                }
                break;

            case "DebtorOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.DebtorOrderLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("OrdersLine"), selectedItem._Item));
                }
                break;

            case "DebtorOfferLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.DebtorOfferLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("OfferLine"), selectedItem._Item));
                }
                break;

            case "PurchaseOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.PurchaseLines, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PurchaseLines"), selectedItem._Item));
                }
                break;

            case "ProductionOrderLines":
                if (selectedItem?.InvItem != null)
                {
                    AddDockItem(TabControls.ProductionOrderLineReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProductionLines"), selectedItem._Item));
                }
                break;

            case "RefreshGrid":
                RefreshGrid();
                break;

            case "ViewPhoto":
                if (selectedItem?.InvItem != null && selectedItem?.Item != null)
                {
                    AddDockItem(TabControls.UserDocsPage, selectedItem.InvItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem?.InvItem?._Name));
                }
                break;

            case "ViewNotes":
                if (selectedItem?.InvItem != null && selectedItem?.Item != null)
                {
                    AddDockItem(TabControls.UserNotesPage, selectedItem.InvItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Notes"), selectedItem?.InvItem?._Name));
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
            RecalculateAmount();
        }
Example #2
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            ProjectInvoiceProposalLineClient row;
            ProjectInvoiceProposalClient     ord = this.Order;
            var selectedItem = dgProjInvProposedLineGrid.SelectedItem as ProjectInvoiceProposalLineClient;

            switch (ActionType)
            {
            case "AddRow":
                addingRow         = true;
                row               = dgProjInvProposedLineGrid.AddRow() as ProjectInvoiceProposalLineClient;
                row._ExchangeRate = this.exchangeRate;
                break;

            case "CopyRow":
                if (selectedItem != null)
                {
                    row = dgProjInvProposedLineGrid.CopyRow() as ProjectInvoiceProposalLineClient;
                    row._ExchangeRate  = this.exchangeRate;
                    row._CostPriceLine = selectedItem._CostPriceLine;
                    row._QtyDelivered  = 0;
                    row._QtyInvoiced   = 0;
                }
                break;

            case "SaveGrid":
                saveGridLocal();
                break;

            case "DeleteRow":
                dgProjInvProposedLineGrid.DeleteRow();
                break;

            case "ShowInvoice":
            case "CreateInvoice":
                if (ord != null)
                {
                    if (Utility.HasControlRights("GenerateInvoice", api.CompanyEntity))
                    {
                        GenerateInvoice(ord, ActionType == "ShowInvoice" ? true : false);
                    }
                    else
                    {
                        UtilDisplay.ShowControlAccessMsg("GenerateInvoice");
                    }
                }
                break;

            case "InsertSubTotal":
                row = dgProjInvProposedLineGrid.AddRow() as ProjectInvoiceProposalLineClient;
                if (row != null)
                {
                    row.Subtotal = true;
                }
                break;

            case "AddItems":
                if (this.items != null)
                {
                    object[] paramArray = new object[3] {
                        new InvItemSalesCacheFilter(this.items), dgProjInvProposedLineGrid.TableTypeUser, Order
                    };
                    AddDockItem(TabControls.AddMultipleInventoryItem, paramArray, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("InventoryItems")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "EditOrder":
                if (ord != null)
                {
                    AddDockItem(TabControls.ProjInvProposalPage2, ord, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Orders"), ord._OrderNumber));
                }
                break;

            case "ProjectTransaction":
                if (ord != null)
                {
                    saveGridLocal();
                    AddDockItem(TabControls.ProjectInvoiceProjectLinePage, ord, string.Format("{0}: {1} ({2})", Uniconta.ClientTools.Localization.lookup("ProjectAdjustments"), ord._OrderNumber, ord._Project));
                }
                break;

            case "RegenerateOrderFromProject":
                if (ord != null)
                {
                    AddDockItem(TabControls.RegenerateOrderFromProjectPage, ord, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("RegenerateOrder"), ord._OrderNumber));
                }
                break;

            case "AddVariants":
                var itm = selectedItem?.InvItem;
                if (itm?._StandardVariant != null)
                {
                    var paramItem = new object[] { selectedItem, ord };
                    dgProjInvProposedLineGrid.SetLoadedRow(selectedItem);
                    AddDockItem(TabControls.ItemVariantAddPage, paramItem, true,
                                string.Format(Uniconta.ClientTools.Localization.lookup("AddOBJ"), Uniconta.ClientTools.Localization.lookup("Variants")), null, floatingLoc: Utility.GetDefaultLocation());
                }
                break;

            case "CreateFromInvoice":
                try
                {
                    CWCreateOrderFromQuickInvoice createOrderCW = new CWCreateOrderFromQuickInvoice(api, ord.Account, true, ord);
                    createOrderCW.Closing += delegate
                    {
                        if (createOrderCW.DialogResult == true)
                        {
                            var orderApi          = new OrderAPI(api);
                            var checkIfCreditNote = createOrderCW.chkIfCreditNote.IsChecked.HasValue ? createOrderCW.chkIfCreditNote.IsChecked.Value : false;
                            var debtorInvoice     = createOrderCW.dgCreateOrderGrid.SelectedItem as DebtorInvoiceClient;
                            dgProjInvProposedLineGrid.PasteRows(createOrderCW.DCOrderLines);
                        }
                    };
                    createOrderCW.Show();
                }
                catch (Exception ex)
                {
                    UnicontaMessageBox.Show(ex);
                }
                break;

            case "RefreshGrid":
                RefreshGrid();
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
            RecalculateAmount();
        }