Handling Existing Screen GUI

<< Click to Display Table of Contents >>

Navigation:  Developers' Guide > Customizing User Interface > FAQs > Samples >

Handling Existing Screen GUI

Navigation: Developers' Guide > Customizing User Interface > FAQs > Samples >

hm_btn_navigate_prevhm_btn_navigate_tophm_btn_navigate_next

Handling Existing Screen GUI

 

Show/Hide Hidden Text

This topic contains sample code for handling existing screen GUI in Management Console (MC) application.

Refer to the "CustomizeExistingScreenMC" project file on CitiXsys Knowledge Portal.

Click here to collapse/expand the view.

Sample for Handling Existing Screen GUI.

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");

        }

    }

}