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.UltraWinEditors; using log4net; namespace AyaNova { /// /// Summary description for RatesForm. /// public class RatesForm : 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 Infragistics.Win.UltraWinGrid.UltraGrid Grid; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _RatesForm_Toolbars_Dock_Area_Left; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _RatesForm_Toolbars_Dock_Area_Right; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _RatesForm_Toolbars_Dock_Area_Top; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _RatesForm_Toolbars_Dock_Area_Bottom; private Infragistics.Win.UltraWinToolbars.UltraToolbarsManager tbManager; private System.Windows.Forms.HelpProvider helpProvider1; private System.ComponentModel.IContainer components; public RatesForm() { // // Required for Windows Form Designer support // InitializeComponent(); // // // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar1 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("RateMenuBar"); 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:RateUnitChargeDescription.Label.List"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool2 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:ClientGroup.Label.List"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool3 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:RateUnitChargeDescription.Label.List"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool4 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:ClientGroup.Label.List"); 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 appearance1 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.ListTool listTool2 = new Infragistics.Win.UltraWinToolbars.ListTool("REPORTLIST"); this.Grid = new Infragistics.Win.UltraWinGrid.UltraGrid(); this.tbManager = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components); this._RatesForm_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this._RatesForm_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this._RatesForm_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this._RatesForm_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this.helpProvider1 = new System.Windows.Forms.HelpProvider(); ((System.ComponentModel.ISupportInitialize)(this.Grid)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbManager)).BeginInit(); this.SuspendLayout(); // // Grid // this.Grid.Cursor = System.Windows.Forms.Cursors.Hand; this.Grid.Dock = System.Windows.Forms.DockStyle.Fill; this.Grid.Location = new System.Drawing.Point(0, 26); this.Grid.Name = "Grid"; this.Grid.Size = new System.Drawing.Size(520, 339); this.Grid.TabIndex = 0; this.Grid.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(this.Grid_InitializeRow); this.Grid.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.Grid_ClickCellButton); this.Grid.MouseEnterElement += new Infragistics.Win.UIElementEventHandler(this.Grid_MouseEnterElement); // // 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; ultraToolbar1.NonInheritedTools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { popupMenuTool1, buttonTool1, buttonTool2}); ultraToolbar1.Settings.AllowCustomize = Infragistics.Win.DefaultableBoolean.False; ultraToolbar1.Settings.AllowFloating = Infragistics.Win.DefaultableBoolean.False; ultraToolbar1.Settings.AllowHiding = Infragistics.Win.DefaultableBoolean.False; ultraToolbar1.Text = "RateMenuBar"; 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; buttonTool3.SharedPropsInternal.Caption = "LT:RateUnitChargeDescription.Label.List"; buttonTool3.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.TextOnlyAlways; buttonTool4.SharedPropsInternal.Caption = "LT:ClientGroup.Label.List"; buttonTool4.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.ImageAndText; listTool1.DisplayCheckmark = false; appearance1.Image = global::AyaNova.Resource1.Print32; popupMenuTool2.SharedPropsInternal.AppearancesLarge.Appearance = appearance1; appearance2.Image = global::AyaNova.Resource1.Print16; popupMenuTool2.SharedPropsInternal.AppearancesSmall.Appearance = appearance2; popupMenuTool2.SharedPropsInternal.Caption = "LT:UI.Toolbar.Print"; popupMenuTool2.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.ImageOnlyOnToolbars; popupMenuTool2.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { listTool2}); this.tbManager.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { buttonTool3, buttonTool4, listTool1, popupMenuTool2}); this.tbManager.ToolClick += new Infragistics.Win.UltraWinToolbars.ToolClickEventHandler(this.tbManager_ToolClick); // // _RatesForm_Toolbars_Dock_Area_Left // this._RatesForm_Toolbars_Dock_Area_Left.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._RatesForm_Toolbars_Dock_Area_Left.BackColor = System.Drawing.SystemColors.Control; this._RatesForm_Toolbars_Dock_Area_Left.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Left; this._RatesForm_Toolbars_Dock_Area_Left.ForeColor = System.Drawing.SystemColors.ControlText; this._RatesForm_Toolbars_Dock_Area_Left.Location = new System.Drawing.Point(0, 26); this._RatesForm_Toolbars_Dock_Area_Left.Name = "_RatesForm_Toolbars_Dock_Area_Left"; this._RatesForm_Toolbars_Dock_Area_Left.Size = new System.Drawing.Size(0, 339); this._RatesForm_Toolbars_Dock_Area_Left.ToolbarsManager = this.tbManager; // // _RatesForm_Toolbars_Dock_Area_Right // this._RatesForm_Toolbars_Dock_Area_Right.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._RatesForm_Toolbars_Dock_Area_Right.BackColor = System.Drawing.SystemColors.Control; this._RatesForm_Toolbars_Dock_Area_Right.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Right; this._RatesForm_Toolbars_Dock_Area_Right.ForeColor = System.Drawing.SystemColors.ControlText; this._RatesForm_Toolbars_Dock_Area_Right.Location = new System.Drawing.Point(520, 26); this._RatesForm_Toolbars_Dock_Area_Right.Name = "_RatesForm_Toolbars_Dock_Area_Right"; this._RatesForm_Toolbars_Dock_Area_Right.Size = new System.Drawing.Size(0, 339); this._RatesForm_Toolbars_Dock_Area_Right.ToolbarsManager = this.tbManager; // // _RatesForm_Toolbars_Dock_Area_Top // this._RatesForm_Toolbars_Dock_Area_Top.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._RatesForm_Toolbars_Dock_Area_Top.BackColor = System.Drawing.SystemColors.Control; this._RatesForm_Toolbars_Dock_Area_Top.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Top; this._RatesForm_Toolbars_Dock_Area_Top.ForeColor = System.Drawing.SystemColors.ControlText; this._RatesForm_Toolbars_Dock_Area_Top.Location = new System.Drawing.Point(0, 0); this._RatesForm_Toolbars_Dock_Area_Top.Name = "_RatesForm_Toolbars_Dock_Area_Top"; this._RatesForm_Toolbars_Dock_Area_Top.Size = new System.Drawing.Size(520, 26); this._RatesForm_Toolbars_Dock_Area_Top.ToolbarsManager = this.tbManager; // // _RatesForm_Toolbars_Dock_Area_Bottom // this._RatesForm_Toolbars_Dock_Area_Bottom.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._RatesForm_Toolbars_Dock_Area_Bottom.BackColor = System.Drawing.SystemColors.Control; this._RatesForm_Toolbars_Dock_Area_Bottom.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Bottom; this._RatesForm_Toolbars_Dock_Area_Bottom.ForeColor = System.Drawing.SystemColors.ControlText; this._RatesForm_Toolbars_Dock_Area_Bottom.Location = new System.Drawing.Point(0, 365); this._RatesForm_Toolbars_Dock_Area_Bottom.Name = "_RatesForm_Toolbars_Dock_Area_Bottom"; this._RatesForm_Toolbars_Dock_Area_Bottom.Size = new System.Drawing.Size(520, 0); this._RatesForm_Toolbars_Dock_Area_Bottom.ToolbarsManager = this.tbManager; // // RatesForm // this.AutoScaleBaseSize = new System.Drawing.Size(6, 15); this.ClientSize = new System.Drawing.Size(520, 365); this.Controls.Add(this.Grid); this.Controls.Add(this._RatesForm_Toolbars_Dock_Area_Left); this.Controls.Add(this._RatesForm_Toolbars_Dock_Area_Right); this.Controls.Add(this._RatesForm_Toolbars_Dock_Area_Bottom); this.Controls.Add(this._RatesForm_Toolbars_Dock_Area_Top); this.helpProvider1.SetHelpNavigator(this, System.Windows.Forms.HelpNavigator.Topic); this.Name = "RatesForm"; this.helpProvider1.SetShowHelp(this, true); this.ShowInTaskbar = false; this.Text = "RatesForm"; this.Closing += new System.ComponentModel.CancelEventHandler(this.RatesForm_Closing); this.Load += new System.EventHandler(this.RatesForm_Load); ((System.ComponentModel.ISupportInitialize)(this.Grid)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbManager)).EndInit(); this.ResumeLayout(false); } #endregion // __ _ _ ___ ____ __ __ __ __ __ ___ ___ // / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _) // ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _) // \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___) // #region Load / Close Rates r=null; private void RatesForm_Load(object sender, System.EventArgs e) { // // helpProvider1 // this.helpProvider1.HelpNamespace = Util.BaseHelpUrl + "Rates.htm"; //case 1039 //log.Debug("RatesForm_Load"); this.Icon = Resource1.Rates16icon; //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 User edit screen from elsewhere in the program) if(AyaBizUtils.Right("Object.Rate")< (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.Rate"))); this.Close(); return; } Grid.Text=""; this.Text=Util.LocaleText.GetLocalizedText("Rate.Label.List"); r=Rates.GetItems(true); Grid.DataSource=r; //Move to selected record if one if (mSelectedRecordID != Guid.Empty) { if (Grid.DisplayLayout.Bands[0].Columns.Exists("ID")) { foreach (UltraGridRow rw in Grid.Rows) { if ((Guid)rw.Cells["ID"].Value == mSelectedRecordID) { rw.Selected = true; } } } } InitializeGrid(); Grid.UpdateMode=UpdateMode.OnCellChangeOrLostFocus; Util.LoadFormCustomization("Rates", this, tbManager, false); //Localize the toolbar Util.Localize(tbManager); 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"], Rates.ReportKey, ""); } //Set rights Util.SetAccess((AyaBizUtils.Right("Object.Rate")< (int)SecurityLevelTypes.ReadWrite),this,(AyaBizUtils.Right("Object.Rate")< (int)SecurityLevelTypes.ReadWriteDelete) ); //case 1172 if(AyaBizUtils.Lite) tbManager.Tools["LT:ClientGroup.Label.List"].SharedProps.Visible = false; if ((SecurityLevelTypes)AyaBizUtils.Right(RootObjectTypes.Rate) > SecurityLevelTypes.ReadWrite) Util.GridAddDeleteButton(Grid); else Util.GridRemoveDeleteButton(Grid); } private void RatesForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //case 1039 //log.Debug("RatesForm_Closing"); Grid.UpdateData(); if(r.IsDirty) { if(!r.IsValid) { if(Util.PromptForBrokenRulesCancelSave()!=DialogResult.Yes) { e.Cancel=true; return; } } else { mbChangesMade=true; try { r.Save(); } catch (Exception ex) { Util.ReportSQLError(ex); } } } //Is it dirty? //if so, it wasn't saved previously //so we have broken rules here Util.SaveGridLayout("Rates","","",Grid); Util.SaveFormCustomization("Rates", this, tbManager, false); } #endregion #region Grid Initialization /// /// Get grid ready /// private void InitializeGrid() { //case 1039 //log.Debug("InitializeGrid"); Grid.DisplayLayout.Override.HeaderClickAction=HeaderClickAction.SortSingle; Grid.DisplayLayout.Override.AllowAddNew=AllowAddNew.TemplateOnBottom; //Grid.DisplayLayout.AutoFitColumns=false; Util.GridPreLocalize("Rate",Grid.DisplayLayout.Bands[0]); Util.GridHideEditableBizObjectInternalFields(Grid); Util.FetchGridLayout("Rates","",Grid); PopulateGridValueLists(); Util.LocalizeGrid(Grid); //Format cells for currency format Grid.DisplayLayout.Bands[0].Columns["Cost"].Format="c"; Grid.DisplayLayout.Bands[0].Columns["Cost"].CellAppearance.TextHAlign=HAlign.Right; Grid.DisplayLayout.Bands[0].Columns["Charge"].Format="c"; Grid.DisplayLayout.Bands[0].Columns["Charge"].CellAppearance.TextHAlign=HAlign.Right; // // Grid.DisplayLayout.Bands[0].Columns["LT_PurchaseOrder_Label_AdditionalCharges"].Format="c"; // Grid.DisplayLayout.Bands[0].Columns["LT_PurchaseOrder_Label_AdditionalCharges"].CellAppearance.TextHAlign=HAlign.Right; // } /// /// Populate the drop down lists inside the grid /// so they display and can select the correct underlying /// value /// private void PopulateGridValueLists() { //case 1039 //log.Debug("PopulateGridValueLists"); Grid.DisplayLayout.ValueLists.Clear(); //Populate Rateunitchargedescription lists ValueList vl=Grid.DisplayLayout.ValueLists.Add("RateUnitCharges"); //NVCHANGED GenericNVList l=GenericNVList.GetList("aRateUnitChargeDescription","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 /// Show error icons if rules broken /// /// /// private void Grid_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { Util.GridShowBrokenRulesErrorIcons(e); } //Tool tip to use for displaying broken rules private System.Windows.Forms.ToolTip tipError = new System.Windows.Forms.ToolTip(); /// /// Display broken rules in tool tip if hovering over /// error icon /// /// /// private void Grid_MouseEnterElement(object sender, Infragistics.Win.UIElementEventArgs e) { Util.GridShowBrokenRulesToolTip(e,tipError); } #endregion private void Grid_ClickCellButton(object sender, CellEventArgs e) {//case 1105 if (e.Cell.Column.Key == "REMOVE") { Cursor.Current = Cursors.WaitCursor; Grid.DisplayLayout.ActiveRow.Delete(); } } } }