iVend GUI Events

<< Click to Display Table of Contents >>

Navigation:  Developers' Guide > Customizing User Interface > Introduction > User Interface Design >

iVend GUI Events

Navigation: Developers' Guide > Customizing User Interface > Introduction > User Interface Design >

hm_btn_navigate_prevhm_btn_navigate_tophm_btn_navigate_next

iVend GUI Events

 

Show/Hide Hidden Text

This topic describes about iVend GUI events.

There are various events exposed in Management Console (MC) and Point of Sale (POS). There are many scenario where developers can use iVend GUI events to customize MC and POS screens.

Examples:

•Developers can use GUI events to customize the existing purchase order screen in Management Console.

Click here expand/collapse the view.

Click here to view sample.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using CXS.Retail.Extensibility.Modules.Purchasing;

using CXS.Retail.Extensibility;

using CXS.Retail.ManagementUIComponents;

using CXS.Platform.UIComponents;

using DevExpress.XtraEditors;

using System.Windows.Forms;

using DevExpress.XtraGrid;

using CXS.SubSystem.Purchasing;

using DevExpress.XtraVerticalGrid;

using CXS.Retail.ViewModel.Message;

 

namespace SampleAddOn

{

    class CustomPurchaseOrder : PurchaseOrderViewModuleBase

    {

        PurchaseOrderView POView;

\\Cuztomising on adding detail/Product

        public override void OnAddingDetail(object sender, DetailEventArgs<CXS.SubSystem.Purchasing.PurchaseOrder, CXS.SubSystem.Inventory.Product> args)

        {

            MessageBox.Show("On Adding details");

            POView.ForeColor = System.Drawing.Color.LawnGreen;

            POView.BackColor = System.Drawing.Color.Yellow;

            if (POView != null)

            {

                POView.m_GridView.RowCountChanged += m_GridView_RowCountChanged;

                POView.m_GridView.RowHeight = 100;

            }

 

        }

 

        void m_GridView_RowCountChanged(object sender, EventArgs e)

        {

            MessageBox.Show("Row Count Changed");

        }

        public override void OnBeforeAddDetail(object sender, EventArgs<CXS.SubSystem.Purchasing.PurchaseOrder> args)

        {

            MessageBox.Show("On before Add details");

        }

 

//Adding UDF after product is added to PO

        public override void OnAfterAddDetail(object sender, DetailEventArgs<CXS.SubSystem.Purchasing.PurchaseOrder, CXS.SubSystem.Purchasing.PurchaseOrderDetail> args)

        {

           

            List<PurchaseOrderDetail> PODetail = args.ChildList as List<PurchaseOrderDetail>;

            int i = 0;

            foreach (PurchaseOrderDetail purchaseOrderDetail in PODetail)

            {

                purchaseOrderDetail.UserDefinedFields["U_VendorCatalog1"] = "Catalog " + i.ToString();

                i++;

            }

 

            MessageBox.Show("On After Add details");

        }

 

        public override void OnAfterSave(object sender, EventArgs<CXS.SubSystem.Purchasing.PurchaseOrder> args)

        {

            MessageBox.Show("On after Save details");

            args.Message = "Saving PO after";

        }

 

        public override void OnBeforeSave(object sender, EventArgs<CXS.SubSystem.Purchasing.PurchaseOrder> args)

        {

            MessageBox.Show("On before Save details");

            //Handling Exceptions

            //args.Cancel = true;

            //args.Message = "Saving PO";

            //args.MessageType = MessageType.Information;

        }

        public override void OnBeforeRemoveDetail(object sender, DetailEventArgs<PurchaseOrderPurchaseOrderDetail> args)

        {

            MessageBox.Show("On Before Remove Detail");

        }

 

             //Adding Custom buttons to PO screen and changing the appearence of the grids

        public override void OnViewIntialized(object sender, ViewInitializedEventArgs args)

        {

            POView = sender as PurchaseOrderView;

            CXSButton cXSButton = POView.AddCustomButton("PO custom button");

            cXSButton.Click += cXSButton_Click;

            POView.m_RepositoryAmount.Click += m_RepositoryAmount_Click;

            POView.m_RepositoryDiscountType.SelectedValueChanged += m_RepositoryDiscountType_SelectedValueChanged;

            POView.m_RepositoryDiscountType.SelectedIndexChanged += m_RepositoryDiscountType_SelectedIndexChanged;

            POView.m_RepositoryDiscountType.EditValueChanged += m_RepositoryDiscountType_EditValueChanged;

            POView.m_RepositoryVendorKey.ButtonClick += m_RepositoryVendorKey_ButtonClick;

            POView.m_RepositoryTaxCodeKey.ButtonClick += m_RepositoryTaxCodeKey_ButtonClick;

            POView.m_RepositoryButtonEditReasonCode.ButtonClick += m_RepositoryButtonEditReasonCode_ButtonClick;

            POView.m_GridView.RowHeight = 50;

            POView.m_VGridHeader.Rows[0].Height = 50;

            POView.m_VGridHeader.RowHeaderWidth = 10;

            POView.m_VGridHeader.Rows[2].Height = 100;

        }

 

        void cXSButton_Click(object sender, EventArgs e)

        {

            MessageBox.Show("PO Custom Button 1 Click");

        }

 

        void m_RepositoryButtonEditReasonCode_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

        {

            MessageBox.Show("Reason code clicked ");

        }

 

        void m_RepositoryTaxCodeKey_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

        {

            MessageBox.Show("Tax code key");

        }

 

        void m_RepositoryVendorKey_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)

        {

            MessageBox.Show("Vendor Key clicked");

        }

 

        void m_RepositoryDiscountType_EditValueChanged(object sender, EventArgs e)

        {

            MessageBox.Show("Discount type changed");

        }

 

        void m_RepositoryDiscountType_SelectedIndexChanged(object sender, EventArgs e)

        {

            MessageBox.Show("Discount type clicked 2");

        }

 

        void m_RepositoryDiscountType_SelectedValueChanged(object sender, EventArgs e)

        {

            MessageBox.Show("Discount type clicked");

        }

 

        void m_RepositoryAmount_Click(object sender, EventArgs e)

        {

            MessageBox.Show("Amount  clicked");

        }

 

        public override void OnAfterDelete(object sender, DetailEventArgs<PurchaseOrder> args)

        {

            MessageBox.Show("On after delete");

        }

        public override void OnAfterRemoveDetail(object sender, DetailEventArgs<PurchaseOrderPurchaseOrderDetail> args)

        {

            MessageBox.Show("On After Remove Detail");

        }

        public override void OnBeforeDelete(object sender, DetailEventArgs<PurchaseOrder> args)

        {

            MessageBox.Show("On Before Delete");

        }

    }

}

•Developers can use GUI events to customize the existing Sale Item Edit screen in POS.

Click here expand/collapse the view.

Click here to view sample.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using CXS.Retail.Extensibility;

using CXS.Retail.UIComponents;

using CXS.Retail.ManagementUIComponents;

using CXS.Platform.UIComponents;

using CXS.Retail.Extensibility.Modules.Transaction;

using System.Windows.Forms;

using CXSRetailPOS;

 

namespace POSEventsSampleAddon

{

    class SaleItemEdit : SaleItemModuleBase

    {

        public override void OnBeforeCollectingAttributeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On Before Collecting Attribute Detail - SaleItemEdit");

        }

        public override void OnBeforeAddingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On Before Adding Surcharge Detail - SaleItemEdit");

        }

        public override void OnAfterCollectingAttributeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Collecting Attribute Detail - SaleItemEdit");

        }

        public override void OnAfterSave(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Save - SaleItemEdit");

        }

        public override void OnAfterAddingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Adding Surcharge Detail - Sale Item");

        }

        public override void OnBeforeDeletingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction,CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On Before Deleting Surcharge Detail - Sale Item");

        }

        public override void OnBeforeEditingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On Before Editing Surcharge Detail - Sale Item");

        }

        public override void OnAfterCancel(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Cancel - Sale Item");

        }

        public override void OnAfterDeletingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Deleting Surcharge Detail - Sale Item");

        }

        public override void OnAfterEditingSurchargeDetail(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On After Editing Surcharge Detail - Sale Item");

        }

        public override void OnBeforeSave(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("on before Save - Sale Item");

        }

        public override void OnBeforeCancel(object sender, EventArgs<CXS.SubSystem.Transaction.Transaction, CXS.SubSystem.Transaction.TransactionSaleItem> args)

        {

            MessageBox.Show("On Before Cancel - Sale Item");

        }

 

    }

}