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(); }
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(); }