private void PublicShowDataMessage_Load(object sender, EventArgs e) { CommonMetaList commonMetaList = new CommonMetaList(); ListMaintenance.ListDataStatusDataTable listDataStatusDataTable = commonMetaList.GetListDataStatus(); this.comboBoxDataStatusID.DataSource = listDataStatusDataTable; this.comboBoxDataStatusID.DisplayMember = listDataStatusDataTable.DescriptionColumn.ColumnName; this.comboBoxDataStatusID.ValueMember = listDataStatusDataTable.DataStatusIDColumn.ColumnName; this.dataStatusIDBinding = this.comboBoxDataStatusID.DataBindings.Add("SelectedValue", this.dataMessageMaster, "DataStatusID", true); this.coilCodeAndExtentionBinding = this.textBoxCoilCodeAndExtention.DataBindings.Add("Text", this, "CoilCodeAndExtention", true); this.counterValueBinding = this.textBoxCounterValue.DataBindings.Add("Text", this.dataMessageMaster, "CounterValue", true); this.counterAutonicsBinding = this.textBoxCounterAutonics.DataBindings.Add("Text", this.dataMessageMaster, "CounterAutonics", true); this.dataMessageDisplayBinding = this.textBoxDataMessageDisplay.DataBindings.Add("Text", this, "DataMessageDisplay", true); this.userInputCounterValueBinding = this.textBoxUserInputCounterValue.DataBindings.Add("Text", this, "UserInputCounterValue", true, DataSourceUpdateMode.OnPropertyChanged); this.dataStatusIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.coilCodeAndExtentionBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.counterValueBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.counterAutonicsBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.dataMessageDisplayBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.userInputCounterValueBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); }
private void labelOpenCommonMDI_DoubleClick(object sender, EventArgs e) { try { GlobalEnum.TaskID taskID = sender.Equals(this.pictureBoxLogo) ? GlobalEnum.TaskID.ListLogo : sender.Equals(this.pictureBoxFactory) ? GlobalEnum.TaskID.ListFactory : sender.Equals(this.pictureBoxOwner) ? GlobalEnum.TaskID.ListOwner : sender.Equals(this.pictureBoxCategory) ? GlobalEnum.TaskID.ListCategory : sender.Equals(this.pictureBoxProduct) ? GlobalEnum.TaskID.ListProduct : sender.Equals(this.pictureBoxCoil) ? GlobalEnum.TaskID.ListCoil : GlobalEnum.TaskID.ListCoil; CommonMDI commonMDI = new CommonMDI(taskID); if (commonMDI.ShowDialog() == System.Windows.Forms.DialogResult.OK || true) { CommonMetaList commonMetaList = new CommonMetaList(); switch (taskID) { case GlobalEnum.TaskID.ListLogo: this.comboBoxLogoID.DataSource = commonMetaList.GetListLogo(); break; case GlobalEnum.TaskID.ListFactory: this.comboBoxFactoryID.DataSource = commonMetaList.GetListFactory(); break; case GlobalEnum.TaskID.ListOwner: this.comboBoxOwnerID.DataSource = commonMetaList.GetListOwner(); break; case GlobalEnum.TaskID.ListCategory: this.comboBoxCategoryID.DataSource = commonMetaList.GetListCategory(); break; case GlobalEnum.TaskID.ListProduct: this.comboBoxProductID.DataSource = commonMetaList.GetListProduct(); break; case GlobalEnum.TaskID.ListCoil: this.comboBoxCoilID.DataSource = commonMetaList.GetListCoil(); break; default: break; } } commonMDI.Dispose(); } catch (Exception exception) { GlobalExceptionHandler.ShowExceptionMessageBox(this, exception); } }
private void PublicApplicationLogon_Load(object sender, EventArgs e) { try { this.comboBoxImageS8PortName.DataSource = System.IO.Ports.SerialPort.GetPortNames(); this.comboBoxAutonicsPortName.DataSource = System.IO.Ports.SerialPort.GetPortNames(); if (this.comboBoxImageS8PortName.Items.Count == 0) { this.comboBoxImageS8PortName.DataSource = null; this.comboBoxImageS8PortName.Items.Add("COM 0"); this.comboBoxAutonicsPortName.DataSource = null; this.comboBoxAutonicsPortName.Items.Add("COM 0"); } DataTable dataTablePublicPrinterProperties = SQLDatabase.GetDataTable("SELECT TOP 1 * FROM PublicPrinterProperties"); if (dataTablePublicPrinterProperties.Rows.Count > 0) { this.comboBoxImageS8PortName.Text = (string)dataTablePublicPrinterProperties.Rows[0]["ImageS8PortName"]; this.comboBoxAutonicsPortName.Text = (string)dataTablePublicPrinterProperties.Rows[0]["AutonicsPortName"]; } string stringEmployeeID = GlobalRegistry.Read("EmployeeID"); int employeeID = -1; if (stringEmployeeID == null || stringEmployeeID.Length <= "string".Length || !int.TryParse(stringEmployeeID.Substring("string".Length), out employeeID)) { employeeID = 1; } this.EmployeeID = employeeID; this.buttonListEmployee.Visible = this.EmployeeID == 1; this.commonMetaList = new CommonMetaList(); ListMaintenance.ListEmployeeDataTable listEmployeeDataTable = this.commonMetaList.GetListEmployee(); this.comboBoxEmployeeID.DataSource = listEmployeeDataTable; this.comboBoxEmployeeID.DisplayMember = listEmployeeDataTable.DescriptionColumn.ColumnName; this.comboBoxEmployeeID.ValueMember = listEmployeeDataTable.EmployeeIDColumn.ColumnName; this.employeeIDBinding = this.comboBoxEmployeeID.DataBindings.Add("SelectedValue", this, "EmployeeID", true, DataSourceUpdateMode.OnPropertyChanged); this.employeeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); } catch (Exception exception) { GlobalExceptionHandler.ShowExceptionMessageBox(this, exception); } }
private void InitializeDataGridBinding() { this.GetMasterList(); #region <dataGridViewDetail> CommonMetaList commonMetaList = new CommonMetaList(); DataGridViewComboBoxColumn comboBoxColumn; //<dataGridViewMarketingIncentiveDetail> ERmgrUIP.ListCustomerNameDataTable listCustomerNameDataTable = commonMetaList.GetCustomerName(true); comboBoxColumn = (DataGridViewComboBoxColumn)this.dataGridViewMarketingIncentiveDetail.Columns[listCustomerNameDataTable.CustomerIDColumn.ColumnName]; comboBoxColumn.DataSource = listCustomerNameDataTable; comboBoxColumn.DisplayMember = listCustomerNameDataTable.DescriptionColumn.ColumnName; comboBoxColumn.ValueMember = listCustomerNameDataTable.CustomerIDColumn.ColumnName; //--Display the second column for customer (Readonly): DescriptionOfficial -- Later: Try other way, instead of current DataGridViewComboBoxColumn.Datasource comboBoxColumn = (DataGridViewComboBoxColumn)this.dataGridViewMarketingIncentiveDetail.Columns[listCustomerNameDataTable.DescriptionOfficialColumn.ColumnName]; comboBoxColumn.DataSource = listCustomerNameDataTable; comboBoxColumn.DisplayMember = listCustomerNameDataTable.DescriptionOfficialColumn.ColumnName; comboBoxColumn.ValueMember = listCustomerNameDataTable.CustomerIDColumn.ColumnName; ERmgrUIP.ListMarketingPaymentTermDataTable listMarketingPaymentTermDataTable = commonMetaList.GetMarketingPaymentTerm(true); comboBoxColumn = (DataGridViewComboBoxColumn)this.dataGridViewMarketingIncentiveDetail.Columns[listMarketingPaymentTermDataTable.MarketingPaymentTermIDColumn.ColumnName]; comboBoxColumn.DataSource = listMarketingPaymentTermDataTable; comboBoxColumn.DisplayMember = listMarketingPaymentTermDataTable.DescriptionColumn.ColumnName; comboBoxColumn.ValueMember = listMarketingPaymentTermDataTable.MarketingPaymentTermIDColumn.ColumnName; this.dataGridViewMarketingIncentiveDetail.AutoGenerateColumns = false; marketingIncentiveDetailListView = new BindingListView <MarketingIncentiveDetail>(this.marketingIncentiveBLL.MarketingIncentiveDetailList); this.dataGridViewMarketingIncentiveDetail.DataSource = marketingIncentiveDetailListView; StackedHeaderDecorator stackedHeaderDecorator = new StackedHeaderDecorator(this.dataGridViewMarketingIncentiveDetail); #endregion <dataGridViewDetail> }
private void InitializeCommonControlBinding() { CommonMetaList commonMetaList = new CommonMetaList(); ListMaintenance.ListFactoryDataTable listFactoryDataTable = commonMetaList.GetListFactory(); this.comboBoxFactoryID.DataSource = listFactoryDataTable; this.comboBoxFactoryID.DisplayMember = listFactoryDataTable.DescriptionColumn.ColumnName; this.comboBoxFactoryID.ValueMember = listFactoryDataTable.FactoryIDColumn.ColumnName; this.factoryIDBinding = this.comboBoxFactoryID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "FactoryID", true); ListMaintenance.ListOwnerDataTable listOwnerDataTable = commonMetaList.GetListOwner(); this.comboBoxOwnerID.DataSource = listOwnerDataTable; this.comboBoxOwnerID.DisplayMember = listOwnerDataTable.DescriptionColumn.ColumnName; this.comboBoxOwnerID.ValueMember = listOwnerDataTable.OwnerIDColumn.ColumnName; this.ownerIDBinding = this.comboBoxOwnerID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "OwnerID", true); ListMaintenance.ListCategoryDataTable listCategoryDataTable = commonMetaList.GetListCategory(); this.comboBoxCategoryID.DataSource = listCategoryDataTable; this.comboBoxCategoryID.DisplayMember = listCategoryDataTable.DescriptionColumn.ColumnName; this.comboBoxCategoryID.ValueMember = listCategoryDataTable.CategoryIDColumn.ColumnName; this.categoryIDBinding = this.comboBoxCategoryID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "CategoryID", true); ListMaintenance.ListProductDataTable listProductDataTable = commonMetaList.GetListProduct(); this.comboBoxProductID.DataSource = listProductDataTable; this.comboBoxProductID.DisplayMember = listProductDataTable.DescriptionColumn.ColumnName; this.comboBoxProductID.ValueMember = listProductDataTable.ProductIDColumn.ColumnName; this.productIDBinding = this.comboBoxProductID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "ProductID", true); ListMaintenance.ListCoilDataTable listCoilDataTable = commonMetaList.GetListCoil(); this.comboBoxCoilID.DataSource = listCoilDataTable; this.comboBoxCoilID.DisplayMember = listCoilDataTable.DescriptionColumn.ColumnName; this.comboBoxCoilID.ValueMember = listCoilDataTable.CoilIDColumn.ColumnName; this.coilIDBinding = this.comboBoxCoilID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "CoilID", true); ListMaintenance.ListStaffNameDataTable listStaffNameDataTable = commonMetaList.GetStaffName(); this.comboBoxRequestedEmployeeID.DataSource = listStaffNameDataTable; this.comboBoxRequestedEmployeeID.DisplayMember = listStaffNameDataTable.DescriptionOfficialColumn.ColumnName; this.comboBoxRequestedEmployeeID.ValueMember = listStaffNameDataTable.StaffIDColumn.ColumnName; this.requestedEmployeeIDBinding = this.comboBoxRequestedEmployeeID.DataBindings.Add("SelectedValue", this.dataMessageBLL.DataMessageMaster, "RequestedEmployeeID", true); this.coilExtensionBinding = this.textBoxCoilExtension.DataBindings.Add("Text", this.dataMessageBLL.DataMessageMaster, "CoilExtension", true); this.remarksBinding = this.textBoxRemarks.DataBindings.Add("Text", this.dataMessageBLL.DataMessageMaster, "Remarks", true); this.productionDateBinding = this.dateTimePickerRequestedDate.DataBindings.Add("Value", this.dataMessageBLL.DataMessageMaster, "ProductionDate", true); this.isDirtyBinding = this.checkBoxIsDirty.DataBindings.Add("Checked", this.dataMessageBLL.DataMessageMaster, "IsDirty", true); this.isDirtyBLLBinding = this.checkBoxIsDirtyBLL.DataBindings.Add("Checked", this.dataMessageBLL, "IsDirty", true); this.factoryIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.ownerIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.categoryIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.productIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.coilIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.requestedEmployeeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.coilExtensionBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.remarksBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.productionDateBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.isDirtyBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.isDirtyBLLBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.naviGroupDetails.DataBindings.Add("ExpandedHeight", this.numericUpDownSizingDetail, "Value", true, DataSourceUpdateMode.OnPropertyChanged); this.numericUpDownSizingDetail.Minimum = this.naviGroupDetails.HeaderHeight * 2; this.numericUpDownSizingDetail.Maximum = this.naviGroupDetails.Height + this.dataGridViewDataMessageMaster.Height; }
private void InitializeCommonControlBinding() { CommonMetaList commonMetaList = new CommonMetaList(); ERmgrUIP.MarketingProgramListDataTable marketingProgramListDataTable = commonMetaList.GetMarketingProgramList(); this.comboBoxMarketingProgramID.DataSource = marketingProgramListDataTable; this.comboBoxMarketingProgramID.DisplayMember = marketingProgramListDataTable.ReferenceColumn.ColumnName; this.comboBoxMarketingProgramID.ValueMember = marketingProgramListDataTable.MarketingProgramIDColumn.ColumnName; this.marketingProgramIDBinding = this.comboBoxMarketingProgramID.DataBindings.Add("SelectedValue", this.marketingIncentiveBLL.MarketingIncentiveMaster, "MarketingProgramID", true); ERmgrUIP.ListMarketingPaymentTypeDataTable marketingPaymentTypeListDataTable = commonMetaList.GetMarketingPaymentType(); this.comboBoxMarketingPaymentTypeID.DataSource = marketingPaymentTypeListDataTable; this.comboBoxMarketingPaymentTypeID.DisplayMember = marketingPaymentTypeListDataTable.DescriptionColumn.ColumnName; this.comboBoxMarketingPaymentTypeID.ValueMember = marketingPaymentTypeListDataTable.MarketingPaymentTypeIDColumn.ColumnName; this.marketingPaymentTypeIDBinding = this.comboBoxMarketingPaymentTypeID.DataBindings.Add("SelectedValue", this.marketingIncentiveBLL.MarketingIncentiveMaster, "MarketingPaymentTypeID", true); ERmgrUIP.ListStaffNameDataTable listStaffNameDataTable = commonMetaList.GetStaffName(); this.comboBoxRequestedEmployeeID.DataSource = listStaffNameDataTable; this.comboBoxRequestedEmployeeID.DisplayMember = listStaffNameDataTable.DescriptionOfficialColumn.ColumnName; this.comboBoxRequestedEmployeeID.ValueMember = listStaffNameDataTable.StaffIDColumn.ColumnName; this.requestedEmployeeIDBinding = this.comboBoxRequestedEmployeeID.DataBindings.Add("SelectedValue", this.marketingIncentiveBLL.MarketingIncentiveMaster, "RequestedEmployeeID", true); listStaffNameDataTable = (ERmgrUIP.ListStaffNameDataTable)listStaffNameDataTable.Copy(); this.comboBoxNotedEmployeeID.DataSource = listStaffNameDataTable; this.comboBoxNotedEmployeeID.DisplayMember = listStaffNameDataTable.DescriptionOfficialColumn.ColumnName; this.comboBoxNotedEmployeeID.ValueMember = listStaffNameDataTable.StaffIDColumn.ColumnName; this.notedEmployeeIDBinding = this.comboBoxNotedEmployeeID.DataBindings.Add("SelectedValue", this.marketingIncentiveBLL.MarketingIncentiveMaster, "NotedEmployeeID", true); listStaffNameDataTable = (ERmgrUIP.ListStaffNameDataTable)listStaffNameDataTable.Copy(); this.comboBoxApprovedEmployeeID.DataSource = listStaffNameDataTable; this.comboBoxApprovedEmployeeID.DisplayMember = listStaffNameDataTable.DescriptionOfficialColumn.ColumnName; this.comboBoxApprovedEmployeeID.ValueMember = listStaffNameDataTable.StaffIDColumn.ColumnName; this.approvedEmployeeIDBinding = this.comboBoxApprovedEmployeeID.DataBindings.Add("SelectedValue", this.marketingIncentiveBLL.MarketingIncentiveMaster, "ApprovedEmployeeID", true); this.paymentPeriodBinding = this.textBoxPaymentPeriod.DataBindings.Add("Text", this.marketingIncentiveBLL.MarketingIncentiveMaster, "PaymentPeriod", true); this.paymentMachanicsBinding = this.textBoxPaymentMachanics.DataBindings.Add("Text", this.marketingIncentiveBLL.MarketingIncentiveMaster, "PaymentMachanics", true); this.remarksBinding = this.textBoxRemarks.DataBindings.Add("Text", this.marketingIncentiveBLL.MarketingIncentiveMaster, "Remarks", true); this.requestedDateBinding = this.dateTimePickerRequestedDate.DataBindings.Add("Value", this.marketingIncentiveBLL.MarketingIncentiveMaster, "RequestedDate", true); this.isDirtyBinding = this.checkBoxIsDirty.DataBindings.Add("Checked", this.marketingIncentiveBLL.MarketingIncentiveMaster, "IsDirty", true); this.isDirtyBLLBinding = this.checkBoxIsDirtyBLL.DataBindings.Add("Checked", this.marketingIncentiveBLL, "IsDirty", true); this.marketingProgramIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.marketingPaymentTypeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.requestedEmployeeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.notedEmployeeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.approvedEmployeeIDBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.paymentPeriodBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.paymentMachanicsBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.remarksBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.requestedDateBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.isDirtyBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.isDirtyBLLBinding.BindingComplete += new BindingCompleteEventHandler(CommonControl_BindingComplete); this.naviGroupDetails.DataBindings.Add("ExpandedHeight", this.numericUpDownSizingDetail, "Value", true, DataSourceUpdateMode.OnPropertyChanged); this.numericUpDownSizingDetail.Minimum = this.naviGroupDetails.HeaderHeight * 2; this.numericUpDownSizingDetail.Maximum = this.naviGroupDetails.Height + this.dataListViewMaster.Height; this.tableLayoutPanelMaster.ColumnStyles[this.tableLayoutPanelMaster.ColumnCount - 1].SizeType = SizeType.Absolute; this.tableLayoutPanelMaster.ColumnStyles[this.tableLayoutPanelMaster.ColumnCount - 1].Width = 10; this.tableLayoutPanelExtend.ColumnStyles[this.tableLayoutPanelExtend.ColumnCount - 1].SizeType = SizeType.Absolute; this.tableLayoutPanelExtend.ColumnStyles[this.tableLayoutPanelExtend.ColumnCount - 1].Width = 10; this.errorProviderMaster.DataSource = this.marketingIncentiveBLL.MarketingIncentiveMaster; }
private void textBoxFilterText_TextChanged(object sender, EventArgs e) { try { if (this.textBoxFilterText.Text == "") { dataMessageMasterListView.RemoveFilter(); } else { dataMessageMasterListView.ApplyFilter( delegate(DataMessageMaster dataMessageMaster) { if (this.FilterColumnID == EnumFilterColumnID.ProductionDate.Value) { return(this.FilterCompare(dataMessageMaster.ProductionDate.ToString("dd/MM/yyyy"), this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.LogoName.Value) { return(this.FilterCompare(dataMessageMaster.LogoName, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.FactoryName.Value) { return(this.FilterCompare(dataMessageMaster.FactoryName, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.OwnerName.Value) { return(this.FilterCompare(dataMessageMaster.OwnerName, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.CategoryName.Value) { return(this.FilterCompare(dataMessageMaster.CategoryName, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.ProductName.Value) { return(this.FilterCompare(dataMessageMaster.ProductName, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.CoilCode.Value) { return(this.FilterCompare(dataMessageMaster.CoilCode, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.CoilExtension.Value) { return(this.FilterCompare(dataMessageMaster.CoilExtension.ToString(), this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.Remarks.Value) { return(this.FilterCompare(dataMessageMaster.Remarks, this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else if (this.FilterColumnID == EnumFilterColumnID.DataStatusID.Value) { CommonMetaList commonMetaList = new CommonMetaList(); return(this.FilterCompare(commonMetaList.GetDataStatusName(dataMessageMaster.DataStatusID), this.checkBoxMatchCase.Checked, this.checkBoxMatchWholeWord.Checked)); } else { return(false); } } ); } } catch (Exception exception) { GlobalExceptionHandler.ShowExceptionMessageBox(this, exception); } }