示例#1
0
        private void downloadItemsClick(object sender, RoutedEventArgs e)
        {
            var innovator = getInnovator();

            if (innovator != null)
            {
                var selectItemTypeDialog = new SelectItemTypeDialog
                {
                    Owner     = this,
                    ItemTypes = _project.ItemTypes,
                };
                if (selectItemTypeDialog.ShowDialog() == true)
                {
                    var itemType = selectItemTypeDialog.SelectedItemType;

                    var itemsRequest = innovator.newItem(itemType.Name, "get");
                    itemsRequest.setAttribute("select", "*");
                    var itemsItem = itemsRequest.apply();

                    var items = new List <Aras.IOM.Item>();
                    for (int i = 0, count = itemsItem.getItemCount(); i < count; i++)
                    {
                        items.Add(itemsItem.getItemByIndex(i));
                    }

                    var selectDialog = new SelectItemsDialog
                    {
                        Owner      = this,
                        Properties = itemType.Properties.Select(property => property.Name).ToList(),
                        Items      = items,
                    };
                    if (selectDialog.ShowDialog() == true)
                    {
                        double x = _project.Items.Max(item => item.Left + _allItemControls[item].ActualWidth);
                        double y = _project.Items.Max(item => item.Top + _allItemControls[item].ActualHeight);

                        const int xOffset = 100;
                        const int yOffset = 50;

                        foreach (var item in selectDialog.SelectedItems)
                        {
                            x += xOffset;
                            y += yOffset;
                            var newItem = new Item(itemType, x, y);
                            foreach (var property in newItem.Properties)
                            {
                                property.Value = item.getProperty(property.Name);
                            }
                            _project.Items.Add(newItem);
                        }
                    }
                }
            }
        }
示例#2
0
        private void addItemMenuClick(object sender, RoutedEventArgs e)
        {
            _viewScreenPopup.IsOpen = false;

            var itemTypesDialog = new SelectItemTypeDialog
            {
                Owner     = this,
                ItemTypes = _project.ItemTypes,
            };

            if (itemTypesDialog.ShowDialog() == true)
            {
                _project.PerformCommand(new AddItemCommand(_project, itemTypesDialog.SelectedItemType, _lastMousePosition.X, _lastMousePosition.Y));
            }
        }
示例#3
0
        private void addRelationshipMenuClick(object sender, RoutedEventArgs e)
        {
            var itemTypesDialog = new SelectItemTypeDialog
            {
                ItemTypes = _item.ItemType.Relationships,
            };

            if (itemTypesDialog.ShowDialog() == true)
            {
                var handler = Volatile.Read(ref OnAddRelationshipRequest);
                if (handler != null)
                {
                    handler(this, itemTypesDialog.SelectedItemType);
                }
            }
        }