Пример #1
0
        private void CollectionChanged(ObservableList <object> collection, NodeViewModel node, NotifyCollectionChangedEventArgs e)
        {
            if (updatingCollection)
            {
                return;
            }

            updatingCollection = true;

            var newEnumValue = EnumExtensions.GetEnum(node.Type, collection.Cast <Enum>());

            if (e.OldItems != null)
            {
                foreach (var oldItem in e.OldItems)
                {
                    newEnumValue = (Enum)Enum.ToObject(node.Type, System.Convert.ToUInt64(newEnumValue) & ~System.Convert.ToUInt64(oldItem));
                }
            }
            if (e.NewItems != null)
            {
                foreach (var oldItem in e.NewItems)
                {
                    newEnumValue = (Enum)Enum.ToObject(node.Type, System.Convert.ToUInt64(newEnumValue) | System.Convert.ToUInt64(oldItem));
                }
            }

            var flags = newEnumValue.GetAllFlags().ToList();

            foreach (var item in collection.ToList())
            {
                if (!flags.Contains(item))
                {
                    collection.Remove(item);
                }
            }

            foreach (var flag in flags)
            {
                if (!collection.Contains(flag))
                {
                    collection.Add(flag);
                }
            }

            if (!Equals(node.NodeValue, EnumExtensions.GetEnum(node.Type, collection.Cast <Enum>())))
            {
                node.NodeValue = EnumExtensions.GetEnum(node.Type, collection.Cast <Enum>());
            }

            updatingCollection = false;
        }
Пример #2
0
 private void okBtn_Click(object sender, RoutedEventArgs e)
 {
     OKButtonClicked = true;
     mActivity.MappedErrorHandlers.Clear();
     mActivity.MappedErrorHandlers = new ObservableList <Guid>(lstCurrentBusinessFlowErrorHandler.Cast <ErrorHandler>().Where(x => x.IsSelected).Select(x => x.Guid));
     _pageGenericWin.Close();
 }
Пример #3
0
        public override List <ObservableList <ActInputValue> > GetInputValueListForVEProcessing()
        {
            List <ObservableList <ActInputValue> > list = new List <ObservableList <ActInputValue> >();
            List <ActInputValue> AIVList = APIModelParamsValue.Cast <ActInputValue>().ToList();

            list.Add(General.ConvertListToObservableList(AIVList));
            return(list);
        }
Пример #4
0
        public static bool CheckForItemWithDuplicateName(UploadItemSelection selectedItem)
        {
            List <RepositoryItemBase>        existingRepoItems = new List <RepositoryItemBase>();
            ObservableList <Activity>        activities        = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Activity>();
            ObservableList <Act>             SharedActions     = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <Act>();
            ObservableList <VariableBase>    variables         = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <VariableBase>();
            ObservableList <ActivitiesGroup> activitiesGroup   = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <ActivitiesGroup>();

            if (selectedItem.UsageItem is ActivitiesGroup)
            {
                existingRepoItems = activitiesGroup.Cast <RepositoryItemBase>().ToList();
            }
            else if (selectedItem.UsageItem is Activity)
            {
                existingRepoItems = activities.Cast <RepositoryItemBase>().ToList();
            }
            else if (selectedItem.UsageItem is Act)
            {
                existingRepoItems = SharedActions.Cast <RepositoryItemBase>().ToList();
            }
            else if (selectedItem.UsageItem is VariableBase)
            {
                existingRepoItems = variables.Cast <RepositoryItemBase>().ToList();
            }

            if (selectedItem.ItemUploadType == UploadItemSelection.eItemUploadType.Overwrite)
            {
                existingRepoItems.Remove(selectedItem.ExistingItem);
            }

            foreach (object o in existingRepoItems)
            {
                if (((RepositoryItemBase)o).GetNameForFileName() == selectedItem.ItemName)
                {
                    return(true);
                }
            }
            return(false);
        }