Files
ayanova7/source/WinFormApp/PurchaseOrderInfoForm.cs

2625 lines
112 KiB
C#

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using GZTW.AyaNova.BLL;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win.UltraWinToolbars;
using System.Text;
using log4net;
namespace AyaNova
{
/// <summary>
/// Summary description for PurchaseOrderInfoForm.
/// </summary>
public class PurchaseOrderInfoForm : System.Windows.Forms.Form
{
// Create a logger for use in this class
//case 1039 private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private System.Windows.Forms.CheckBox ckIsDirty;
private System.Windows.Forms.ErrorProvider ErrorProvider;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edNotes;
private System.Windows.Forms.Panel panelLeft;
private System.Windows.Forms.Panel panelRight;
private System.Windows.Forms.Panel panelBottom;
private System.Windows.Forms.Splitter splitter1;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsManager tbManager;
private System.Windows.Forms.Panel panelCustom;
private Infragistics.Win.UltraWinGrid.UltraGrid gridCustom;
private Infragistics.Win.Misc.UltraLabel lblNotes;
private Infragistics.Win.Misc.UltraLabel lblVendorMemo;
private GZTW.WinForm.Controls.GZUltraComboEditor cbVendorID;
private Infragistics.Win.Misc.UltraButton btnVendorID;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edVendorInfo;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edClientInfo;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _PurchaseOrderInfoForm_Toolbars_Dock_Area_Left;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _PurchaseOrderInfoForm_Toolbars_Dock_Area_Right;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _PurchaseOrderInfoForm_Toolbars_Dock_Area_Top;
private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom;
private Infragistics.Win.Misc.UltraLabel lblOrderedDate;
private GZTW.WinForm.Controls.GZDateTimePicker dtOrderedDate;
private GZTW.WinForm.Controls.GZDateTimePicker dtExpectedReceiveDate;
private Infragistics.Win.Misc.UltraLabel lblExpectedReceiveDate;
private Infragistics.Win.UltraWinGrid.UltraGrid Grid;
private Infragistics.Win.Misc.UltraButton btnClientID;
private GZTW.WinForm.Controls.GZUltraComboEditor cbClientID;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edVendorMemo;
private Infragistics.Win.Misc.UltraLabel lblStatus;
private System.Windows.Forms.CheckBox ckClosed;
private Infragistics.Win.Misc.UltraLabel lblReferenceNumber;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edReferenceNumber;
private System.Windows.Forms.HelpProvider helpProvider1;
private Infragistics.Win.UltraWinEditors.UltraCheckEditor ckAllVendors;
private Infragistics.Win.Misc.UltraLabel lblProjectID;
private GZTW.WinForm.Controls.GZUltraComboEditor cbProjectID;
private System.ComponentModel.IContainer components;
public PurchaseOrderInfoForm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar1 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("PurchaseOrderEntryMenuBar");
Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool1 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("LT:UI.Toolbar.Print");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool1 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.SaveClose");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool19 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:O.WikiPage");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool2 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.RecordHistory");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool3 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.SaveNew");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool4 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Save");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool5 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Delete");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool6 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Ordered");
Infragistics.Win.UltraWinToolbars.ControlContainerTool controlContainerTool1 = new Infragistics.Win.UltraWinToolbars.ControlContainerTool("LT:UI.Command.Closed");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool7 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:WorkorderItemPartRequest.Label.List");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool8 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:PurchaseOrder.Label.UI.RestockList");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool9 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Close");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool10 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.SaveClose");
Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool11 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.RecordHistory");
Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool12 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Save");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool13 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.SaveNew");
Infragistics.Win.Appearance appearance7 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance8 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool14 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Close");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool15 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Delete");
Infragistics.Win.Appearance appearance9 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance10 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool16 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Ordered");
Infragistics.Win.UltraWinToolbars.ControlContainerTool controlContainerTool2 = new Infragistics.Win.UltraWinToolbars.ControlContainerTool("LT:UI.Command.Closed");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool17 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:WorkorderItemPartRequest.Label.List");
Infragistics.Win.Appearance appearance11 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance12 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool18 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:PurchaseOrder.Label.UI.RestockList");
Infragistics.Win.Appearance appearance13 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance14 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ListTool listTool1 = new Infragistics.Win.UltraWinToolbars.ListTool("REPORTLIST");
Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool2 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("LT:UI.Toolbar.Print");
Infragistics.Win.Appearance appearance15 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance16 = new Infragistics.Win.Appearance();
Infragistics.Win.UltraWinToolbars.ListTool listTool2 = new Infragistics.Win.UltraWinToolbars.ListTool("REPORTLIST");
Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool20 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:O.WikiPage");
Infragistics.Win.Appearance appearance17 = new Infragistics.Win.Appearance();
Infragistics.Win.Appearance appearance18 = new Infragistics.Win.Appearance();
this.ckClosed = new System.Windows.Forms.CheckBox();
this.ckIsDirty = new System.Windows.Forms.CheckBox();
this.panelLeft = new System.Windows.Forms.Panel();
this.lblProjectID = new Infragistics.Win.Misc.UltraLabel();
this.cbProjectID = new GZTW.WinForm.Controls.GZUltraComboEditor();
this.ckAllVendors = new Infragistics.Win.UltraWinEditors.UltraCheckEditor();
this.lblStatus = new Infragistics.Win.Misc.UltraLabel();
this.edVendorInfo = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.btnVendorID = new Infragistics.Win.Misc.UltraButton();
this.cbVendorID = new GZTW.WinForm.Controls.GZUltraComboEditor();
this.cbClientID = new GZTW.WinForm.Controls.GZUltraComboEditor();
this.edClientInfo = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.btnClientID = new Infragistics.Win.Misc.UltraButton();
this.ErrorProvider = new System.Windows.Forms.ErrorProvider(this.components);
this.panelRight = new System.Windows.Forms.Panel();
this.edReferenceNumber = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.lblReferenceNumber = new Infragistics.Win.Misc.UltraLabel();
this.dtExpectedReceiveDate = new GZTW.WinForm.Controls.GZDateTimePicker();
this.lblOrderedDate = new Infragistics.Win.Misc.UltraLabel();
this.dtOrderedDate = new GZTW.WinForm.Controls.GZDateTimePicker();
this.lblExpectedReceiveDate = new Infragistics.Win.Misc.UltraLabel();
this.lblVendorMemo = new Infragistics.Win.Misc.UltraLabel();
this.edVendorMemo = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.lblNotes = new Infragistics.Win.Misc.UltraLabel();
this.edNotes = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.panelBottom = new System.Windows.Forms.Panel();
this.Grid = new Infragistics.Win.UltraWinGrid.UltraGrid();
this.splitter1 = new System.Windows.Forms.Splitter();
this.panelCustom = new System.Windows.Forms.Panel();
this.gridCustom = new Infragistics.Win.UltraWinGrid.UltraGrid();
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this.tbManager = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea();
this.helpProvider1 = new System.Windows.Forms.HelpProvider();
this.panelLeft.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbProjectID)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ckAllVendors)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edVendorInfo)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbVendorID)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbClientID)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edClientInfo)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).BeginInit();
this.panelRight.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.edReferenceNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dtExpectedReceiveDate)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dtOrderedDate)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edVendorMemo)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edNotes)).BeginInit();
this.panelBottom.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Grid)).BeginInit();
this.panelCustom.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gridCustom)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tbManager)).BeginInit();
this.SuspendLayout();
//
// ckClosed
//
this.ckClosed.Location = new System.Drawing.Point(-12000, -11538);
this.ckClosed.Name = "ckClosed";
this.ckClosed.Size = new System.Drawing.Size(212, 54);
this.ckClosed.TabIndex = 4;
this.ckClosed.Tag = "";
this.ckClosed.Text = "LT:UI.Command.Closed";
this.ckClosed.CheckedChanged += new System.EventHandler(this.ckClosed_CheckedChanged);
//
// ckIsDirty
//
this.ckIsDirty.Location = new System.Drawing.Point(-336, 28);
this.ckIsDirty.Name = "ckIsDirty";
this.ckIsDirty.Size = new System.Drawing.Size(232, 27);
this.ckIsDirty.TabIndex = 5;
//
// panelLeft
//
this.panelLeft.Controls.Add(this.lblProjectID);
this.panelLeft.Controls.Add(this.cbProjectID);
this.panelLeft.Controls.Add(this.ckAllVendors);
this.panelLeft.Controls.Add(this.lblStatus);
this.panelLeft.Controls.Add(this.edVendorInfo);
this.panelLeft.Controls.Add(this.btnVendorID);
this.panelLeft.Controls.Add(this.cbVendorID);
this.panelLeft.Controls.Add(this.cbClientID);
this.panelLeft.Controls.Add(this.edClientInfo);
this.panelLeft.Controls.Add(this.btnClientID);
this.panelLeft.Dock = System.Windows.Forms.DockStyle.Left;
this.panelLeft.Location = new System.Drawing.Point(0, 55);
this.panelLeft.Name = "panelLeft";
this.panelLeft.Size = new System.Drawing.Size(300, 307);
this.panelLeft.TabIndex = 0;
//
// lblProjectID
//
this.lblProjectID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblProjectID.Location = new System.Drawing.Point(10, 314);
this.lblProjectID.Name = "lblProjectID";
this.lblProjectID.Size = new System.Drawing.Size(283, 18);
this.lblProjectID.TabIndex = 167;
this.lblProjectID.Tag = "";
this.lblProjectID.Text = "LT:O.Project";
this.lblProjectID.WrapText = false;
//
// cbProjectID
//
this.cbProjectID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cbProjectID.Location = new System.Drawing.Point(10, 339);
this.cbProjectID.MaxDropDownItems = 25;
this.cbProjectID.Name = "cbProjectID";
this.cbProjectID.Size = new System.Drawing.Size(283, 24);
this.cbProjectID.TabIndex = 166;
this.cbProjectID.NeedMoreData += new GZTW.WinForm.Controls.NeedMoreDataHandler(this.cbProjectID_NeedMoreData);
//
// ckAllVendors
//
this.ckAllVendors.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ckAllVendors.Location = new System.Drawing.Point(10, 88);
this.ckAllVendors.Name = "ckAllVendors";
this.ckAllVendors.Size = new System.Drawing.Size(283, 18);
this.ckAllVendors.TabIndex = 165;
this.ckAllVendors.Tag = "";
this.ckAllVendors.Text = "LT:PurchaseOrder.Label.ShowPartsAllVendors";
this.ckAllVendors.BeforeCheckStateChanged += new Infragistics.Win.CheckEditor.BeforeCheckStateChangedHandler(this.ckAllVendors_BeforeCheckStateChanged);
//
// lblStatus
//
this.lblStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblStatus.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblStatus.Location = new System.Drawing.Point(10, 7);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(283, 21);
this.lblStatus.TabIndex = 3;
this.lblStatus.Tag = "";
//
// edVendorInfo
//
this.edVendorInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edVendorInfo.Location = new System.Drawing.Point(10, 113);
this.edVendorInfo.Multiline = true;
this.edVendorInfo.Name = "edVendorInfo";
this.edVendorInfo.ReadOnly = true;
this.edVendorInfo.Scrollbars = System.Windows.Forms.ScrollBars.Vertical;
this.edVendorInfo.Size = new System.Drawing.Size(283, 65);
this.edVendorInfo.TabIndex = 155;
//
// btnVendorID
//
this.btnVendorID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
appearance1.TextHAlignAsString = "Left";
this.btnVendorID.Appearance = appearance1;
this.btnVendorID.ButtonStyle = Infragistics.Win.UIElementButtonStyle.PopupBorderless;
this.btnVendorID.Location = new System.Drawing.Point(10, 34);
this.btnVendorID.Name = "btnVendorID";
this.btnVendorID.Size = new System.Drawing.Size(283, 27);
this.btnVendorID.TabIndex = 1;
this.btnVendorID.Tag = "";
this.btnVendorID.Text = "LT:O.Vendor";
this.btnVendorID.UseHotTracking = Infragistics.Win.DefaultableBoolean.True;
this.btnVendorID.Click += new System.EventHandler(this.btnVendorID_Click);
//
// cbVendorID
//
this.cbVendorID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cbVendorID.Location = new System.Drawing.Point(10, 62);
this.cbVendorID.Name = "cbVendorID";
this.cbVendorID.Size = new System.Drawing.Size(283, 24);
this.cbVendorID.TabIndex = 0;
this.cbVendorID.NeedMoreData += new GZTW.WinForm.Controls.NeedMoreDataHandler(this.cbVendorID_NeedMoreData);
this.cbVendorID.SelectionChanged += new System.EventHandler(this.cbVendorID_SelectionChanged);
//
// cbClientID
//
this.cbClientID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cbClientID.Location = new System.Drawing.Point(10, 212);
this.cbClientID.Name = "cbClientID";
this.cbClientID.Size = new System.Drawing.Size(283, 24);
this.cbClientID.TabIndex = 2;
this.cbClientID.NeedMoreData += new GZTW.WinForm.Controls.NeedMoreDataHandler(this.cbClientID_NeedMoreData);
this.cbClientID.SelectionChanged += new System.EventHandler(this.cbClientID_SelectionChanged);
//
// edClientInfo
//
this.edClientInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edClientInfo.Location = new System.Drawing.Point(10, 240);
this.edClientInfo.Multiline = true;
this.edClientInfo.Name = "edClientInfo";
this.edClientInfo.ReadOnly = true;
this.edClientInfo.Scrollbars = System.Windows.Forms.ScrollBars.Vertical;
this.edClientInfo.Size = new System.Drawing.Size(283, 63);
this.edClientInfo.TabIndex = 158;
//
// btnClientID
//
this.btnClientID.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
appearance2.TextHAlignAsString = "Left";
this.btnClientID.Appearance = appearance2;
this.btnClientID.ButtonStyle = Infragistics.Win.UIElementButtonStyle.PopupBorderless;
this.btnClientID.Location = new System.Drawing.Point(10, 185);
this.btnClientID.Name = "btnClientID";
this.btnClientID.Size = new System.Drawing.Size(283, 27);
this.btnClientID.TabIndex = 3;
this.btnClientID.Tag = "";
this.btnClientID.Text = "LT:PurchaseOrder.Label.DropShipToClientID";
this.btnClientID.UseHotTracking = Infragistics.Win.DefaultableBoolean.True;
this.btnClientID.Click += new System.EventHandler(this.btnClientID_Click);
//
// ErrorProvider
//
this.ErrorProvider.ContainerControl = this;
//
// panelRight
//
this.panelRight.Controls.Add(this.edReferenceNumber);
this.panelRight.Controls.Add(this.lblReferenceNumber);
this.panelRight.Controls.Add(this.dtExpectedReceiveDate);
this.panelRight.Controls.Add(this.lblOrderedDate);
this.panelRight.Controls.Add(this.dtOrderedDate);
this.panelRight.Controls.Add(this.lblExpectedReceiveDate);
this.panelRight.Controls.Add(this.lblVendorMemo);
this.panelRight.Controls.Add(this.edVendorMemo);
this.panelRight.Controls.Add(this.lblNotes);
this.panelRight.Controls.Add(this.edNotes);
this.panelRight.Controls.Add(this.ckClosed);
this.panelRight.Dock = System.Windows.Forms.DockStyle.Left;
this.panelRight.Location = new System.Drawing.Point(300, 55);
this.panelRight.Name = "panelRight";
this.panelRight.Size = new System.Drawing.Size(308, 307);
this.panelRight.TabIndex = 101;
//
// edReferenceNumber
//
this.edReferenceNumber.Location = new System.Drawing.Point(182, 96);
this.edReferenceNumber.Name = "edReferenceNumber";
this.edReferenceNumber.Size = new System.Drawing.Size(116, 24);
this.edReferenceNumber.TabIndex = 2;
//
// lblReferenceNumber
//
this.lblReferenceNumber.Location = new System.Drawing.Point(10, 96);
this.lblReferenceNumber.Name = "lblReferenceNumber";
this.lblReferenceNumber.Size = new System.Drawing.Size(105, 18);
this.lblReferenceNumber.TabIndex = 164;
this.lblReferenceNumber.Tag = "";
this.lblReferenceNumber.Text = "LT:PurchaseOrder.Label.ReferenceNumber";
this.lblReferenceNumber.WrapText = false;
//
// dtExpectedReceiveDate
//
this.dtExpectedReceiveDate.GZEnabled = true;
this.dtExpectedReceiveDate.GZReadOnly = false;
this.dtExpectedReceiveDate.Location = new System.Drawing.Point(192, 65);
this.dtExpectedReceiveDate.Name = "dtExpectedReceiveDate";
this.dtExpectedReceiveDate.Size = new System.Drawing.Size(106, 24);
this.dtExpectedReceiveDate.TabIndex = 1;
//
// lblOrderedDate
//
this.lblOrderedDate.Location = new System.Drawing.Point(10, 31);
this.lblOrderedDate.Name = "lblOrderedDate";
this.lblOrderedDate.Size = new System.Drawing.Size(105, 19);
this.lblOrderedDate.TabIndex = 159;
this.lblOrderedDate.Tag = "";
this.lblOrderedDate.Text = "LT:PurchaseOrder.Label.OrderedDate";
this.lblOrderedDate.WrapText = false;
//
// dtOrderedDate
//
this.dtOrderedDate.GZEnabled = true;
this.dtOrderedDate.GZReadOnly = false;
this.dtOrderedDate.Location = new System.Drawing.Point(192, 31);
this.dtOrderedDate.Name = "dtOrderedDate";
this.dtOrderedDate.Size = new System.Drawing.Size(106, 24);
this.dtOrderedDate.TabIndex = 0;
this.dtOrderedDate.EditorButtonClick += new Infragistics.Win.UltraWinEditors.EditorButtonEventHandler(this.dtOrderedDate_EditorButtonClick);
//
// lblExpectedReceiveDate
//
this.lblExpectedReceiveDate.Location = new System.Drawing.Point(10, 65);
this.lblExpectedReceiveDate.Name = "lblExpectedReceiveDate";
this.lblExpectedReceiveDate.Size = new System.Drawing.Size(105, 18);
this.lblExpectedReceiveDate.TabIndex = 163;
this.lblExpectedReceiveDate.Tag = "";
this.lblExpectedReceiveDate.Text = "LT:PurchaseOrder.Label.ExpectedReceiveDate";
this.lblExpectedReceiveDate.WrapText = false;
//
// lblVendorMemo
//
this.lblVendorMemo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblVendorMemo.Location = new System.Drawing.Point(10, 129);
this.lblVendorMemo.Name = "lblVendorMemo";
this.lblVendorMemo.Size = new System.Drawing.Size(288, 19);
this.lblVendorMemo.TabIndex = 133;
this.lblVendorMemo.Tag = "";
this.lblVendorMemo.Text = "LT:PurchaseOrder.Label.VendorMemo";
//
// edVendorMemo
//
this.edVendorMemo.AcceptsReturn = true;
this.edVendorMemo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edVendorMemo.Location = new System.Drawing.Point(10, 148);
this.edVendorMemo.Multiline = true;
this.edVendorMemo.Name = "edVendorMemo";
this.edVendorMemo.Size = new System.Drawing.Size(288, 64);
this.edVendorMemo.TabIndex = 3;
//
// lblNotes
//
this.lblNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblNotes.Location = new System.Drawing.Point(10, 222);
this.lblNotes.Name = "lblNotes";
this.lblNotes.Size = new System.Drawing.Size(288, 18);
this.lblNotes.TabIndex = 131;
this.lblNotes.Tag = "";
this.lblNotes.Text = "LT:PurchaseOrder.Label.Notes";
//
// edNotes
//
this.edNotes.AcceptsReturn = true;
this.edNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edNotes.Location = new System.Drawing.Point(10, 240);
this.edNotes.Multiline = true;
this.edNotes.Name = "edNotes";
this.edNotes.Size = new System.Drawing.Size(288, 65);
this.edNotes.TabIndex = 4;
//
// panelBottom
//
this.panelBottom.Controls.Add(this.Grid);
this.panelBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelBottom.Location = new System.Drawing.Point(0, 372);
this.panelBottom.Name = "panelBottom";
this.panelBottom.Size = new System.Drawing.Size(874, 203);
this.panelBottom.TabIndex = 102;
//
// Grid
//
this.Grid.Cursor = System.Windows.Forms.Cursors.Hand;
this.Grid.DisplayLayout.Override.AllowAddNew = Infragistics.Win.UltraWinGrid.AllowAddNew.TemplateOnBottom;
this.Grid.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.True;
this.Grid.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.True;
this.Grid.Dock = System.Windows.Forms.DockStyle.Fill;
this.Grid.Location = new System.Drawing.Point(0, 0);
this.Grid.Name = "Grid";
this.Grid.Size = new System.Drawing.Size(874, 203);
this.Grid.TabIndex = 0;
this.Grid.Tag = "";
this.Grid.Text = "LT:O.PurchaseOrderItem";
this.Grid.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.Grid_AfterCellUpdate);
this.Grid.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(this.Grid_InitializeRow);
this.Grid.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.Grid_ClickCellButton);
this.Grid.BeforeRowInsert += new Infragistics.Win.UltraWinGrid.BeforeRowInsertEventHandler(this.Grid_BeforeRowInsert);
this.Grid.SummaryValueChanged += new Infragistics.Win.UltraWinGrid.SummaryValueChangedEventHandler(this.Grid_SummaryValueChanged);
this.Grid.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Grid_MouseDown);
//
// splitter1
//
this.splitter1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.splitter1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.splitter1.Location = new System.Drawing.Point(0, 362);
this.splitter1.Name = "splitter1";
this.splitter1.Size = new System.Drawing.Size(874, 10);
this.splitter1.TabIndex = 0;
this.splitter1.TabStop = false;
//
// panelCustom
//
this.panelCustom.Controls.Add(this.gridCustom);
this.panelCustom.Dock = System.Windows.Forms.DockStyle.Right;
this.panelCustom.Location = new System.Drawing.Point(606, 55);
this.panelCustom.Name = "panelCustom";
this.panelCustom.Size = new System.Drawing.Size(268, 307);
this.panelCustom.TabIndex = 108;
//
// gridCustom
//
this.gridCustom.Cursor = System.Windows.Forms.Cursors.Default;
this.gridCustom.Dock = System.Windows.Forms.DockStyle.Fill;
this.gridCustom.Location = new System.Drawing.Point(0, 0);
this.gridCustom.Name = "gridCustom";
this.gridCustom.Size = new System.Drawing.Size(268, 307);
this.gridCustom.TabIndex = 0;
this.gridCustom.Tag = "";
this.gridCustom.Text = "LT:ObjectCustomField.Label.CustomGrid";
this.gridCustom.AfterCellUpdate += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.gridCustom_AfterCellUpdate);
//
// _PurchaseOrderInfoForm_Toolbars_Dock_Area_Left
//
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.BackColor = System.Drawing.SystemColors.Control;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Left;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.ForeColor = System.Drawing.SystemColors.ControlText;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.Location = new System.Drawing.Point(0, 55);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.Name = "_PurchaseOrderInfoForm_Toolbars_Dock_Area_Left";
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.Size = new System.Drawing.Size(0, 520);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left.ToolbarsManager = this.tbManager;
//
// tbManager
//
this.tbManager.DesignerFlags = 1;
this.tbManager.DockWithinContainer = this;
this.tbManager.DockWithinContainerBaseType = typeof(System.Windows.Forms.Form);
this.tbManager.ShowFullMenusDelay = 500;
ultraToolbar1.DockedColumn = 0;
ultraToolbar1.DockedRow = 0;
controlContainerTool1.ControlName = "ckClosed";
controlContainerTool1.InstanceProps.Width = 212;
ultraToolbar1.NonInheritedTools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
popupMenuTool1,
buttonTool1,
buttonTool19,
buttonTool2,
buttonTool3,
buttonTool4,
buttonTool5,
buttonTool6,
controlContainerTool1,
buttonTool7,
buttonTool8,
buttonTool9});
ultraToolbar1.Text = "PurchaseOrderEntryMenuBar";
this.tbManager.Toolbars.AddRange(new Infragistics.Win.UltraWinToolbars.UltraToolbar[] {
ultraToolbar1});
this.tbManager.ToolbarSettings.AllowCustomize = Infragistics.Win.DefaultableBoolean.False;
this.tbManager.ToolbarSettings.AllowFloating = Infragistics.Win.DefaultableBoolean.False;
this.tbManager.ToolbarSettings.AllowHiding = Infragistics.Win.DefaultableBoolean.False;
buttonTool10.SharedPropsInternal.AccessibleDescription = "recorddd";
appearance3.Image = global::AyaNova.Resource1.SaveExit32;
buttonTool10.SharedPropsInternal.AppearancesLarge.Appearance = appearance3;
appearance4.Image = global::AyaNova.Resource1.SaveExit16;
buttonTool10.SharedPropsInternal.AppearancesSmall.Appearance = appearance4;
buttonTool10.SharedPropsInternal.Caption = "LT:UI.Command.SaveClose";
appearance5.Image = global::AyaNova.Resource1.RecordHistory32;
buttonTool11.SharedPropsInternal.AppearancesLarge.Appearance = appearance5;
appearance6.Image = global::AyaNova.Resource1.RecordHistory16;
buttonTool11.SharedPropsInternal.AppearancesSmall.Appearance = appearance6;
buttonTool11.SharedPropsInternal.Caption = "LT:UI.Command.RecordHistory";
buttonTool12.SharedPropsInternal.Caption = "LT:UI.Command.Save";
buttonTool12.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.TextOnlyAlways;
appearance7.Image = global::AyaNova.Resource1.SaveNew32;
buttonTool13.SharedPropsInternal.AppearancesLarge.Appearance = appearance7;
appearance8.Image = global::AyaNova.Resource1.SaveNew16;
buttonTool13.SharedPropsInternal.AppearancesSmall.Appearance = appearance8;
buttonTool13.SharedPropsInternal.Caption = "LT:UI.Command.SaveNew";
buttonTool14.SharedPropsInternal.Caption = "LT:UI.Command.Close";
buttonTool14.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.TextOnlyAlways;
appearance9.Image = global::AyaNova.Resource1.Delete32;
buttonTool15.SharedPropsInternal.AppearancesLarge.Appearance = appearance9;
appearance10.Image = global::AyaNova.Resource1.Delete16;
buttonTool15.SharedPropsInternal.AppearancesSmall.Appearance = appearance10;
buttonTool15.SharedPropsInternal.Caption = "LT:UI.Command.Delete";
buttonTool16.SharedPropsInternal.Caption = "LT:UI.Command.Ordered";
buttonTool16.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.TextOnlyAlways;
controlContainerTool2.ControlName = "ckClosed";
controlContainerTool2.SharedPropsInternal.Caption = "LT:UI.Command.Closed";
controlContainerTool2.SharedPropsInternal.Width = 212;
appearance11.Image = global::AyaNova.Resource1.PartRequest32;
buttonTool17.SharedPropsInternal.AppearancesLarge.Appearance = appearance11;
appearance12.Image = global::AyaNova.Resource1.PartRequest16;
buttonTool17.SharedPropsInternal.AppearancesSmall.Appearance = appearance12;
buttonTool17.SharedPropsInternal.Caption = "LT:WorkorderItemPartRequest.Label.List";
appearance13.Image = global::AyaNova.Resource1.PartRestockList32;
buttonTool18.SharedPropsInternal.AppearancesLarge.Appearance = appearance13;
appearance14.Image = global::AyaNova.Resource1.PartRestockList16;
buttonTool18.SharedPropsInternal.AppearancesSmall.Appearance = appearance14;
buttonTool18.SharedPropsInternal.Caption = "LT:PurchaseOrder.Label.UI.RestockList";
listTool1.DisplayCheckmark = false;
appearance15.Image = global::AyaNova.Resource1.Print32;
popupMenuTool2.SharedPropsInternal.AppearancesLarge.Appearance = appearance15;
appearance16.Image = global::AyaNova.Resource1.Print16;
popupMenuTool2.SharedPropsInternal.AppearancesSmall.Appearance = appearance16;
popupMenuTool2.SharedPropsInternal.Caption = "LT:UI.Toolbar.Print";
popupMenuTool2.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.ImageOnlyOnToolbars;
popupMenuTool2.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
listTool2});
appearance17.Image = global::AyaNova.Resource1.Wiki32;
buttonTool20.SharedPropsInternal.AppearancesLarge.Appearance = appearance17;
appearance18.Image = global::AyaNova.Resource1.Wiki16;
buttonTool20.SharedPropsInternal.AppearancesSmall.Appearance = appearance18;
buttonTool20.SharedPropsInternal.Caption = "LT:O.WikiPage";
this.tbManager.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] {
buttonTool10,
buttonTool11,
buttonTool12,
buttonTool13,
buttonTool14,
buttonTool15,
buttonTool16,
controlContainerTool2,
buttonTool17,
buttonTool18,
listTool1,
popupMenuTool2,
buttonTool20});
this.tbManager.UseLargeImagesOnToolbar = true;
this.tbManager.ToolClick += new Infragistics.Win.UltraWinToolbars.ToolClickEventHandler(this.tbManager_ToolClick);
//
// _PurchaseOrderInfoForm_Toolbars_Dock_Area_Right
//
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.BackColor = System.Drawing.SystemColors.Control;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Right;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.ForeColor = System.Drawing.SystemColors.ControlText;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.Location = new System.Drawing.Point(874, 55);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.Name = "_PurchaseOrderInfoForm_Toolbars_Dock_Area_Right";
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.Size = new System.Drawing.Size(0, 520);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right.ToolbarsManager = this.tbManager;
//
// _PurchaseOrderInfoForm_Toolbars_Dock_Area_Top
//
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.BackColor = System.Drawing.SystemColors.Control;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Top;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.ForeColor = System.Drawing.SystemColors.ControlText;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.Location = new System.Drawing.Point(0, 0);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.Name = "_PurchaseOrderInfoForm_Toolbars_Dock_Area_Top";
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.Size = new System.Drawing.Size(874, 55);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top.ToolbarsManager = this.tbManager;
//
// _PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom
//
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.BackColor = System.Drawing.SystemColors.Control;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Bottom;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.ForeColor = System.Drawing.SystemColors.ControlText;
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.Location = new System.Drawing.Point(0, 575);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.Name = "_PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom";
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.Size = new System.Drawing.Size(874, 0);
this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom.ToolbarsManager = this.tbManager;
//
// PurchaseOrderInfoForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(874, 575);
this.Controls.Add(this.panelCustom);
this.Controls.Add(this.panelRight);
this.Controls.Add(this.panelLeft);
this.Controls.Add(this.splitter1);
this.Controls.Add(this.panelBottom);
this.Controls.Add(this.ckIsDirty);
this.Controls.Add(this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Left);
this.Controls.Add(this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Right);
this.Controls.Add(this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Bottom);
this.Controls.Add(this._PurchaseOrderInfoForm_Toolbars_Dock_Area_Top);
this.helpProvider1.SetHelpKeyword(this, "");
this.helpProvider1.SetHelpNavigator(this, System.Windows.Forms.HelpNavigator.Topic);
this.MinimumSize = new System.Drawing.Size(614, 563);
this.Name = "PurchaseOrderInfoForm";
this.helpProvider1.SetShowHelp(this, true);
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
this.Closing += new System.ComponentModel.CancelEventHandler(this.PurchaseOrderInfoForm_Closing);
this.Load += new System.EventHandler(this.PurchaseOrderInfoForm_Load);
this.SizeChanged += new System.EventHandler(this.PurchaseOrderInfoForm_SizeChanged);
this.panelLeft.ResumeLayout(false);
this.panelLeft.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.cbProjectID)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ckAllVendors)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edVendorInfo)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbVendorID)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbClientID)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edClientInfo)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).EndInit();
this.panelRight.ResumeLayout(false);
this.panelRight.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.edReferenceNumber)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dtExpectedReceiveDate)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dtOrderedDate)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edVendorMemo)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edNotes)).EndInit();
this.panelBottom.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Grid)).EndInit();
this.panelCustom.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gridCustom)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tbManager)).EndInit();
this.ResumeLayout(false);
}
#endregion
// __ _ _ ___ ____ __ __ __ __ __ ___ ___
// / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _)
// ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _)
// \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___)
//
#region Form Load / Close
//variable to hold user form settings
//UIUserFormSetting mFormSetting;
//Variable to hold tax codes used in calculating line totals etc
TaxCodeList TaxList;
//Variable to hold part prices / cost / tax codes
//used in calculating line totals etc
PartPickList PartList;
PartRestockRequiredByVendorList mRestockList=null;
PartWorkorderItemRequestByVendorList mRequestList=null;
/// <summary>
/// Prepare the form
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PurchaseOrderInfoForm_Load(object sender, System.EventArgs e)
{
//
// helpProvider1
//
this.helpProvider1.HelpNamespace = Util.BaseHelpUrl + "purchase_order_entry_screen.htm";
//case 1039 //log.Debug("PurchaseOrderInfoForm_Load");
Cursor.Current = Cursors.WaitCursor;
this.Visible=false;
this.Icon = Resource1.PurchaseOrder16icon;
//See if user has any rights to be here...
//(this is done here to ensure that no matter what happens if a user has no rights they can't get here
//useful in case we miss a way of getting to a client edit screen from elsewhere in the program)
if(AyaBizUtils.Right("Object.PurchaseOrder")< (int)SecurityLevelTypes.ReadOnly)//Less than read only instead of NoAccess to catch records where it's zero instead of 1
{
//Inform them of their wicked ways and boot them out of here...
MessageBox.Show(string.Format(
Util.LocaleText.GetLocalizedText("Error.Security.NotAuthorizedToRetrieve"),
Util.LocaleText.GetLocalizedText("O.PurchaseOrder")));
this.Close();
return;
}
//Populate tax code list so we can
//quickly calculate taxes on line items
TaxList= TaxCodeList.GetList();
InitializeComboBoxes();
DataBind();
InitializeGrid();
int Split1 = 0;
Util.LoadFormCustomization("PurchaseOrderInfo", this, tbManager, false, ref Split1);
splitter1.SplitPosition = Split1;
Util.PluginInsertMenu(tbManager, new Util.PluginMenuOptionData(true, RootObjectTypes.PurchaseOrder, mPurchaseOrder, null));//case 941
if (AyaBizUtils.Right("Object.Report") < (int)SecurityLevelTypes.ReadOnly)
{
tbManager.Tools["LT:UI.Toolbar.Print"].SharedProps.Visible = false;
}
else
{
tbManager.Tools["LT:UI.Toolbar.Print"].SharedProps.Visible = true;
Util.ReportFillList(this.tbManager.Tools["REPORTLIST"], PurchaseOrderList.ReportKey, PurchaseOrderDetailedReportData.ReportKey);
}
Util.LocalizeHelperInsertMenu(tbManager, this); //case 1810
Util.Localize(this);
Cursor.Current = Cursors.Default;
//Case 152
(new TabOrderManager(this)).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst);
Application.Idle+= new EventHandler(Application_Idle);
//get the totals re-calc'ed
RefreshCalcs();
//Fill address info boxes
DisplayFullerAddressForVendorSelected();
DisplayFullerAddressForClientSelected();
Util.LocalizeGrid(Grid);
//show requests if any present
RefreshRestockRequestToolBarButtons();
if ((SecurityLevelTypes)AyaBizUtils.Right(RootObjectTypes.PurchaseOrder) > SecurityLevelTypes.ReadWrite)
Util.GridAddDeleteButton(Grid);
else
Util.GridRemoveDeleteButton(Grid);
//restrict UI based on security settings
RestrictUI();
this.Visible=true;
}
/// <summary>
/// Used to track whether the close was done by the program
/// or done by the user clicking on the upper left corner X control
/// </summary>
bool bClosingHandled=false;
bool bSuspendAppIdleHandler=false;
/// <summary>
/// Save form layout and grid layout for next time
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PurchaseOrderInfoForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
//case 1039 //log.Debug("PurchaseOrderInfoForm_Closing");
bSuspendAppIdleHandler=true;
if(!bClosingHandled)
{
//Save record if necessary
//User may opt to not cancel exit
if(!RecordUpdate(RecordActionType.PromptToSave) )
{
e.Cancel=true;
bSuspendAppIdleHandler=false;
return;
}
}
Application.Idle-= new EventHandler(Application_Idle);
Util.SaveGridLayout("PurchaseOrderItems","","",Grid);
Util.SaveFormCustomization("PurchaseOrderInfo", this, tbManager, false, splitter1.SplitPosition);
}
#endregion
#region Form Sizing
/// <summary>
/// Adjust the layout proportionately as it's sized by user
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PurchaseOrderInfoForm_SizeChanged(object sender, System.EventArgs e)
{
//case 1039 //log.Debug("PurchaseOrderInfoForm_SizeChanged");
int nWidth=0;
int nHeight=(this.DisplayRectangle.Height/3)*2;
if(bShowCustomFields) //there are three panels
nWidth=this.DisplayRectangle.Width/3;
else//there are two panels
nWidth=this.DisplayRectangle.Width/2;
this.panelLeft.Width=nWidth;
this.panelRight.Width=nWidth;
if(bShowCustomFields)
this.panelCustom.Width=nWidth;
this.panelLeft.Height=nHeight;
this.panelRight.Height=nHeight;
this.panelCustom.Height=nHeight;
this.panelBottom.Height=(this.DisplayRectangle.Height/3)-40;
//Size of controls in panel
//One third
int nLeftWidth=(this.panelLeft.Width/3);
//two thirds
int nRightWidth=this.panelLeft.Width-nLeftWidth;
//make room for error icons
nRightWidth-=16;
//case 3179 overlapping
int nGap = 16;
//Size and align controls in right panel
nRightWidth=nRightWidth-8;
lblOrderedDate.Width = nLeftWidth - nGap;
dtOrderedDate.Left=nLeftWidth+8;
dtOrderedDate.Width=nRightWidth;
lblExpectedReceiveDate.Width = nLeftWidth - nGap;
dtExpectedReceiveDate.Left=nLeftWidth+8;
dtExpectedReceiveDate.Width=nRightWidth;
lblReferenceNumber.Width = nLeftWidth - nGap;
edReferenceNumber.Left=nLeftWidth+8;
edReferenceNumber.Width=nRightWidth;
}
#endregion
#region Form UI commands
#region Toolbar menu items
/// <summary>
/// Respond to a click on a toolbar menu item
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tbManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
//case 1039 //if(log.IsDebugEnabled) //case 1039 //log.Debug("ToolClick: "+e.Tool.Key);
switch (e.Tool.Key)
{
case "LT:UI.Command.SaveClose": // ButtonTool
RecordUpdate(RecordActionType.SaveAndExit);
break;
case "LT:UI.Command.RecordHistory": // ButtonTool
RecordHistoryForm RH=new RecordHistoryForm(mPurchaseOrder.Creator,mPurchaseOrder.Modifier,mPurchaseOrder.Created,mPurchaseOrder.Modified);
RH.ShowDialog(); RH.Dispose();
break;
case "LT:UI.Command.Save": // ButtonTool
RecordUpdate(RecordActionType.SaveOnly);
break;
case "LT:UI.Command.SaveNew": // ButtonTool
RecordUpdate(RecordActionType.SaveAndNew);
break;
case "LT:UI.Command.Close": // ButtonTool
this.Close();
break;
case "LT:UI.Command.Delete": // ButtonTool
RecordUpdate(RecordActionType.DeleteAndExit);
break;
case "LT:UI.Command.Ordered": // ButtonTool
//Are you sure you want to set this P.O. to Ordered status?
DialogResult result=MessageBox.Show(Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.UI.OrderedWarning"),"Warning",MessageBoxButtons.YesNo,
MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);
if(result!=DialogResult.Yes)
return;
//commit any changes to grid before changing status
Grid.UpdateData();
btnVendorID.Focus();
//set to open ordered status
mPurchaseOrder.Status=PurchaseOrderStatus.OpenOrdered;
break;
case "LT:UI.Command.Closed": // ControlContainerTool
//does nothing, is handled by the ckClosed Click event itself since
//this item is just a control container and doesn't have a click event
break;
case "LT:O.WikiPage":
{
Util.OpenWikiPage(RootObjectTypes.PurchaseOrder, mPurchaseOrder.ID, false);
break;
}
case "LT:PurchaseOrder.Label.UI.RestockList": // ButtonTool
//without this things go wierd as if the vendorid combo is keeping focus
//somehow and when you go to type in another edit box you don't get a cursor
btnVendorID.Focus();
PartRestockRequiredByVendorForm f = new PartRestockRequiredByVendorForm();
f.PartInventoriesToEdit=this.mRestockList;
f.VendorNameToDisplay=cbVendorID.Text;
f.PurchaseOrderToEdit=this.mPurchaseOrder;
if(f.ShowDialog()==DialogResult.OK)
RefreshCalcs();
break;
case "LT:WorkorderItemPartRequest.Label.List": // ButtonTool
//without this things go wierd as if the vendorid combo is keeping focus
//somehow and when you go to type in another edit box you don't get a cursor
btnVendorID.Focus();
PartWorkorderItemRequestByVendorForm r = new PartWorkorderItemRequestByVendorForm();
r.PartWorkorderItemRequestToEdit=this.mRequestList;
r.VendorNameToDisplay=cbVendorID.Text;
r.PurchaseOrderToEdit=this.mPurchaseOrder;
if(r.ShowDialog()==DialogResult.OK)
RefreshCalcs();
break;
//
case "REPORTLIST":
{
//case 3736
RecordUpdate(RecordActionType.PromptToSave);
if(Util.ReportHandleToolClickIsSummary(e.Tool))
Util.ReportHandleToolClick(e.Tool,PurchaseOrderList.ReportKey,
PurchaseOrderList.GetListForSingleItem(this.mPurchaseOrder.ID));
else
{
Util.ReportHandleToolClick(e.Tool,PurchaseOrderDetailedReportData.ReportKey,
PurchaseOrderDetailedReportData.GetItem(this.mPurchaseOrder.ID));
}
Util.ReportFillList(this.tbManager.Tools["REPORTLIST"],
PurchaseOrderList.ReportKey,
PurchaseOrderDetailedReportData.ReportKey);
break;
}
}
}
#endregion Toolbar menu items
#region hyperButtons
private void btnVendorID_Click(object sender, System.EventArgs e)
{
//case 1039 //log.Debug("btnVendorID_Click");
VendorInfoForm cf=new VendorInfoForm(VendorTypes.All);
if(cbVendorID.Value!=null && (Guid)cbVendorID.Value!=Guid.Empty)
{
cf.VendorToEdit=Vendor.GetItem((Guid)cbVendorID.Value);
}
else
{
if(AyaBizUtils.Right("Object.Vendor")< (int)SecurityLevelTypes.ReadWrite)
{
//case 1039 //log.Debug("No Vendor selected to view and user has no rights to create a new one.");
return;
}
cf.VendorToEdit=Vendor.NewItem();
}
cf.Visible=false;
cf.ShowDialog();
if(this.cbVendorID.Enabled && !this.cbVendorID.ReadOnly && cf.ChangesMade)
{
mPurchaseOrder.VendorID=Guid.Empty;
Util.FillGZComboBoxWithNameIDList("Vendor",cbVendorID,false,Guid.Empty,false);
mPurchaseOrder.VendorID=cf.VendorToEdit.ID;
}
}
private void btnClientID_Click(object sender, System.EventArgs e)
{
//case 1039 //log.Debug("btnClientID_Click");
ClientInfoForm cf=new ClientInfoForm();
if(cbClientID.Value!=null && (Guid)cbClientID.Value!=Guid.Empty)
{
cf.ClientToEdit=Client.GetItem((Guid)cbClientID.Value);
}
else
{
if(AyaBizUtils.Right("Object.Client")< (int)SecurityLevelTypes.ReadWrite)
{
//case 1039 //log.Debug("No Client selected to view and user has no rights to create a new one.");
return;
}
cf.ClientToEdit=Client.NewItem();
}
cf.Visible=false;
cf.ShowDialog();
if(this.cbClientID.Enabled && !this.cbClientID.ReadOnly && cf.ChangesMade)
{
mPurchaseOrder.DropShipToClientID=Guid.Empty;
Util.FillGZComboBoxWithNameIDList("Client",cbClientID,false,Guid.Empty,true);
mPurchaseOrder.DropShipToClientID=cf.ClientToEdit.ID;
}
}
#endregion hyperButtons
//Click on closed checkbox (which is actually in the menu)
//but handled here just like a regular form item
private void ckClosed_CheckedChanged(object sender, System.EventArgs e)
{
//case 1039 //log.Debug("ckClosed_CheckedChanged");
//Flip the status depending upon what it currently is
switch(mPurchaseOrder.Status)
{
//It's one of these which are the only statuses where
//closed is even visible
case PurchaseOrderStatus.ClosedNoneReceived:
mPurchaseOrder.Status=PurchaseOrderStatus.OpenOrdered;
break;
case PurchaseOrderStatus.ClosedPartialReceived:
mPurchaseOrder.Status=PurchaseOrderStatus.OpenPartialReceived;
break;
case PurchaseOrderStatus.OpenOrdered:
mPurchaseOrder.Status=PurchaseOrderStatus.ClosedNoneReceived;
break;
case PurchaseOrderStatus.OpenPartialReceived:
mPurchaseOrder.Status=PurchaseOrderStatus.ClosedPartialReceived;
break;
}
}
#endregion Form UI commands
#region Form UI / Business object synchronization and Restrictions
/// <summary>
/// used on load of form and when adding parts from lists
/// to force a recalc of all taxes etc
/// </summary>
private void RefreshCalcs()
{
//get the totals calced
if(Grid.Rows.Count>0)
{
foreach(UltraGridRow r in Grid.Rows)
{
r.Refresh(RefreshRow.FireInitializeRow);
}
}
}
/// <summary>
/// Synchronize the state of the UI to the BO's
/// </summary>
private void SyncUI()
{
//
//adjust UI access on the fly
//as po status changes
switch(mPurchaseOrder.Status)
{
case PurchaseOrderStatus.ClosedFullReceived:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.ClosedFullReceived");
SetAccess(true,false);
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=false;
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=false;
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=false;
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=false;
break;
case PurchaseOrderStatus.ClosedNoneReceived:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.ClosedNoneReceived");
SetAccess(true,false);
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly);
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=false;
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=false;
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=false;
break;
case PurchaseOrderStatus.ClosedPartialReceived:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.ClosedPartialReceived");
SetAccess(true,false);
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly);
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=false;
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=false;
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=false;
break;
case PurchaseOrderStatus.OpenNotYetOrdered:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.OpenNotYetOrdered");
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=false;
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly);
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=!mPurchaseOrder.IsDropShip;//Case 447
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=!mPurchaseOrder.IsDropShip;//Case 447
//Allowed to edit?
if(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly)
{
SetAccess(false,false);
}
break;
case PurchaseOrderStatus.OpenOrdered:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.OpenOrdered");
//restrict all access...
SetAccess(true,false);
//case 412 special exceptions to read only setting above
if (mPurchaseOrder.HasEditRights)
{
dtExpectedReceiveDate.ReadOnly = false;
edReferenceNumber.ReadOnly = false;
edNotes.ReadOnly = false;
edVendorMemo.ReadOnly = false;
gridCustom.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.True;
cbClientID.ReadOnly = false;
cbProjectID.ReadOnly = false;//case 1926
tbManager.Tools["LT:UI.Command.SaveClose"].SharedProps.Visible = true;
tbManager.Tools["LT:UI.Command.Save"].SharedProps.Visible = true;
}
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly);
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=false;
//case 3198
//according to Joyce:
//"should not be able to click on the CLosed checkbox. Field is supposed to be readonly and gets updated by ayanova itself only. "
////Not sure why I coded this override in that case but I can't think of a reason at the moment so commenting it out
////Allowed to edit?
// if(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly)
// {
// //re-enable some items
// Grid.DisplayLayout.Bands[0].Columns["Closed"].CellActivation=Activation.AllowEdit;
// }
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=false;
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=false;
break;
case PurchaseOrderStatus.OpenPartialReceived:
lblStatus.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PurchaseOrderStatus.OpenPartialReceived");
SetAccess(true,false);
tbManager.Tools["LT:UI.Command.Closed"].SharedProps.Visible=(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly);
tbManager.Tools["LT:UI.Command.Ordered"].SharedProps.Visible=false;
//case 3198
//according to Joyce:
//"should not be able to click on the CLosed checkbox. Field is supposed to be readonly and gets updated by ayanova itself only. "
////Not sure why I coded this override in that case but I can't think of a reason at the moment so commenting it out
//Allowed to edit?
//if(AyaBizUtils.Right("Object.PurchaseOrder")> (int)SecurityLevelTypes.ReadOnly)
//{
// Grid.DisplayLayout.Bands[0].Columns["Closed"].CellActivation=Activation.AllowEdit;
//}
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=false;
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=false;
break;
}
//PurchaseOrder.Label.PONumber
if(mPurchaseOrder.PONumber!=0)
this.Text=Util.LocaleText.GetLocalizedText("PurchaseOrder.Label.PONumber")+" "+mPurchaseOrder.PONumber.ToString();
else
this.Text=Util.LocaleText.GetLocalizedText("O.PurchaseOrder");
//lock vendor if there are items selected
cbVendorID.Enabled=(mPurchaseOrder.OrderItems.Count==0);
//Status sensitive items
//within grid itself
switch(mPurchaseOrder.Status)
{
case PurchaseOrderStatus.OpenNotYetOrdered:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=true;
//tbManager.Tools["LT:UI.Command.Save"].SharedProps.Enabled=mPurchaseOrder.IsSavable;
break;
case PurchaseOrderStatus.OpenOrdered:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=true;
break;
case PurchaseOrderStatus.OpenPartialReceived:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=false;
break;
case PurchaseOrderStatus.ClosedPartialReceived:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=false;
break;
case PurchaseOrderStatus.ClosedFullReceived:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=false;
break;
case PurchaseOrderStatus.ClosedNoneReceived:
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden=false;
break;
}
//Case 19
if (Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Hidden == false)
{
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Header.VisiblePosition = 0;
}
//case 1926
if (mPurchaseOrder.HasEditRights)
{
gridCustom.DisplayLayout.Override.AllowUpdate = DefaultableBoolean.True;
tbManager.Tools["LT:UI.Command.SaveClose"].SharedProps.Visible = true;
tbManager.Tools["LT:UI.Command.Save"].SharedProps.Visible = true;
}
}
/// <summary>
/// When the application enters an idle state
/// update the UI to reflect changs in BO status
/// (required because grids don't tell the UI to update when they are
/// bound to a business object and are edited)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Application_Idle(object sender, EventArgs e)
{
if(!bSuspendAppIdleHandler)
SyncUI();
}
/// <summary>
/// Adapt UI to accomodate users security access level
/// </summary>
private void RestrictUI()
{
//case 1039 //if(log.IsDebugEnabled) //case 1039 //log.Debug("RestrictUI: " + ((SecurityLevelTypes)AyaBizUtils.Right("Object.PurchaseOrder")).ToString());
//PurchaseOrder - Read only
if(AyaBizUtils.Right("Object.PurchaseOrder") == (int)SecurityLevelTypes.ReadOnly)
SetAccess(true,true);
else
SetAccess(false,true);
}
//Flag to save time setting to read only if has been done already
bool bCurrentStateIsReadOnly=false;
/// <summary>
/// Set everything to Read only or editable state
/// used to set access rights and or
/// if po is locked after entry
/// safe to call repeatedly from anywhere, takes into account
/// security rights
/// </summary>
/// <param name="ReadOnly">Set access rights to read only if true</param>
/// <param name="ForceSetting">Make settings regardless if already set that way, used to initialize first time</param>
private void SetAccess(bool ReadOnly, bool ForceSetting)
{
//case 1039 //log.Debug("SetAccess");
//Already set this way?
if(!ForceSetting && bCurrentStateIsReadOnly==ReadOnly) return;
//DISABLE or Enable TOOLS
//tbManager.Tools["LT:UI.Command.SaveClose"].SharedProps.Enabled=!ReadOnly;
//tbManager.Tools["LT:UI.Command.Delete"].SharedProps.Enabled=!ReadOnly;
//tbManager.Tools["LT:UI.Command.SaveNew"].SharedProps.Enabled=!ReadOnly;
//tbManager.Tools["LT:UI.Command.Save"].SharedProps.Enabled=!ReadOnly;
//Set tool visibility
tbManager.Tools["LT:UI.Command.SaveClose"].SharedProps.Visible=!ReadOnly;
tbManager.Tools["LT:UI.Command.Delete"].SharedProps.Visible=!ReadOnly;
tbManager.Tools["LT:UI.Command.SaveNew"].SharedProps.Visible=!ReadOnly;
tbManager.Tools["LT:UI.Command.Save"].SharedProps.Visible=!ReadOnly;
//user needs a method to close the form if read only
//because can't use usual save and close etc
//so make sure that the close tool is there
if(ReadOnly)
{
//Ensure that close tool won't appear twice when
//it's added if it was there previously
tbManager.Tools["LT:UI.Command.Close"].SharedProps.AllowMultipleInstances=false;
//Ensure Close tool is visible so user has a method to close the form
//besides the form control box (normally this is not visible)
tbManager.Toolbars[0].Tools.AddTool("LT:UI.Command.Close");
}
//DISABLE / ENABLE EDITABLE CONTROLS
//Text editors
edReferenceNumber.ReadOnly=ReadOnly;
edNotes.ReadOnly=ReadOnly;
edVendorMemo.ReadOnly=ReadOnly;
//Date pickers
//case 1926 - not really related but noticed these controls were not fully read only and were showing the buttons to the right
//because it was settting ReadOnly and not GZReadOnly.
dtOrderedDate.GZReadOnly=ReadOnly;
dtExpectedReceiveDate.GZReadOnly=ReadOnly;
//Combo boxes
cbVendorID.ReadOnly=ReadOnly;
cbClientID.ReadOnly=ReadOnly;
//case 1926 - noticed this was missing
cbProjectID.ReadOnly = ReadOnly;
//CHECKBOX
ckAllVendors.Enabled = !ReadOnly;
//Buttons
btnVendorID.Enabled=!ReadOnly;
btnVendorID.Appearance.ForeColorDisabled=System.Drawing.SystemColors.ControlText;
btnClientID.Enabled=!ReadOnly;
btnClientID.Appearance.ForeColorDisabled=System.Drawing.SystemColors.ControlText;
//Grids
if(ReadOnly)
{
Grid.DisplayLayout.Override.AllowAddNew=AllowAddNew.No;
Grid.DisplayLayout.Override.AllowDelete=DefaultableBoolean.False;
//disallow editing on all columns
//Can't just turn off editing for grid as a whole
//because there is a single field that needs to sometimes
//be editable even when the rest is read only
foreach(UltraGridColumn c in Grid.DisplayLayout.Bands[0].Columns)
{
c.CellActivation=Activation.ActivateOnly;
}
gridCustom.DisplayLayout.Override.AllowAddNew=AllowAddNew.No;
gridCustom.DisplayLayout.Override.AllowDelete=DefaultableBoolean.False;
gridCustom.DisplayLayout.Override.AllowUpdate=DefaultableBoolean.False;
}
else
{
Grid.DisplayLayout.Override.AllowAddNew=AllowAddNew.TemplateOnBottom;
Grid.DisplayLayout.Override.AllowDelete=DefaultableBoolean.True;
//Allow editing on all columns
foreach(UltraGridColumn c in Grid.DisplayLayout.Bands[0].Columns)
{
c.CellActivation=Activation.AllowEdit;
}
//this column should never be editable here
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].CellActivation=Activation.ActivateOnly;
//case 3198
Grid.DisplayLayout.Bands[0].Columns["Closed"].CellActivation = Activation.ActivateOnly;
//always no for custom fields since there is a fixed number
//of rows, this is just insurance
gridCustom.DisplayLayout.Override.AllowAddNew=AllowAddNew.No;
gridCustom.DisplayLayout.Override.AllowDelete=DefaultableBoolean.False;
//however we can allow updating of data...
gridCustom.DisplayLayout.Override.AllowUpdate=DefaultableBoolean.True;
}
//Fixup for additional restriction if full access...
//PurchaseOrder - Full but no delete
if(!ReadOnly)
{
if(AyaBizUtils.Right("Object.PurchaseOrder")== (int)SecurityLevelTypes.ReadWrite)
{
tbManager.Tools["LT:UI.Command.Delete"].SharedProps.Enabled=false;
//Remove tools that user is not allowed access to use
tbManager.Tools["LT:UI.Command.Delete"].SharedProps.Visible=false;
//Disable delete row in grid
Grid.DisplayLayout.Override.AllowDelete=DefaultableBoolean.False;
return;
}
}
bCurrentStateIsReadOnly=ReadOnly;
}
/// <summary>
/// retrieve and display address
/// and contact info for selected vendor
/// </summary>
private void DisplayFullerAddressForVendorSelected()
{
//case 1039 //log.Debug("DisplayFullerAddressForVendorSelected");
//Need a selected vendor to be able to do this
//If there isn't one, then bail
if(cbVendorID.Value==null || (Guid)cbVendorID.Value==Guid.Empty)
return;
//Retrieve the vendor record
Vendor v = Vendor.GetItemNoMRU((Guid)cbVendorID.Value);
StringBuilder b = new StringBuilder();
b.Append(v.MailToAddress.FullAddress);
b.Append("\r\n");
b.Append(v.GetPrimaryContactDefaultContactInfo());
edVendorInfo.Text=b.ToString();
}
/// <summary>
/// retrieve and display address
/// and contact info for selected Client
/// </summary>
private void DisplayFullerAddressForClientSelected()
{
//case 1039 //log.Debug("DisplayFullerAddressForClientSelected");
//Need a selected Client to be able to do this
//If there isn't one, then bail
if(cbClientID.Value==null || (Guid)cbClientID.Value==Guid.Empty)
return;
//retrieve the client record
Client c = Client.GetItemNoMRU((Guid)cbClientID.Value);
StringBuilder b = new StringBuilder();
b.Append(c.MailToAddress.FullAddress);
b.Append("\r\n");
b.Append(c.GetPrimaryContactDefaultContactInfo());
edClientInfo.Text=b.ToString();
}
#endregion
#region Form DataBinding and BrokenRules handling
bool bShowCustomFields=false;
bool bBinding=false;
/// <summary>
/// Bind controls to business objects
/// </summary>
private void DataBind()
{
//case 1039 //log.Debug("DataBind");
bBinding=true;
//prevent initialze row from firing and throwing errors when it finds there is no data
//to calculate line totals on...
Grid.EventManager.SetEnabled(GridEventIds.InitializeRow,false);
//Custom fields are not databound, but must be initiated manually...
FillCustomFieldGrid();
//Subscribe to broken rules changed event OnBrokenRulesChanged
mPurchaseOrder.GetBrokenRulesCollection().ListChanged += new System.ComponentModel.ListChangedEventHandler(OnBrokenRulesChanged);
//=-=-=-=-=-=- Form Field bindings =-=-=-=-=-=-=-=-=-=-=-=
//Text editors
Util.BindField(edNotes,"Text",mPurchaseOrder,"Notes");
Util.BindField(edReferenceNumber,"Text",mPurchaseOrder,"ReferenceNumber");
Util.BindField(edVendorMemo,"Text",mPurchaseOrder,"VendorMemo");
//Combo boxes
Util.BindField(cbVendorID,"Value",mPurchaseOrder,"VendorID");
Util.BindField(cbClientID,"Value",mPurchaseOrder,"DropShipToClientID");
Util.BindField(cbProjectID, "Value", mPurchaseOrder, "ProjectID");//case 49
//Grids
Util.BindField(Grid,"DataSource",mPurchaseOrder,"OrderItems");
//Dates
Util.BindField(dtOrderedDate,"Value", mPurchaseOrder, "OrderedDate");
Util.BindField(dtExpectedReceiveDate,"Value", mPurchaseOrder, "ExpectedReceiveDate");
//Bind IsDirty property to hidden checkbox to
//ensure isdirtychanged event is available
//to data binding infrastructure
Util.BindField(ckIsDirty,"Checked",mPurchaseOrder,"IsDirty");
//Setup initial link to broken rules
OnBrokenRulesChanged(null,null);
bBinding=false;
//turn initialize row event back on
Grid.EventManager.SetEnabled(GridEventIds.InitializeRow,true);
}
/// <summary>
/// Handle a change in broken rules
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnBrokenRulesChanged(object sender, System.ComponentModel.ListChangedEventArgs e)
{
Util.BrokenRuleFeedback(this,mPurchaseOrder,ErrorProvider);
}
#endregion
#region Business object editing / adding / deletion related code
private PurchaseOrder mPurchaseOrder;
/// <summary>
/// PurchaseOrder record to display
/// set by caller
/// </summary>
public PurchaseOrder PurchaseOrderToEdit
{
get
{
return mPurchaseOrder;
}
set
{
mPurchaseOrder=value;
//mPurchaseOrder.BeginEdit();
}
}
//Used to signal to main form that there are changes
//which could affect it if true
private bool mbChangesMade=false;
public bool ChangesMade
{
get
{
return mbChangesMade;
}
}
/// <summary>
/// Update record and quit if requested
///
/// </summary>
/// <returns>True if handled, false if not handled</returns>
private bool RecordUpdate(RecordActionType SaveType)
{
//case 1039 //if(log.IsDebugEnabled) //case 1039 //log.Debug("SaveHandler(Action="+SaveType.ToString()+")");
//switch the focus to a non-editable control
//so that any changes in the current editable control
//will get updated before attempting to save
lblStatus.Focus();
//Added by John Dec 2 2004 (catches change in grid when above is non focusable)
Grid.UpdateData();
switch(SaveType)
{
case RecordActionType.DeleteAndExit:
if(Util.PromptForDelete()==DialogResult.Yes)
{
//Delete, then exit
try
{
PurchaseOrder.DeleteItem(mPurchaseOrder.ID);
}
catch(Exception ex)
{
Util.ReportSQLError(ex);
return false;
}
bClosingHandled=true;
this.Close();
mbChangesMade=true;
return true;
}
else return false;
case RecordActionType.SaveAndExit:
//Save if necessary and exit
if(mPurchaseOrder.IsSavable)
{
mPurchaseOrder.ApplyEdit();
mPurchaseOrder.Save();
bClosingHandled=true;
mbChangesMade=true;
this.Close();
return true;
}
if(mPurchaseOrder.IsDirty)//dirty and unsaveable due to broken rules
{
if(Util.PromptForBrokenRulesCancelSave()==DialogResult.Yes)
{
bClosingHandled=true;
this.Close();
return true;
}
else
return false;
}
//not dirty so just exit
bClosingHandled=true;
this.Close();
return true;
case RecordActionType.SaveAndNew:
if(mPurchaseOrder.IsSavable)
{
mPurchaseOrder.ApplyEdit();
mPurchaseOrder.Save();
AddNewPurchaseOrder();
mbChangesMade=true;
return true;
}
if(mPurchaseOrder.IsDirty)//dirty and unsaveable due to broken rules
{
//User says that's ok, continue on?
if(Util.PromptForBrokenRulesCancelSave()==DialogResult.Yes)
{
//Ok, add new PurchaseOrder and don't save old record
AddNewPurchaseOrder();
return true;
}
else return false;
}
//Current record isn't dirty so just add a new PurchaseOrder
AddNewPurchaseOrder();
return true;
case RecordActionType.SaveOnly:
if(mPurchaseOrder.IsSavable)
{
mPurchaseOrder.ApplyEdit();
mPurchaseOrder=(PurchaseOrder)mPurchaseOrder.Save();
DataBind();
mbChangesMade=true;
return true;
}
return true;
case RecordActionType.PromptToSave:
//Prompt to save and save if
//required
if(mPurchaseOrder.IsDirty)
{
DialogResult dr=Util.PromptForSave();
if(dr==DialogResult.Cancel)
{
//Cancel
return false;
}
if(dr==DialogResult.Yes)
{
//Save before exit
if(mPurchaseOrder.IsSavable)
{
mPurchaseOrder.ApplyEdit();
mPurchaseOrder.Save();
mbChangesMade=true;
return true;
}
if(mPurchaseOrder.IsDirty)//dirty and unsaveable due to broken rules
{
if(Util.PromptForBrokenRulesCancelSave()==DialogResult.Yes)
{
return true;
}
else
return false;
}
}
}
return true;
}
return false;
}
/// <summary>
///
///Creates a new PurchaseOrder record and opens it for editing
/// </summary>
private void AddNewPurchaseOrder()
{
//case 1039 //log.Debug("AddNewPurchaseOrder");
try
{
mPurchaseOrder=PurchaseOrder.NewItem();
//mPurchaseOrder.BeginEdit();
DataBind();
}
catch(Exception ex)
{
//log.Error("AddNewPurchaseOrder",ex);
MessageBox.Show(ex.Message+"\r\n"+ex.Source);
}
}
#endregion
#region Form ComboBoxes (Setup / Events)
/// <summary>
/// when selection changes for vendor, need to re-build parts list
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cbVendorID_SelectionChanged(object sender, System.EventArgs e)
{
if(!bBinding)
{
PopulateGridValueLists();
//Fill address info boxes
DisplayFullerAddressForVendorSelected();
RefreshRestockRequestToolBarButtons();
}
}
private void cbClientID_SelectionChanged(object sender, System.EventArgs e)
{
if(!bBinding)
{
//Fill address info boxes
DisplayFullerAddressForClientSelected();
//a drop ship precludes doing the regular vendor requests thing
RefreshRestockRequestToolBarButtons();
//Case 447 redux - trigger an immediate update
btnClientID.Focus();
}
}
private void InitializeComboBoxes()
{
//case 1039 //log.Debug("InitializeComboBoxes");
//Load combo boxes with initial values
Util.FillGZComboBoxWithNameIDList("Vendor", cbVendorID, true, mPurchaseOrder.VendorID, false);
Util.FillGZComboBoxWithNameIDList("Client",cbClientID,true,mPurchaseOrder.DropShipToClientID,true);
Util.FillGZComboBoxWithNameIDList("Project", cbProjectID, true, mPurchaseOrder.ProjectID, true);
//TODO: below gives error when uncommented - not sure why - joyce -
//because there is no business object that corresponds
// Util.FillGZComboBoxWithNameIDList("PurchaseOrderStatus",cbStatus,true,mPurchaseOrder.Status);
}
private void cbVendorID_NeedMoreData()
{
cbVendorID.ClearList();
VendorPickList v = VendorPickList.GetList();
//Added: 19-July-2006 Huge performance increase with large lists
Util.ComboBeginUpdate(cbVendorID);
foreach(VendorPickList.VendorPickListInfo i in v)
{
if(i.Active==true && i.VendorType!=VendorTypes.Shipper)
{
cbVendorID.Items.Add(i.ID,i.Name);
}
else
{
//is the current, inactive item the one selected in this record?
if(i.ID==this.mPurchaseOrder.VendorID)
{
//yes, so add it manually and grayed out
ValueListItem vi=cbVendorID.Items.Add(i.ID,i.Name);
vi.Appearance.ForeColor=System.Drawing.SystemColors.GrayText;
}
}
}
//Added: 19-July-2006 see above
Util.ComboEndUpdate(cbVendorID);
}
private void cbClientID_NeedMoreData()
{
Util.FillGZComboBoxWithNameIDList("Client",cbClientID,false,Guid.Empty,true);
}
//case 49
private void cbProjectID_NeedMoreData()
{ Util.FillGZComboBoxWithNameIDList("Project", cbProjectID, false, Guid.Empty, true); }
#endregion
#region Grid Events
/// <summary>
/// Handle right click column selection popup
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Grid_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if( e.Button == MouseButtons.Right)
{
UltraGridBand b=Util.BandRightClicked(Grid,e);
if(b!=null)
{
UtilGridColumnSelector c = new UtilGridColumnSelector();
c.HideColumns.Add("IsLocked",0);
c.HideColumns.Add("WorkorderItemPartRequestID",0);
c.HideColumns.Add("PurchaseOrderID",0);
c.BandToEdit=b;
c.ShowDialog(this);
}
}
}
private void Grid_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e)
{
if(PartList.Count==0)
Util.PromptWithIconOKOnlyFromLocaleKey("PurchaseOrder.Label.UI.NoPartsForVendorWarning",MessageBoxIcon.Exclamation);
else
mPurchaseOrder.OrderItems.Add(mPurchaseOrder);
//Don't allow the default behaviour of the row insert because it doesn't work
e.Cancel=true;
}
/// <summary>
/// Display workorder button if item from workorder
/// Calculate taxes and line totals ..etc
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Grid_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
object oWo=e.Row.Cells["WorkorderNumber"].Value;
if(oWo==null || (int)oWo==0)
{
e.Row.Cells["WorkorderNumber"].Hidden=true;
e.Row.Cells["PartRequestedByID"].Hidden=true;
}
else
{
//it's a workorder request line so show the wo number and requestor
//and lock down the editable fields for this row
e.Row.Cells["WorkorderNumber"].Hidden=false;
e.Row.Cells["PartRequestedByID"].Hidden=false;
e.Row.Cells["PartRequestedByID"].Activation=Activation.NoEdit;
e.Row.Cells["WorkorderNumber"].Activation=Activation.NoEdit;
e.Row.Cells["QuantityOrdered"].Activation=Activation.NoEdit;
e.Row.Cells["PartWarehouseID"].Activation=Activation.NoEdit;
e.Row.Cells["PartID"].Activation=Activation.NoEdit;
}
//Calculate taxes and line total
if(e.Row.Cells["PartID"].Value!=null && (Guid)e.Row.Cells["PartID"].Value!=Guid.Empty)
{
//update alternative numbers
PartPickList.PartPickListInfo p=PartList[(Guid)e.Row.Cells["PartID"].Value];
e.Row.Cells["ManufacturerNumber"].Value=p.PartManufacturerNumber;
e.Row.Cells["WholesalerNumber"].Value=p.PartWholesalerNumber;
e.Row.Cells["AlternativeWholesalerNumber"].Value=p.PartAlternativeWholesalerNumber;
if(e.Row.Cells["QuantityOrdered"].Value!=null)
{
if(e.Row.Cells["PurchaseOrderCost"].Value!=null)
{
decimal dNet=(decimal)e.Row.Cells["QuantityOrdered"].Value*(decimal)e.Row.Cells["PurchaseOrderCost"].Value;
decimal dTaxA=0M;
decimal dTaxB=0M;
//Calculate taxes
if(e.Row.Cells["PurchaseTaxCodeID"].Value!=null && (Guid)e.Row.Cells["PurchaseTaxCodeID"].Value!=Guid.Empty)
{
//Get the percentages and other info for the current tax code...
TaxCodeList.TaxCodeListInfo t = TaxList[(Guid)e.Row.Cells["PurchaseTaxCodeID"].Value];
//If tax A exempt then no further processing needs to be done
//as both taxes already set at zero, otherwise...
if(!t.TaxAExempt)
{
//Tax A is always just tax A percent times net...
dTaxA=t.TaxA*dNet;
//Tax B on the other hand could be simple or tax on tax...
if(!t.TaxOnTax)
{
//simple
dTaxB=t.TaxB*dNet;
}
else
{
//tax on tax
dTaxB=(dNet+dTaxA)*t.TaxB;
}
}
}
//set line total and taxes display values
e.Row.Cells["TaxA"].Value=dTaxA;
e.Row.Cells["TaxB"].Value=dTaxB;
e.Row.Cells["NetTotal"].Value=dNet;
e.Row.Cells["LineTotal"].Value=dNet+dTaxA+dTaxB;
}
}
}
}
private void Grid_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
//case 1979 - don't allow negative entries
if ((string)e.Cell.Column.Key == "QuantityOrdered")
{
object o = e.Cell.Row.Cells["QuantityOrdered"].Value;
if (o != null && o is System.Decimal)
{
decimal d = (Decimal)o;
if(d<0)
e.Cell.Row.Cells["QuantityOrdered"].Value=Math.Abs(d);
}
}
//If part ID has changed then update the cost and tax code fields
if((string)e.Cell.Column.Key=="PartID")
{
PartPickList.PartPickListInfo p=PartList[(Guid)e.Cell.Value];
e.Cell.Row.Cells["PurchaseOrderCost"].Value=p.Cost;
e.Cell.Row.Cells["PurchaseTaxCodeID"].Value=Util.GlobalSettings.TaxPartPurchaseID;
e.Cell.Row.Refresh(RefreshRow.FireInitializeRow);
}
}
/// <summary>
/// Ensure the summary box has the same display format as the column above it
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Grid_SummaryValueChanged(object sender, Infragistics.Win.UltraWinGrid.SummaryValueChangedEventArgs e)
{
e.SummaryValue.SummarySettings.DisplayFormat="{0:" +e.SummaryValue.SummarySettings.SourceColumn.Format+"}";
}
#endregion
#region Grid Initialization
/// <summary>
/// Get grid ready
/// </summary>
private void InitializeGrid()
{
//case 1039 //log.Debug("InitializeGrid");
//prevent initialze row from firing and throwing errors when it finds there is no data
//to calculate line totals on...
Grid.EventManager.SetEnabled(GridEventIds.InitializeRow,false);
Grid.DisplayLayout.Override.AllowRowSummaries=AllowRowSummaries.BasedOnDataType;
Grid.DisplayLayout.Override.HeaderClickAction=HeaderClickAction.SortSingle;
Grid.DisplayLayout.Override.AllowAddNew=AllowAddNew.TemplateOnBottom;
Util.GridPreLocalize("PurchaseOrderItem",Grid.DisplayLayout.Bands[0]);
Util.FetchGridLayout("PurchaseOrderItems","",Grid);
Util.GridHideEditableBizObjectInternalFields(Grid);
Grid.DisplayLayout.Bands[0].Columns["IsLocked"].Hidden=true;
Grid.DisplayLayout.Bands[0].Columns["WorkorderItemPartRequestID"].Hidden=true;
Grid.DisplayLayout.Bands[0].Columns["PurchaseOrderID"].Hidden=true;
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].CellActivation=Activation.ActivateOnly;
Grid.DisplayLayout.Bands[0].Columns["Closed"].CellActivation=Activation.ActivateOnly;
Grid.DisplayLayout.Bands[0].Columns["WorkorderNumber"].AllowRowSummaries=AllowRowSummaries.False;
//decimal number formatting
Grid.DisplayLayout.Bands[0].Columns["QuantityOrdered"].Format="g29";
Grid.DisplayLayout.Bands[0].Columns["QuantityReceived"].Format = "g29";
Grid.DisplayLayout.Bands[0].Columns["PartWarehouseID"].Header.Caption=Util.LocaleText.GetLocalizedText("O.PartWarehouse");
Grid.DisplayLayout.Bands[0].Columns["PartID"].Header.Caption=Util.LocaleText.GetLocalizedText("O.Part");
Grid.DisplayLayout.Bands[0].Columns["PurchaseTaxCodeID"].Header.Caption=Util.LocaleText.GetLocalizedText("O.TaxCode");
//COST
Grid.DisplayLayout.Bands[0].Columns["PurchaseOrderCost"].Format="c";
Grid.DisplayLayout.Bands[0].Columns["PurchaseOrderCost"].CellAppearance.TextHAlign=HAlign.Right;
//-------------------------------------------------------------------------------------------------
//Manufacturer number
if(Grid.DisplayLayout.Bands[0].Columns.Exists("ManufacturerNumber"))
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].Header.Caption=Util.LocaleText.GetLocalizedText("Part.Label.ManufacturerNumber");
else
Grid.DisplayLayout.Bands[0].Columns.Add("ManufacturerNumber",Util.LocaleText.GetLocalizedText("Part.Label.ManufacturerNumber"));
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].DataType=typeof(string);
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].CellActivation=Activation.ActivateOnly;
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//Wholesaler number
if(Grid.DisplayLayout.Bands[0].Columns.Exists("WholesalerNumber"))
Grid.DisplayLayout.Bands[0].Columns["WholesalerNumber"].Header.Caption=Util.LocaleText.GetLocalizedText("Part.Label.WholesalerNumber");
else
Grid.DisplayLayout.Bands[0].Columns.Add("WholesalerNumber",Util.LocaleText.GetLocalizedText("Part.Label.WholesalerNumber"));
Grid.DisplayLayout.Bands[0].Columns["WholesalerNumber"].DataType=typeof(string);
Grid.DisplayLayout.Bands[0].Columns["WholesalerNumber"].CellActivation=Activation.ActivateOnly;
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//AlternativeWholesaler number
if(Grid.DisplayLayout.Bands[0].Columns.Exists("AlternativeWholesalerNumber"))
Grid.DisplayLayout.Bands[0].Columns["AlternativeWholesalerNumber"].Header.Caption=Util.LocaleText.GetLocalizedText("Part.Label.AlternativeWholesalerNumber");
else
Grid.DisplayLayout.Bands[0].Columns.Add("AlternativeWholesalerNumber",Util.LocaleText.GetLocalizedText("Part.Label.AlternativeWholesalerNumber"));
Grid.DisplayLayout.Bands[0].Columns["AlternativeWholesalerNumber"].DataType=typeof(string);
Grid.DisplayLayout.Bands[0].Columns["AlternativeWholesalerNumber"].CellActivation=Activation.ActivateOnly;
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//Manufacturer number
if(Grid.DisplayLayout.Bands[0].Columns.Exists("ManufacturerNumber"))
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].Header.Caption=Util.LocaleText.GetLocalizedText("Part.Label.ManufacturerNumber");
else
Grid.DisplayLayout.Bands[0].Columns.Add("ManufacturerNumber",Util.LocaleText.GetLocalizedText("Part.Label.ManufacturerNumber"));
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].DataType=typeof(string);
Grid.DisplayLayout.Bands[0].Columns["ManufacturerNumber"].CellActivation=Activation.ActivateOnly;
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
//TaxA, TaxB, Total columns
//___TAX_A___
if(Grid.DisplayLayout.Bands[0].Columns.Exists("TaxA"))
{
Grid.DisplayLayout.Bands[0].Columns["TaxA"].Header.Caption=Util.LocaleText.GetLocalizedText("TaxCode.Label.TaxA");
}
else
{
Grid.DisplayLayout.Bands[0].Columns.Add("TaxA",Util.LocaleText.GetLocalizedText("TaxCode.Label.TaxA"));
}
Grid.DisplayLayout.Bands[0].Columns["TaxA"].DataType=typeof(decimal);
Grid.DisplayLayout.Bands[0].Columns["TaxA"].Format="c";
Grid.DisplayLayout.Bands[0].Columns["TaxA"].CellAppearance.TextHAlign=HAlign.Right;
Grid.DisplayLayout.Bands[0].Columns["TaxA"].CellActivation=Activation.ActivateOnly;
//___TAX_B___
if(Grid.DisplayLayout.Bands[0].Columns.Exists("TaxB"))
{
Grid.DisplayLayout.Bands[0].Columns["TaxB"].Header.Caption=Util.LocaleText.GetLocalizedText("TaxCode.Label.TaxB");
}
else
{
Grid.DisplayLayout.Bands[0].Columns.Add("TaxB",Util.LocaleText.GetLocalizedText("TaxCode.Label.TaxB"));
}
Grid.DisplayLayout.Bands[0].Columns["TaxB"].DataType=typeof(decimal);
Grid.DisplayLayout.Bands[0].Columns["TaxB"].Format="c";
Grid.DisplayLayout.Bands[0].Columns["TaxB"].CellAppearance.TextHAlign=HAlign.Right;
Grid.DisplayLayout.Bands[0].Columns["TaxB"].CellActivation=Activation.ActivateOnly;
//___LineTotal___
if(Grid.DisplayLayout.Bands[0].Columns.Exists("LineTotal"))
{
Grid.DisplayLayout.Bands[0].Columns["LineTotal"].Header.Caption=Util.LocaleText.GetLocalizedText("PurchaseOrderItem.Label.LineTotal");
}
else
{
Grid.DisplayLayout.Bands[0].Columns.Add("LineTotal",Util.LocaleText.GetLocalizedText("PurchaseOrderItem.Label.LineTotal"));
}
Grid.DisplayLayout.Bands[0].Columns["LineTotal"].DataType=typeof(decimal);
Grid.DisplayLayout.Bands[0].Columns["LineTotal"].Format="c";
Grid.DisplayLayout.Bands[0].Columns["LineTotal"].CellAppearance.TextHAlign=HAlign.Right;
Grid.DisplayLayout.Bands[0].Columns["LineTotal"].CellActivation=Activation.ActivateOnly;
//___NetTotal___
if(Grid.DisplayLayout.Bands[0].Columns.Exists("NetTotal"))
{
Grid.DisplayLayout.Bands[0].Columns["NetTotal"].Header.Caption=Util.LocaleText.GetLocalizedText("PurchaseOrderItem.Label.NetTotal");
}
else
{
Grid.DisplayLayout.Bands[0].Columns.Add("NetTotal",Util.LocaleText.GetLocalizedText("PurchaseOrderItem.Label.NetTotal"));
}
Grid.DisplayLayout.Bands[0].Columns["NetTotal"].DataType=typeof(decimal);
Grid.DisplayLayout.Bands[0].Columns["NetTotal"].Format="c";
Grid.DisplayLayout.Bands[0].Columns["NetTotal"].CellAppearance.TextHAlign=HAlign.Right;
Grid.DisplayLayout.Bands[0].Columns["NetTotal"].CellActivation=Activation.ActivateOnly;
//-------------------------------------------------------------------------------------------------
PopulateGridValueLists();
//Allow empty string entry on grid
Util.SetTextColumnsNullable(Grid);
//turn initialize row event back on
Grid.EventManager.SetEnabled(GridEventIds.InitializeRow,true);
}
/// <summary>
/// Populate the drop down lists inside the grid
/// so they display and can select the correct underlying
/// value
/// </summary>
private void PopulateGridValueLists()
{
//case 1039 //log.Debug("PopulateGridValueLists");
//Empty the existing value lists if present
Grid.DisplayLayout.ValueLists.Clear();
//Need a selected vendor to be able to do this
//If there isn't one, then bail
if(cbVendorID.Value==null || (Guid)cbVendorID.Value==Guid.Empty)
return;
//Populate value lists
ValueList vl=Grid.DisplayLayout.ValueLists.Add("Parts");
//case 29
PartList = PartPickList.GetAllParts();
Guid SelectedVendorID=(Guid)cbVendorID.Value;
//PartList=PartPickList.GetAllPartsForVendor((Guid)cbVendorID.Value);
if(PartList.Count==0)
Util.PromptWithIconOKOnlyFromLocaleKey("PurchaseOrder.Label.UI.NoPartsForVendorWarning",MessageBoxIcon.Exclamation);
foreach(PartPickList.PartPickListInfo ppi in PartList)
{
//case 29
if (!bPartsForAllVendors && ppi.WholeSalerID != SelectedVendorID && ppi.AlternativeWholeSalerID != SelectedVendorID)
{
//was it preselected so should be shown anyway?
if (mPurchaseOrder.ListOfPartsSelected().Contains(ppi.ID))
{
ValueListItem vi = vl.ValueListItems.Add(ppi.ID, ppi.DisplayName(Util.GlobalSettings.DefaultPartDisplayFormat));
vi.Appearance.ForeColor = System.Drawing.SystemColors.GrayText;
}
}
else
{
//case 1962 - should exclude inactive parts
if (ppi.Active || mPurchaseOrder.ListOfPartsSelected().Contains(ppi.ID))
vl.ValueListItems.Add(ppi.ID, ppi.DisplayName(Util.GlobalSettings.DefaultPartDisplayFormat));
}
}
vl.SortStyle = ValueListSortStyle.Ascending;
//Bind value lists to correct columns in grid
Grid.DisplayLayout.Bands[0].Columns["PartID"].ValueList=Grid.DisplayLayout.ValueLists["Parts"];
//Set column to dropdownlist style so that user can not type an invalid value in a cell
//but must select from the list only
Grid.DisplayLayout.Bands[0].Columns["PartID"].Style=Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownValidate;//Case 96 for autocomplete (was DropDownList)
Grid.DisplayLayout.Bands[0].Columns["PartID"].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
//-------------------------------------------------------------------------------------------------
//Warehouses
vl=Grid.DisplayLayout.ValueLists.Add("Warehouses");
//NVCHANGED
GenericNVList l=GenericNVList.GetList("aPartWarehouse","aID","aName",true,false,true);
//Add initial empty guid value
//so that records with no value yet entered in the
//field will be shown as an empty string
vl.ValueListItems.Add(Guid.Empty, Util.NoSelectionString);//Case 318
//Loop through the items in the list and put them
//into the valuelist
for(int x=0;x<l.Count;x++)
{
vl.ValueListItems.Add(new Guid(((DictionaryEntry)l.BindableList[x]).Key.ToString()),
((DictionaryEntry)l.BindableList[x]).Value.ToString());
}
vl.SortStyle = ValueListSortStyle.Ascending;
//Bind value lists to correct columns in grid
Grid.DisplayLayout.Bands[0].Columns["PartWarehouseID"].ValueList=Grid.DisplayLayout.ValueLists["Warehouses"];
//Set column to dropdownlist style so that user can not type an invalid value in a cell
//but must select from the list only
Grid.DisplayLayout.Bands[0].Columns["PartWarehouseID"].Style=Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownValidate;//Case 96 for autocomplete (was DropDownList)
Grid.DisplayLayout.Bands[0].Columns["PartWarehouseID"].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
//-------------------------------------------------------------------------------------------------
//Tax codes TaxID
vl=Grid.DisplayLayout.ValueLists.Add("TaxCodes");
//NVCHANGED
l=GenericNVList.GetList("aTaxCode","aID","aName",true,false,false);
//Add initial empty guid value
//so that records with no value yet entered in the
//field will be shown as an empty string
vl.ValueListItems.Add(Guid.Empty, Util.NoSelectionString);//Case 318
//Loop through the items in the list and put them
//into the valuelist
for(int x=0;x<l.Count;x++)
{
vl.ValueListItems.Add(new Guid(((DictionaryEntry)l.BindableList[x]).Key.ToString()),
((DictionaryEntry)l.BindableList[x]).Value.ToString());
}
vl.SortStyle = ValueListSortStyle.Ascending;
//Bind value lists to correct columns in grid
Grid.DisplayLayout.Bands[0].Columns["PurchaseTaxCodeID"].ValueList=Grid.DisplayLayout.ValueLists["TaxCodes"];
//Set column to dropdownlist style so that user can not type an invalid value in a cell
//but must select from the list only
Grid.DisplayLayout.Bands[0].Columns["PurchaseTaxCodeID"].Style=Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownValidate;//Case 96 for autocomplete (was DropDownList)
Grid.DisplayLayout.Bands[0].Columns["PurchaseTaxCodeID"].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
//-------------------------------------------------------------------------------------------------
//UserID for part requestor field
vl=Grid.DisplayLayout.ValueLists.Add("Users");
UserPickList UList=UserPickList.GetList(true);//case 58
//Add initial empty guid value
//so that records with no value yet entered in the
//field will be shown as an empty string
vl.ValueListItems.Add(Guid.Empty, Util.NoSelectionString);//Case 318
foreach(UserPickList.UserPickListInfo ui in UList)
{
vl.ValueListItems.Add(ui.ID,ui.Name);
}
vl.SortStyle = ValueListSortStyle.Ascending;
//Bind value lists to correct columns in grid
Grid.DisplayLayout.Bands[0].Columns["PartRequestedByID"].ValueList=Grid.DisplayLayout.ValueLists["Users"];
//Set column to dropdownlist style so that user can not type an invalid value in a cell
//but must select from the list only
Grid.DisplayLayout.Bands[0].Columns["PartRequestedByID"].Style=Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownValidate;//Case 96 for autocomplete (was DropDownList)
Grid.DisplayLayout.Bands[0].Columns["PartRequestedByID"].AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
}
#endregion
#region Custom fields
/// <summary>
/// put custom field data into custom grid and show it if applicable
/// </summary>
private void FillCustomFieldGrid()
{
//case 1039 //log.Debug("FillCustomFieldGrid");
bShowCustomFields=Util.PrepareCustomFieldsGrid("PurchaseOrder",gridCustom);
if(bShowCustomFields)
{
this.panelCustom.Visible=true;
Util.GridFromCustomFields(mPurchaseOrder,gridCustom);
}
else
{
this.panelCustom.Visible=false;
}
}
private void gridCustom_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
Util.GridToCustomFields(mPurchaseOrder,gridCustom);
}
#endregion
#region DatePickerEditorButton
private void dtOrderedDate_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
{
//Set the date to null or unchosen
dtOrderedDate.Value=DBNull.Value;
}
#endregion
#region Update restock / request buttons on toolbar
private void RefreshRestockRequestToolBarButtons()
{
//Need a selected vendor to be able to do this
//If there isn't one, then bail
if(mPurchaseOrder.Status!= PurchaseOrderStatus.OpenNotYetOrdered || cbVendorID.Value==null || (Guid)cbVendorID.Value==Guid.Empty || (cbClientID.Value!=null && (Guid)cbClientID.Value!=Guid.Empty))
{
this.mRestockList=null;
this.mRequestList=null;
}
else
{
this.mRestockList= PartRestockRequiredByVendorList.GetList((Guid)cbVendorID.Value);
this.mRequestList= PartWorkorderItemRequestByVendorList.GetList((Guid)cbVendorID.Value);
}
bool bShowRestockButton=true;
if(bShowRestockButton && AyaBizUtils.Right("Object.PurchaseOrder")< (int)SecurityLevelTypes.ReadWrite) bShowRestockButton=false;
if(mRestockList==null || mRestockList.Count==0) bShowRestockButton=false;
if(bShowRestockButton && mPurchaseOrder.Status > PurchaseOrderStatus.OpenNotYetOrdered) bShowRestockButton=false;
//Show if not on order or farther, no drop ship client id, and a valid restock list with items present
tbManager.Tools["LT:PurchaseOrder.Label.UI.RestockList"].SharedProps.Visible=bShowRestockButton;
bool bShowRequestButton=true;
if(bShowRequestButton && AyaBizUtils.Right("Object.PurchaseOrder")< (int)SecurityLevelTypes.ReadWrite) bShowRequestButton=false;
if(mRequestList==null || mRequestList.Count==0) bShowRequestButton=false;
if(bShowRequestButton && mPurchaseOrder.Status > PurchaseOrderStatus.OpenNotYetOrdered) bShowRequestButton=false;
//Show workorder item part request list button
tbManager.Tools["LT:WorkorderItemPartRequest.Label.List"].SharedProps.Visible=bShowRequestButton;
}
#endregion
#region Accelerator keys
/// <summary>
/// Case 37
/// </summary>
/// <param name="msg"></param>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
//Short circuit:
//Only process modified keystrokes (i.e. when a modifier like ctrl-alt-or shift is also
//being held down
if (ModifierKeys == Keys.None) return base.ProcessCmdKey(ref msg, keyData);
switch (Util.HotKeys(keyData))
{
//Close form
case HotKeyAction.CloseForm:
this.Close();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
#endregion
bool bPartsForAllVendors = false;
private void ckAllVendors_BeforeCheckStateChanged(object sender, CancelEventArgs e)
{
bPartsForAllVendors = !ckAllVendors.Checked;
PopulateGridValueLists();
}
private void Grid_ClickCellButton(object sender, CellEventArgs e)
{
//case 1105
if (e.Cell.Column.Key == "REMOVE")
{
Grid.DisplayLayout.ActiveRow.Delete();
}
}
}
}