public void Constructor_initialize_new_instance()
        {
            var action = new StandardAction("TEST");

            Assert.NotNull(action);
            Assert.Equal("TEST", action.Type);
            Assert.Null(action.Payload);
        }
        public void Constructor_initialize_new_instance_with_payload()
        {
            var action = new StandardAction("TEST", new Dictionary <string, object>()
            {
                ["FOO"] = "BAR",
            });

            Assert.NotNull(action);
            Assert.Equal("TEST", action.Type);
            Assert.NotNull(action.Payload);
            Assert.Equal("BAR", action.Payload["FOO"]);
        }
Exemple #3
0
        public Action(TabularModel parentTabularModel, Amo.Action Action)
        {
            _parentTabularModel = parentTabularModel;
            _amoAction          = Action;
            _objectDefinition   = "";

            if (_amoAction.Caption != null)
            {
                _objectDefinition += "Caption: " + _amoAction.Caption + "\n";
            }
            _objectDefinition += "Caption is MDX: " + _amoAction.CaptionIsMdx.ToString() + "\n";
            if (_amoAction.Description != null)
            {
                _objectDefinition += "Description: " + _amoAction.Description + "\n";
            }
            _objectDefinition += "Action Type: " + _amoAction.Type.ToString() + "\n";
            if (_amoAction.Target != null)
            {
                _objectDefinition += "Target: " + _amoAction.Target + "\n";
            }
            if (_amoAction.Condition != null)
            {
                _objectDefinition += "Condition: " + _amoAction.Condition + "\n";
            }
            _objectDefinition += "Invocation: " + _amoAction.Invocation.ToString() + "\n\n";

            switch (_amoAction.Type)
            {
            case ActionType.DrillThrough:
                if (_amoAction is DrillThroughAction)
                {
                    DrillThroughAction drillThroughAction = (DrillThroughAction)_amoAction;
                    _objectDefinition += "Drillthrough Columns:\n";
                    foreach (CubeAttributeBinding column in drillThroughAction.Columns)
                    {
                        if (drillThroughAction.Parent.Dimensions.Contains(column.CubeDimensionID) && drillThroughAction.Parent.Dimensions[column.CubeDimensionID].Attributes.Contains(column.AttributeID))
                        {
                            _objectDefinition += "Table: " + drillThroughAction.Parent.Dimensions[column.CubeDimensionID].Name + ", Column: " + drillThroughAction.Parent.Dimensions[column.CubeDimensionID].Attributes[column.AttributeID].Attribute.Name + "\n";
                        }
                    }
                    if (drillThroughAction.Columns.Count > 0)
                    {
                        _objectDefinition += "\n";
                    }
                    _objectDefinition += "Default: " + drillThroughAction.Default.ToString() + "\n";
                    _objectDefinition += "Maximum Rows: " + drillThroughAction.MaximumRows.ToString() + "\n";
                }
                break;

            case ActionType.Report:
                if (_amoAction is ReportAction)
                {
                    ReportAction reportAction = (ReportAction)_amoAction;
                    _objectDefinition += "Report Parameters:\n";
                    foreach (ReportParameter reportParameter in reportAction.ReportParameters)
                    {
                        if (reportParameter.Name != null && reportParameter.Value != null)
                        {
                            _objectDefinition += "Name: " + reportParameter.Name + ", Value: " + reportParameter.Value + "\n";
                        }
                    }
                    if (reportAction.ReportParameters.Count > 0 || reportAction.ReportFormatParameters.Count > 0)
                    {
                        _objectDefinition += "\n";
                    }
                    if (reportAction.ReportServer != null)
                    {
                        _objectDefinition += "Report Server: " + reportAction.ReportServer + "\n";
                    }
                    if (reportAction.Path != null)
                    {
                        _objectDefinition += "Maximum Path: " + reportAction.Path + "\n";
                    }
                }
                break;

            default:
                if (_amoAction is StandardAction)
                {
                    StandardAction standardAction = (StandardAction)_amoAction;
                    if (standardAction.Expression != null)
                    {
                        _objectDefinition += "Expression:\n" + standardAction.Expression + "\n";
                    }
                }
                break;
            }

            //if (_parentTabularModel.ComparisonInfo.OptionsInfo.OptionTranslations)
            //{
            //    _objectDefinition += "\nFormat & Visibility:\n";

            //    _objectDefinition += "Action Translations: ";
            //    if (_amoAction.Translations.Count > 0)
            //    {
            //        _objectDefinition += "[";
            //        foreach (Translation actionTranslation in _amoAction.Translations)
            //        {
            //            _objectDefinition += CultureInfo.GetCultureInfo(actionTranslation.Language).DisplayName + ": " + actionTranslation.Caption + ", ";
            //        }
            //        _objectDefinition = _objectDefinition.Substring(0, _objectDefinition.Length - 2) + "]";
            //    }

            //    if (_parentTabularModel.ComparisonInfo.OptionsInfo.OptionDisplayFolders)
            //    {
            //        _objectDefinition += ", Display Folder Translations: ";
            //        if (_amoAction.Translations.Count > 0)
            //        {
            //            _objectDefinition += "[";
            //            foreach (Translation actionDisplayFolderTranslation in _amoAction.Translations)
            //            {
            //                _objectDefinition += CultureInfo.GetCultureInfo(actionDisplayFolderTranslation.Language).DisplayName + ": " + actionDisplayFolderTranslation.DisplayFolder + ", ";
            //            }
            //            _objectDefinition = _objectDefinition.Substring(0, _objectDefinition.Length - 2) + "]";
            //        }
            //    }
            //    _objectDefinition += "\n";
            //}
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            StandardAction action = new StandardAction();
            action.Name = "New Action";
            action.ID = Guid.NewGuid().ToString();
            action.Type = ActionType.Url;
            action.Invocation = ActionInvocation.Interactive;
            _listActionClones.Add(action);
            cmbAction.Items.Add(action);
            cmbAction.SelectedItem = _listActionClones[_listActionClones.Count - 1];

            string sNameError = string.Empty;
            if (!IsValidActionName(action.Name, out sNameError))
            {
                for (int i = 2; i < 1000000; i++)
                {
                    if (IsValidActionName(action.Name + " " + i, out sNameError))
                    {
                        action.Name = action.Name + " " + i;
                        txtName.Text = action.Name;
                        break;
                    }
                }
            }
            
            List<string> lPerspectives = new List<string>();
            foreach (Perspective p in cube.Perspectives)
            {
                lPerspectives.Add(p.Name);
            }
            if (!_dictActionPerspectives.ContainsKey(action.ID))
                _dictActionPerspectives.Add(action.ID, lPerspectives.ToArray());
            else
                _dictActionPerspectives[action.ID] = lPerspectives.ToArray();
            DisableControls(false, arrEnabledControls);
        }