private void _animatedThreadWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { var filteredCollection = _collectionFilter.GatherDirectives(); listViewKits.SetItemsArray(filteredCollection.ToArray()); dictionaryComboProduct.Type = typeof(Product); dictionaryComboStandard.Type = typeof(GoodStandart); Program.MainDispatcher.ProcessControl(dictionaryComboStandard); Program.MainDispatcher.ProcessControl(dictionaryComboProduct); FormControlAttribute fca = (FormControlAttribute) typeof(Product) .GetProperty("GoodsClass") .GetCustomAttributes(typeof(FormControlAttribute), false) .FirstOrDefault(); if (fca != null) { comboBoxDetailClass.RootNodesNames = fca.TreeDictRootNodes; } comboBoxDetailClass.Type = typeof(GoodsClass); comboBoxMeasure.Items.Clear(); comboBoxMeasure.Items.AddRange(Measure.GetByCategories(new[] { MeasureCategory.Mass, MeasureCategory.EconomicEntity })); dataGridViewControlSuppliers.ViewedTypeProperties.AddRange(new[] { KitSuppliersRelation.SupplierProperty, KitSuppliersRelation.CostNewProperty, KitSuppliersRelation.CostOverhaulProperty, KitSuppliersRelation.CostServiceableProperty, }); dataGridViewControlSuppliers.ViewedType = typeof(KitSuppliersRelation); }
/// <summary> /// Устанавливает заголовки /// </summary> private void SetHeaders() { List <PropertyInfo> properties = GetTypeProperties(); int sum = 0; _columnHeaderList.Clear(); ColumnHeader columnHeader; foreach (PropertyInfo propertyInfo in properties) { FormControlAttribute attr = (FormControlAttribute)propertyInfo.GetCustomAttributes(typeof(FormControlAttribute), false)[0]; columnHeader = new ColumnHeader(); columnHeader.Width = attr.Width; columnHeader.Text = attr.Title; columnHeader.Tag = propertyInfo.PropertyType; _columnHeaderList.Add(columnHeader); if (sum + attr.Width > listViewMain.Width && sum + attr.Width <= listViewMain.MaximumSize.Width) { sum += attr.Width; listViewMain.Width = sum; } } listViewMain.Columns.AddRange(_columnHeaderList.ToArray()); }
/// <summary> /// Обновляет контрол /// </summary> public void UpdateControl() { if (_isStore) { labelLocation.Visible = true; dictionaryComboBoxLocation.Visible = true; dictionaryComboBoxLocation.Type = typeof(Locations); comboBoxStorePosition.Location = textBoxPosition.Location; //new Point(103, 344); comboBoxStorePosition.Visible = true; comboBoxStorePosition.Items.Clear(); comboBoxStorePosition.Items.AddRange(ComponentStorePosition.Items.ToArray()); comboBoxStorePosition.SelectedIndex = 3; Controls.Remove(labelAircraftTSNCSN); Controls.Remove(lifelengthViewerAircraftTCSNOnInstall); Controls.Remove(labelTCSI); Controls.Remove(lifelengthViewerComponentTCSI); FormControlAttribute fca = (FormControlAttribute) typeof(Component) .GetProperty("GoodsClass") .GetCustomAttributes(typeof(FormControlAttribute), false) .FirstOrDefault(); if (fca != null) { comboBoxComponentType.RootNodesNames = fca.TreeDictRootNodes; } comboBoxComponentType.Type = typeof(GoodsClass); comboBoxComponentType.SelectedItem = GoodsClass.AircraftComponents; } else { comboBoxComponentType.RootNodesNames = new [] { "ComponentsAndParts", "ProductionAuxiliaryEquipment" }; comboBoxComponentType.Type = typeof(GoodsClass); comboBoxComponentType.SelectedItem = GoodsClass.AircraftComponents; } comboBoxModel.Type = typeof(ComponentModel); comboBoxModel.SelectedItem = null; comboBoxModel.Focus(); Program.MainDispatcher.ProcessControl(comboBoxModel); comboBoxAtaChapter.UpdateInformation(); comboBoxMaintenenceType.Items.Clear(); comboBoxMaintenenceType.Items.AddRange(MaintenanceControlProcess.Items.ToArray()); comboBoxMaintenenceType.SelectedItem = MaintenanceControlProcess.OC; comboBoxStatus.Items.Clear(); foreach (object o in Enum.GetValues(typeof(ComponentStatus))) { comboBoxStatus.Items.Add(o); } comboBoxStatus.SelectedItem = ComponentStatus.New; ManufactureDate = DateTime.Today; dateTimePickerDeliveryDate.Value = DateTime.Today; InstallationDate = DateTime.Today; DateAsOf = DateTime.Today; }
private List <PropertyInfo> GetTypeProperties() { if (_type == null) { return(new List <PropertyInfo>()); } //определение своиств, имеющих атрибут "отображаемое в списке" List <PropertyInfo> properties = _type.GetProperties().Where(p => p.GetCustomAttributes(typeof(FormControlAttribute), false).Length != 0).ToList(); //поиск своиств у которых задан порядок отображения //своиства, имеющие порядок отображения Dictionary <int, PropertyInfo> orderedProperties = new Dictionary <int, PropertyInfo>(); //своиства, НЕ имеющие порядок отображения List <PropertyInfo> unOrderedProperties = new List <PropertyInfo>(); foreach (PropertyInfo propertyInfo in properties) { FormControlAttribute lvda = (FormControlAttribute) propertyInfo.GetCustomAttributes(typeof(FormControlAttribute), false).FirstOrDefault(); if (lvda.Order > 0) { orderedProperties.Add(lvda.Order, propertyInfo); } else { unOrderedProperties.Add(propertyInfo); } } var ordered = orderedProperties.OrderBy(p => p.Key).ToList(); properties.Clear(); properties.AddRange(ordered.Select(keyValuePair => keyValuePair.Value)); properties.AddRange(unOrderedProperties); return(properties); }
/// <summary> /// Обновляет значения полей /// </summary> public void FillControls() { _existInfos = null; _existInfos = GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <StockComponentInfoDTO, StockComponentInfo>(new Filter("StoreID", _stockComponentInfo.StoreId)); comboBoxDetailClass.SelectedIndexChanged -= ComboBoxDetailClassSelectedIndexChanged; comboBoxMeasure.SelectedIndexChanged -= ComboBoxMeasureSelectedIndexChanged; FormControlAttribute fca = (FormControlAttribute) typeof(StockComponentInfo) .GetProperty("GoodsClass") .GetCustomAttributes(typeof(FormControlAttribute), false) .FirstOrDefault(); if (fca != null) { comboBoxDetailClass.RootNodesNames = fca.TreeDictRootNodes; } comboBoxDetailClass.Type = typeof(GoodsClass); comboBoxMeasure.Items.Clear(); comboBoxMeasure.Items.AddRange(Measure.Items.ToArray()); comboBoxDetailClass.SelectedItem = _stockComponentInfo.GoodsClass; textBoxPartNumber.Text = _stockComponentInfo.PartNumber; textBoxDescription.Text = _stockComponentInfo.Description; metroTextBox1.Text = _stockComponentInfo.AccessoryDescription?.ToString(); comboBoxMeasure.SelectedItem = _stockComponentInfo.Measure; numericUpDownQuantity.Value = (decimal)_stockComponentInfo.ShouldBeOnStock; Product accessoryDescription; GoodStandart accessoryStandart; if ((accessoryDescription = _stockComponentInfo.AccessoryDescription) != null) { comboBoxDetailClass.SelectedItem = accessoryDescription.GoodsClass; comboBoxDetailClass.Enabled = false; comboBoxMeasure.Enabled = false; textBoxPartNumber.ReadOnly = true; //textBoxStandart.Enabled = false; textBoxDescription.ReadOnly = true; comboBoxMeasure.SelectedItem = accessoryDescription.Measure; textBoxStandart.Text = accessoryDescription.Standart != null?accessoryDescription.Standart.ToString() : ""; textBoxPartNumber.Text = accessoryDescription.PartNumber; textBoxDescription.Text = accessoryDescription.Description; } else if (_stockComponentInfo.Standart != null) { accessoryStandart = _stockComponentInfo.Standart; comboBoxDetailClass.SelectedItem = accessoryStandart.GoodsClass; comboBoxDetailClass.Enabled = false; //comboBoxMeasure.Enabled = false; textBoxPartNumber.ReadOnly = true; textBoxDescription.ReadOnly = true; //comboBoxMeasure.SelectedItem = accessoryStandart.Measure; textBoxStandart.Text = accessoryStandart.ToString(); textBoxPartNumber.Text = accessoryStandart.PartNumber; textBoxDescription.Text = accessoryStandart.Description; } SetForDetailClass(); SetForMeasure(); comboBoxDetailClass.SelectedIndexChanged += ComboBoxDetailClassSelectedIndexChanged; comboBoxMeasure.SelectedIndexChanged += ComboBoxMeasureSelectedIndexChanged; }
private void UpdateInformation() { comboBoxDefaultProduct.Items.Clear(); if (_currentKit.ItemId <= 0) { buttonDelete.Visible = false; ButtonAdd.Visible = false; labelProducts.Visible = false; dataGridViewProducts.Visible = false; } else { var products = GlobalObjects.PurchaseCore.GetProducts(_currentKit.ItemId, true); foreach (var product in products) { comboBoxDefaultProduct.Items.Add(product); if (product.ItemId == _currentKit.DefaultProductId) { comboBoxDefaultProduct.SelectedItem = product; } } dataGridViewProducts.ViewedType = typeof(Product); dataGridViewProducts.SetItemsArray(products.ToArray()); } //comboBoxDetailClass.Items.Clear(); //comboBoxDetailClass.Items.AddRange(new object[] { DetailClass.Component, DetailClass.ConsumablePart, DetailType.CTE, DetailClass.FLM, DetailClass.Kit, DetailClass.Tool, }); FormControlAttribute fca = (FormControlAttribute) _currentKit.GetType() .GetProperty("GoodsClass") .GetCustomAttributes(typeof(FormControlAttribute), false) .FirstOrDefault(); if (fca != null) { comboBoxDetailClass.RootNodesNames = fca.TreeDictRootNodes; } comboBoxDetailClass.Type = typeof(GoodsClass); //comboBoxMeasure.Items.Clear(); //comboBoxMeasure.Items.AddRange(Measure.GetByCategories(new[] { MeasureCategory.Mass, MeasureCategory.EconomicEntity })); if (_currentKit == null) { return; } //numericCostNew.Enabled = true; //numericCostServiceable.Enabled = true; //numericCostOverhaul.Enabled = true; //if (_currentKit.DetailType == DetailType.CTE) // comboBoxDetailClass.SelectedItem = _currentKit.DetailType; //else comboBoxDetailClass.SelectedItem = _currentKit.GoodsClass; comboBoxDetailClass.SelectedItem = _currentKit.GoodsClass; //comboBoxMeasure.SelectedItem = _currentKit.Measure; textBoxName.Text = _currentKit.FullName; textBoxPartNumber.Text = _currentKit.PartNumber; textBoxDescription.Text = _currentKit.Description; //numericCostNew.Value = (decimal)_currentKit.CostNew; //numericCostServiceable.Value = (decimal)_currentKit.CostServiceable; //numericCostOverhaul.Value = (decimal)_currentKit.CostOverhaul; textBoxRemarks.Text = _currentKit.Remarks; }
private void UpdateInformation() { comboBoxStandart.SelectedIndexChanged -= ComboBoxStandartSelectedIndexChanged; textBoxRemarks.Text = string.Empty; comboBoxStandart.Type = typeof(GoodStandart); Program.MainDispatcher.ProcessControl(comboBoxStandart); FormControlAttribute fca = (FormControlAttribute) typeof(Product) .GetProperty("GoodsClass") .GetCustomAttributes(typeof(FormControlAttribute), false) .FirstOrDefault(); if (fca != null) { comboBoxDetailClass.RootNodesNames = fca.TreeDictRootNodes; } comboBoxDetailClass.Type = typeof(GoodsClass); comboBoxMeasure.Items.Clear(); comboBoxMeasure.Items.AddRange(Measure.GetByCategories(new[] { MeasureCategory.Mass, MeasureCategory.EconomicEntity })); comboBoxMeasure.Items.Add(Measure.Liter); comboBoxMeasure.Items.Add(Measure.Gallon); comboBoxMeasure.Items.Add(Measure.Quart); comboBoxMeasure.Items.Add(Measure.SquareMeter); comboBoxMeasure.Items.Add(Measure.Foot); comboBoxMeasure.Items.Add(Measure.Miles); comboBoxMeasure.Items.Add(Measure.SquareFoot); comboBoxMeasure.Items.Add(Measure.Metres); comboBoxMeasure.Items.Add(Measure.Centimeters); if (_currentKit == null) { return; } comboBoxDetailClass.SelectedItem = GoodsClass.KIT; comboBoxMeasure.SelectedItem = Measure.Unit; UpdateByProduct(_currentKit.Product); Product accessoryDescription; if ((accessoryDescription = _currentKit.Product) != null) { comboBoxDetailClass.SelectedItem = accessoryDescription.GoodsClass; comboBoxDetailClass.Enabled = false; comboBoxMeasure.Enabled = false; textBoxPartNumber.ReadOnly = true; comboBoxStandart.Enabled = false; textBoxDescription.ReadOnly = true; //linkLabelEditSupplier.Enabled = true; comboBoxMeasure.SelectedItem = accessoryDescription.Measure; comboBoxStandart.SelectedItem = accessoryDescription.Standart; textBoxPartNumber.Text = accessoryDescription.PartNumber; textBoxDescription.Text = accessoryDescription.Description; textBoxReference.Text = accessoryDescription.Reference; //textBoxSuppliers.Text = accessoryDescription.Suppliers.ToString(); } else if (_currentKit.Standart != null) { GoodStandart accessoryStandart = _currentKit.Standart; comboBoxDetailClass.SelectedItem = accessoryStandart.GoodsClass; comboBoxDetailClass.Enabled = false; //comboBoxMeasure.Enabled = false; textBoxPartNumber.ReadOnly = true; textBoxDescription.ReadOnly = true; //linkLabelEditSupplier.Enabled = true; //comboBoxMeasure.SelectedItem = accessoryStandart.Measure; comboBoxStandart.SelectedItem = accessoryStandart; textBoxPartNumber.Text = accessoryStandart.PartNumber; textBoxDescription.Text = accessoryStandart.Description; textBoxReference.Text = ""; } else { if (_currentKit is Component) { comboBoxDetailClass.SelectedItem = _currentKit.GoodsClass; comboBoxDetailClass.Enabled = false; comboBoxMeasure.Enabled = false; textBoxPartNumber.ReadOnly = true; comboBoxStandart.Enabled = false; textBoxDescription.ReadOnly = true; //linkLabelEditSupplier.Enabled = true; comboBoxMeasure.SelectedItem = _currentKit.Measure; comboBoxStandart.SelectedItem = _currentKit.Standart; textBoxPartNumber.Text = _currentKit.PartNumber; textBoxDescription.Text = _currentKit.Description; textBoxReference.Text = _currentKit.Product?.Reference; //textBoxSuppliers.Text = _currentKit.Suppliers.ToString(); } } textBoxRemarks.Text = _currentKit.Remarks; numericCount.Value = (decimal)_currentKit.Quantity; comboBoxStandart.SelectedIndexChanged += ComboBoxStandartSelectedIndexChanged; }