Exemple #1
0
        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;
        }
Exemple #6
0
        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;
        }
Exemple #7
0
        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;
        }