public bool Execute(ActionCallingContext actionCallingContext)
        {
            // Sent events to WPF control from base action
            string itemType = string.Empty;
            string action   = string.Empty;
            string key      = string.Empty;

            actionCallingContext.GetParameter("itemtype", ref itemType);
            actionCallingContext.GetParameter("action", ref action);
            actionCallingContext.GetParameter("key", ref key);

            WPFDialogEventManager wpfDialogEventManager = new WPFDialogEventManager();

            switch (action)
            {
            case "SelectItem":
            case "SaveItem":
            case "PreShowTab":
            case "OpenDatabase":
            case "CreateDatabase":
                wpfDialogEventManager.send("XPartsManagementDialog", action, key);
                break;
            }

            return(true);
        }
        public ItemTypeExampleExampleContent()
        {
            InitializeComponent();

            ViewModel   = new ViewModel();
            DataContext = ViewModel;

            ViewModel.IsReadOnly = _partsManagement.SelectedPartsDatabase.IsReadOnly;

            // Events, called from Action of this Tab
            var dialogEventManager = new WPFDialogEventManager();

            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "SelectItem").Notify += SelectItem;
            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "SaveItem").Notify   += SaveItem;
        }
Exemplo n.º 3
0
        public PartsManagementExtensionContent()
        {
            InitializeComponent();

            ViewModel   = new ViewModel();
            DataContext = ViewModel;

            ViewModel.IsReadOnly = _partsManagement.SelectedPartsDatabase.IsReadOnly;

            // Events, called from Action of this Tab
            WPFDialogEventManager dialogEventManager = new WPFDialogEventManager();

            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "SelectItem").Notify     += SelectItem;
            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "SaveItem").Notify       += SaveItem;
            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "PreShowTab").Notify     += PreShowTab;
            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "OpenDatabase").Notify   += OpenDatabase;
            dialogEventManager.getOnWPFNotifyEvent("XPartsManagementDialog", "CreateDatabase").Notify += CreateDatabase;
        }
        public bool Execute(ActionCallingContext actionCallingContext)
        {
            // Sent events to WPF control from base action
            string itemType = string.Empty;
            string action   = string.Empty;
            string key      = string.Empty;

            actionCallingContext.GetParameter("itemtype", ref itemType);
            actionCallingContext.GetParameter("action", ref action);
            actionCallingContext.GetParameter("key", ref key);

            // Check specific itemType
            if (itemType != ItemType)
            {
                return(true);
            }

            WPFDialogEventManager wpfDialogEventManager = new WPFDialogEventManager();

            switch (action)
            {
            case "SelectItem":
                wpfDialogEventManager.send("XPartsManagementDialog", action, key);
                break;

            case "SaveItem":
                wpfDialogEventManager.send("XPartsManagementDialog", "SaveItem", key);
                break;

            case "GetRootLevel":
                Data.Load();
                actionCallingContext.AddParameter("text", ItemType);
                actionCallingContext.AddParameter("key", "0");
                break;

            case "GetNextLevel":

                string keys  = string.Empty;
                string texts = string.Empty;
                foreach (var itemTypeObject in Data.ItemTypeObjects.OrderBy(obj => obj.Text))
                {
                    if (keys != string.Empty)
                    {
                        keys += "\n";
                    }
                    if (texts != string.Empty)
                    {
                        texts += "\n";
                    }
                    keys  += itemTypeObject.Key;
                    texts += itemTypeObject.Text;
                }
                actionCallingContext.AddParameter("key", keys);
                actionCallingContext.AddParameter("text", texts);
                break;

            case "PreShowTab":
                if (string.IsNullOrEmpty(key) || key == "0")     // Dont show on root level
                {
                    actionCallingContext.AddParameter("show", "0");
                }
                else
                {
                    actionCallingContext.AddParameter("show", "1");
                }
                break;

            case "DeleteItem":
                ItemTypeObject itemTypObjectToRemove = Data.ItemTypeObjects.First(obj => obj.Key.Equals(key));
                Data.ItemTypeObjects.Remove(itemTypObjectToRemove);
                Data.Save();
                break;

            case "CopyItem":
                string newKeyCopy = Guid.NewGuid().ToString();
                string sourceKey  = string.Empty;
                actionCallingContext.GetParameter("sourcekey", ref sourceKey);
                ItemTypeObject sourceItemTypeObject = Data.ItemTypeObjects.First(obj => obj.Key.Equals(sourceKey));

                ItemTypeObject newItemTypeObjectCopy = new ItemTypeObject()
                {
                    Key  = newKeyCopy,
                    Text = sourceItemTypeObject.Text,
                };
                Data.ItemTypeObjects.Add(newItemTypeObjectCopy);
                key = newKeyCopy;
                actionCallingContext.AddParameter("key", key);
                Data.Save();
                break;

            case "NewItem":
                string         newKey            = Guid.NewGuid().ToString();
                ItemTypeObject newItemTypeObject = new ItemTypeObject()
                {
                    Key  = newKey,
                    Text = "New item"
                };
                Data.ItemTypeObjects.Add(newItemTypeObject);
                key = newKey;
                actionCallingContext.AddParameter("key", key);
                Data.Save();
                break;
            }

            return(true);
        }