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 log4net; namespace AyaNova { /// /// Summary description for UserInfoCertificationsForm. /// public class UserInfoCertificationsForm : 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; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; private System.Windows.Forms.Panel panel1; private Infragistics.Win.UltraWinEditors.UltraComboEditor cbCertifications; private System.Windows.Forms.Panel panel2; private GZTW.WinForm.Controls.GZDateTimePicker GridCalendar; private Infragistics.Win.Misc.UltraButton btnCertList; private User mUser=null; public UserInfoCertificationsForm(User UserToEdit) { // // Required for Windows Form Designer support // InitializeComponent(); mUser=UserToEdit; } /// /// 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() { Infragistics.Win.UltraWinEditors.EditorButton editorButton1 = new Infragistics.Win.UltraWinEditors.EditorButton(); Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance(); this.Grid = new Infragistics.Win.UltraWinGrid.UltraGrid(); this.panel1 = new System.Windows.Forms.Panel(); this.cbCertifications = new Infragistics.Win.UltraWinEditors.UltraComboEditor(); this.panel2 = new System.Windows.Forms.Panel(); this.btnCertList = new Infragistics.Win.Misc.UltraButton(); this.GridCalendar = new GZTW.WinForm.Controls.GZDateTimePicker(); ((System.ComponentModel.ISupportInitialize)(this.Grid)).BeginInit(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.cbCertifications)).BeginInit(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.GridCalendar)).BeginInit(); this.SuspendLayout(); // // Grid // 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(592, 318); this.Grid.TabIndex = 0; this.Grid.AfterRowsDeleted += new System.EventHandler(this.Grid_AfterRowsDeleted); this.Grid.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(this.Grid_ClickCellButton); // // panel1 // this.panel1.Controls.Add(this.Grid); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 55); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(592, 318); this.panel1.TabIndex = 1; // // cbCertifications // this.cbCertifications.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.cbCertifications.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend; appearance1.Image = global::AyaNova.Resource1.New16; editorButton1.Appearance = appearance1; this.cbCertifications.ButtonsLeft.Add(editorButton1); this.cbCertifications.Location = new System.Drawing.Point(0, 28); this.cbCertifications.MaxDropDownItems = 25; this.cbCertifications.Name = "cbCertifications"; this.cbCertifications.Size = new System.Drawing.Size(592, 24); this.cbCertifications.SortStyle = Infragistics.Win.ValueListSortStyle.Ascending; this.cbCertifications.TabIndex = 2; this.cbCertifications.EditorButtonClick += new Infragistics.Win.UltraWinEditors.EditorButtonEventHandler(this.cbCertifications_EditorButtonClick); // // panel2 // this.panel2.Controls.Add(this.btnCertList); this.panel2.Controls.Add(this.cbCertifications); this.panel2.Controls.Add(this.GridCalendar); this.panel2.Dock = System.Windows.Forms.DockStyle.Top; this.panel2.Location = new System.Drawing.Point(0, 0); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(592, 55); this.panel2.TabIndex = 3; // // btnCertList // this.btnCertList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); appearance2.TextHAlignAsString = "Left"; this.btnCertList.Appearance = appearance2; this.btnCertList.Location = new System.Drawing.Point(0, 0); this.btnCertList.Name = "btnCertList"; this.btnCertList.Size = new System.Drawing.Size(592, 28); this.btnCertList.TabIndex = 152; this.btnCertList.Tag = ""; this.btnCertList.Text = "LT:UserCertification.Label.List"; this.btnCertList.UseHotTracking = Infragistics.Win.DefaultableBoolean.True; this.btnCertList.Click += new System.EventHandler(this.btnCertList_Click); // // GridCalendar // this.GridCalendar.GZEnabled = true; this.GridCalendar.GZReadOnly = false; this.GridCalendar.Location = new System.Drawing.Point(557, 0); this.GridCalendar.Name = "GridCalendar"; this.GridCalendar.Size = new System.Drawing.Size(38, 24); this.GridCalendar.TabIndex = 151; this.GridCalendar.Visible = false; // // UserInfoCertificationsForm // this.AutoScaleBaseSize = new System.Drawing.Size(6, 15); this.ClientSize = new System.Drawing.Size(592, 373); this.Controls.Add(this.panel1); this.Controls.Add(this.panel2); this.Name = "UserInfoCertificationsForm"; this.ShowInTaskbar = false; this.Closing += new System.ComponentModel.CancelEventHandler(this.UserInfoCertificationsForm_Closing); this.Load += new System.EventHandler(this.UserInfoCertificationsForm_Load); ((System.ComponentModel.ISupportInitialize)(this.Grid)).EndInit(); this.panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.cbCertifications)).EndInit(); this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.GridCalendar)).EndInit(); this.ResumeLayout(false); } #endregion // __ _ _ ___ ____ __ __ __ __ __ ___ ___ // / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _) // ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _) // \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___) // //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv #region Form load / close //variable to hold user form settings //UIUserFormSetting mFormSetting; private ControlContainerEditor ccGridDateTimeEditor = null; private void UserInfoCertificationsForm_Load(object sender, System.EventArgs e) { //case 1039 //log.Debug("UserInfoCertificationsForm_Load"); this.Icon = Resource1.UserCertificate16icon; //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.UserCertificationAssigned")< (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.UserCertificationAssigned"))); this.Close(); return; } ccGridDateTimeEditor = new ControlContainerEditor(); ccGridDateTimeEditor.EditingControl = GridCalendar; //this.GridCalendar.MaskInput=Util.LocaleDateTimeMask(); Util.BindField(Grid,"DataSource",mUser,"UserCertifications"); Util.GridPreLocalize("UserCertificationAssigned",Grid.DisplayLayout.Bands[0]); Util.GridHideEditableBizObjectInternalFields(Grid); Grid.DisplayLayout.Bands[0].Columns["UserID"].Hidden=true; PopulateGridValueLists(); Grid.DisplayLayout.Override.HeaderClickAction=HeaderClickAction.SortSingle; Grid.DisplayLayout.Override.AllowAddNew=AllowAddNew.No; Grid.DisplayLayout.Override.AllowDelete=DefaultableBoolean.True; Grid.DisplayLayout.Bands[0].Columns["UserCertificationID"].CellActivation=Activation.NoEdit; Grid.DisplayLayout.Bands[0].Columns["ValidStartDate"].Editor = ccGridDateTimeEditor; Grid.DisplayLayout.Bands[0].Columns["ValidStopDate"].Editor = ccGridDateTimeEditor; Grid.DisplayLayout.Override.AllowUpdate=DefaultableBoolean.True; Util.Localize(this); Grid.DisplayLayout.Bands[0].Columns["UserCertificationID"].Header.Caption=Util.LocaleText.GetLocalizedText("O.UserCertification"); FillAvailableCertificationsCombo(); Util.LoadFormCustomization("UserInfoCertifications", this, null, false); if ((SecurityLevelTypes)AyaBizUtils.Right("Object.UserCertificationAssigned") > SecurityLevelTypes.ReadWrite) Util.GridAddDeleteButton(Grid); else Util.GridRemoveDeleteButton(Grid); //Set rights Util.SetAccess((AyaBizUtils.Right("Object.UserCertificationAssigned")< (int)SecurityLevelTypes.ReadWrite),this,(AyaBizUtils.Right("Object.UserCertificationAssigned")< (int)SecurityLevelTypes.ReadWriteDelete) ); } private void UserInfoCertificationsForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //case 1039 //log.Debug("UserInfoCertificationsForm_Closing"); Grid.UpdateData(); Util.SaveFormCustomization("UserInfoCertifications", this, null, false); } #endregion /// /// 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"); //wipe old ones Grid.DisplayLayout.ValueLists.Clear(); //Populate value lists ValueList vl=Grid.DisplayLayout.ValueLists.Add("Certifications"); //NVCHANGED GenericNVList l=GenericNVList.GetList("aUserCertification","aID","aName",true,true,false); //Loop through the items in the list and put them //into the valuelist for(int x=0;x /// refresh combo with Certifications not previously added /// private void FillAvailableCertificationsCombo() { //case 1039 //log.Debug("FillAvailableCertificationsCombo"); cbCertifications.Items.Clear(); //NVCHANGED GenericNVList l=GenericNVList.GetList("aUserCertification","aID","aName",true,true,false); //Loop through the items in the list and put them //into the valuelist if they aren't already selected for(int x=0;x /// Add item to grid /// /// /// private void cbCertifications_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { //case 1039 //log.Debug("cbCertifications_EditorButtonClick"); if(cbCertifications.SelectedItem==null) return; if((Guid)cbCertifications.SelectedItem.DataValue!=Guid.Empty) { UserCertificationAssigned usa=mUser.UserCertifications.Add(mUser); usa.UserCertificationID=(Guid)cbCertifications.SelectedItem.DataValue; FillAvailableCertificationsCombo(); } } /// /// refresh combo /// /// /// private void Grid_AfterRowsDeleted(object sender, System.EventArgs e) { //case 1039 //log.Debug("Grid_AfterRowsDeleted"); FillAvailableCertificationsCombo(); } private void btnCertList_Click(object sender, System.EventArgs e) { //case 1039 //log.Debug("btnCertList_Click"); GenericListForm g11 = new GenericListForm(); UserCertifications uc = UserCertifications.GetItems(); g11.GridDataSource=uc; g11.ShowDialog(); FillAvailableCertificationsCombo(); PopulateGridValueLists(); } private void Grid_ClickCellButton(object sender, CellEventArgs e) { //case 1105 if (e.Cell.Column.Key == "REMOVE") { Grid.DisplayLayout.ActiveRow.Delete(); } } //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } }