Esempio n. 1
0
        /// <summary>
        /// Builds collection of item properties.
        /// </summary>
        /// <param name="parametersCount">Parameters count.</param>
        /// <param name="itemPorpertiesCollection">Item properties collection.</param>
        /// <param name="collectionSource">Collection source.</param>
        private void _BuildCollectionSource(int parametersCount,
                                            ArrayList itemPorpertiesCollection,
                                            DataGridCollectionViewSource collectionSource)
        {
            Debug.Assert(null != itemPorpertiesCollection);
            Debug.Assert(null != collectionSource);

            collectionSource.ItemProperties.Clear();
            foreach (DataGridItemProperty property in itemPorpertiesCollection)
            {
                if (!property.Name.Equals(DYNAMIC_FIELDS_ALIAS))
                {
                    collectionSource.ItemProperties.Add(property);
                }
                else
                {
                    for (int index = 0; index < parametersCount; ++index)
                    {
                        string valuePath =
                            property.ValuePath + string.Format(DYNAMIC_VALUE_NAME_FORMAT, index);
                        string valueName =
                            _GetDynamicFieldName(index);

                        var newProperty =
                            new DataGridItemProperty(valueName, valuePath, typeof(string));
                        collectionSource.ItemProperties.Add(newProperty);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Builds collection of dynamic capacities
        /// </summary>
        /// <returns></returns>
        private Collection <DataGridItemProperty> _GetDynamicCapacitiesProperties(string baseValuePath, bool isReadonly)
        {
            Collection <DataGridItemProperty> dynamicProperties = new Collection <DataGridItemProperty>();

            for (int i = 0; i < App.Current.Project.CapacitiesInfo.Count; i++)
            {
                string valuePath = baseValuePath + string.Format("Capacities[{0}]", i);
                string valueName = Capacities.GetCapacityPropertyName(i);

                DataGridItemProperty newProperty = new DataGridItemProperty(valueName, valuePath, typeof(double));
                newProperty.IsReadOnly = isReadonly;
                dynamicProperties.Add(newProperty);
            }
            return(dynamicProperties);
        }
Esempio n. 3
0
        /// <summary>
        /// Builds collection of dynamic custom oreder properties fields
        /// </summary>
        /// <returns></returns>
        private Collection <DataGridItemProperty> _GetDynamicCustomOrderProperties(string baseValuePath, bool isReadOnly)
        {
            Collection <DataGridItemProperty> dynamicProperties = new Collection <DataGridItemProperty>();

            OrderCustomPropertiesInfo infos = App.Current.Project.OrderCustomPropertiesInfo;

            for (int i = 0; i < infos.Count; i++)
            {
                string valuePath = baseValuePath + string.Format("CustomProperties[{0}]", i);
                string valueName = OrderCustomProperties.GetCustomPropertyName(i);
                Type   type      = (infos[i].Type == OrderCustomPropertyType.Text)? typeof(string) : typeof(double);

                DataGridItemProperty newProperty = new DataGridItemProperty(valueName, valuePath, type);
                newProperty.IsReadOnly = isReadOnly;
                dynamicProperties.Add(newProperty);
            }
            return(dynamicProperties);
        }
Esempio n. 4
0
        /// <summary>
        /// Builds collection of dynamic address fields
        /// </summary>
        /// <returns></returns>
        private Collection <DataGridItemProperty> _GetDynamicAddressProperties(string baseValuePath, bool isReadOnly)
        {
            Collection <DataGridItemProperty> dynamicProperties = new Collection <DataGridItemProperty>();

            AddressField[] addressFields = App.Current.Geocoder.AddressFields;
            for (int i = 0; i < addressFields.Length; i++)
            {
                if (addressFields[i].Visible)
                {
                    string valuePath    = baseValuePath + string.Format("Address[{0}]", addressFields[i].Type.ToString());
                    string propertyName = addressFields[i].Type.ToString();

                    DataGridItemProperty newProperty = new DataGridItemProperty(propertyName, valuePath, typeof(string));
                    newProperty.IsReadOnly = isReadOnly;
                    dynamicProperties.Add(newProperty);
                }
            }
            return(dynamicProperties);
        }