예제 #1
0
        public static string ConvertToSign(this ActionCondition condition)
        {
            switch (condition)
            {
            case ActionCondition.Equals:
                return("==");

            case ActionCondition.NotEquals:
                return("!=");

            case ActionCondition.Greater:
                return(">");

            case ActionCondition.GreaterOrEquals:
                return(">=");

            case ActionCondition.Less:
                return("<");

            case ActionCondition.LessOrEquals:
                return("<=");

            case ActionCondition.IsEmpty:
                return("Is Empty");

            case ActionCondition.IsNotEmpty:
                return("Is Not Empty");
            }

            throw new ArgumentOutOfRangeException("condition", @"Supplied operation is not supported.");
        }
예제 #2
0
 public void RecreateCondition(int i)
 {
     if (actionConditions != null && actionConditions.Count >= i)
     {
         actionConditions[i] = ActionCondition.GenerateBy(conditions[i]);
     }
 }
예제 #3
0
        /// <summary>
        /// Determines whether the specified condition is binary operator or not.
        /// </summary>
        /// <param name="condition">The condition.</param>
        /// <returns>
        ///  <c>true</c> if the specified condition is binary operator; otherwise, <c>false</c>.
        /// </returns>
        public static bool IsBinaryOperator(this ActionCondition condition)
        {
            switch (condition)
            {
            case ActionCondition.IsEmpty:
            case ActionCondition.IsNotEmpty:
                return(false);

            default:
                return(true);
            }
        }
예제 #4
0
    // Use this for initialization
    public void Update()
    {
        if (actionConditions == null && conditions != null)
        {
            actionConditions = new List <ActionCondition>();

            for (int i = 0; i < conditions.Count; i++)
            {
                actionConditions.Add(ActionCondition.GenerateBy(conditions[i]));
            }
        }

        if (actionConditions != null)
        {
            for (int i = 0; i < actionConditions.Count; i++)
            {
                //Debug.Log("ConditionBasedBehavior::Update - VerifyCondition " + actionConditions[i].VerifyCondition(gameObject));
                if (actionConditions[i].VerifyCondition(gameObject))
                {
                    OnConditionSatisfied();
                }
            }
        }
    }
예제 #5
0
        private bool ConditionIsTrue(IObjectViewModel viewModel, ActionCondition condition)
        {
            if (condition == null)
            {
                return(false);
            }
            var type = condition.Operand.GetType();

            #region Сравнение видимости

            if (type == typeof(ActionVisibilityOperand))
            {
                if (!(condition.Value is ActionVisibilityOperand))
                {
                    ErrorMessage = WrongFormatMessage();
                    return(false);
                }

                var operand = (ActionVisibilityOperand)condition.Operand;
                var value   = viewModel.Properties.GetVisibility();

                switch (operand)
                {
                case ActionVisibilityOperand.Hide:
                    return(!value);

                case ActionVisibilityOperand.Show:
                    return(value);
                }
            }

            #endregion

            ErrorMessage = UnknownOperationMessage;
            return(false);
        }
        public virtual async Task <CustomerAction> UpdateCustomerActionConditionModel(CustomerAction customeraction, ActionCondition condition, CustomerActionConditionModel model)
        {
            condition = model.ToEntity(condition);
            await _customerActionService.UpdateCustomerAction(customeraction);

            //activity log
            await _customerActivityService.InsertActivity("EditCustomerActionCondition", customeraction.Id, _localizationService.GetResource("ActivityLog.EditCustomerActionCondition"), customeraction.Name);

            return(customeraction);
        }
예제 #7
0
        protected void AddActionButton_OnClick(object sender, EventArgs e)
        {
            ScrollTargetHidden.Value = "ActionListHeader";
            if (ActionComboBox.Value != null)
            {
                TypePlaceHolder.Visible = GiftTicketPlaceHolder.Visible = ActionTemplatePrimarySectionPlaceHolder.Visible = ActionTemplateAdditionalSectionPlaceHolder.Visible = false;

                ActionTemplateMainPlaceHolder.Visible = true;
                ActionNameLabel.InnerText             = ActionComboBox.Text;
                SelectedActionValueHidden.Value       = ActionComboBox.Value.ToString();

                if (SelectedActionTemplateType == 2)
                {
                    ActionTemplatePrimarySectionPlaceHolder.Visible = true;
                }

                if (SelectedActionTemplateType == 3)
                {
                    ActionTemplatePrimarySectionPlaceHolder.Visible    = true;
                    ActionTemplateAdditionalSectionPlaceHolder.Visible = true;

                    var actionCondition = new ActionCondition().List_ActionConditions(SelectedActionCodeVal.Value).First();

                    ActionConditionLabel.InnerText = actionCondition.ConditionName;
                    ActionConditionIDHidden.Value  = actionCondition.ConditionID.ToString();

                    ActionConditionValueListHidden.Value = JsonConvert.SerializeObject(actionCondition.ConditionValues.Select(c => new { c.UID, c.Number, c.Caption }));

                    ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), string.Format("loadValueListAutoComplete('#{0}','#{1}');", ActionConditionValueListHidden.ID, ActionConditionTextBox.ID), true);
                }

                if (SelectedActionTemplateType == 6)
                {
                    ActionTemplateAdditionalSectionPlaceHolder.Visible = true;

                    var actionCondition = new ActionCondition().List_ActionConditions(SelectedActionCodeVal.Value).First();

                    ActionConditionLabel.InnerText = actionCondition.ConditionName;
                    ActionConditionIDHidden.Value  = actionCondition.ConditionID.ToString();

                    ActionConditionValueListHidden.Value = JsonConvert.SerializeObject(actionCondition.ConditionValues.Select(c => new { c.UID, c.Number, c.Caption }));

                    ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), string.Format("loadValueListAutoComplete('#{0}','#{1}');", ActionConditionValueListHidden.ID, ActionConditionTextBox.ID), true);
                }

                if (SelectedActionTemplateType == 7)
                {
                    ActionTemplatePrimarySectionPlaceHolder.Visible = true;
                    GiftTicketPlaceHolder.Visible = true;
                }



                if (SelectedActionTemplateType == 4)
                {
                    ActionTemplatePrimarySectionPlaceHolder.Visible    = true;
                    ActionTemplateAdditionalSectionPlaceHolder.Visible = true;
                    TypePlaceHolder.Visible = true;

                    var actionCondition = new ActionCondition().List_ActionConditions(SelectedActionCodeVal.Value).First();

                    ActionConditionLabel.InnerText = actionCondition.ConditionName;
                    ActionConditionIDHidden.Value  = actionCondition.ConditionID.ToString();

                    ActionConditionValueListHidden.Value = JsonConvert.SerializeObject(actionCondition.ConditionValues.Select(c => new { c.UID, c.Number, c.Caption }));

                    ClientScript.RegisterStartupScript(GetType(), Guid.NewGuid().ToString(), string.Format("loadValueListAutoComplete('#{0}','#{1}');", ActionConditionValueListHidden.ID, ActionConditionTextBox.ID), true);
                }

                if (SelectedActionTemplateType == 5)
                {
                    ActionTemplatePrimarySectionPlaceHolder.Visible = true;
                    TypePlaceHolder.Visible = true;
                }
            }
        }
예제 #8
0
        private bool ConditionIsTrue(IVariableWrapper variable, ActionCondition condition)
        {
            if (condition == null)
            {
                return(false);
            }
            var type = condition.Operand.GetType();

            #region Сравнение со строкой

            if (type == typeof(ActionInputOperand))
            {
                if (!(variable is StringVariableWrapper) || !(condition.Value is string))
                {
                    ErrorMessage = WrongFormatMessage(variable);
                    return(false);
                }

                var operand       = (ActionInputOperand)condition.Operand;
                var value         = ((StringVariableWrapper)variable).Value.Trim().ToLower();
                var comparedValue = ((string)condition.Value).Trim().ToLower();

                switch (operand)
                {
                case ActionInputOperand.Set:
                    return(!string.IsNullOrEmpty(value));

                case ActionInputOperand.NotSet:
                    return(string.IsNullOrEmpty(value));

                case ActionInputOperand.Equal:
                    return(string.Equals(value, comparedValue));

                case ActionInputOperand.NotEqual:
                    return(!string.Equals(value, comparedValue));

                case ActionInputOperand.Contains:
                    return(value.Contains(comparedValue));
                }
                ErrorMessage = UnknownOperationMessage;
                return(false);
            }

            #endregion

            #region Сравнение с логическим значением

            if (type == typeof(ActionSelectorOperand))
            {
                if (!(variable is BoolVariableWrapper))
                {
                    ErrorMessage = WrongFormatMessage(variable);
                    return(false);
                }

                var boolVariable = (BoolVariableWrapper)variable;
                var operand      = (ActionSelectorOperand)condition.Operand;

                switch (operand)
                {
                case ActionSelectorOperand.Set:
                    return(boolVariable.IsSet);

                case ActionSelectorOperand.NotSet:
                    return(!boolVariable.IsSet);
                }
                ErrorMessage = UnknownOperationMessage;
                return(false);
            }

            #endregion

            #region Сравнение с датой

            if (type == typeof(ActionDateOperand))
            {
                if (!(variable is DateVariableWrapper))
                {
                    ErrorMessage = WrongFormatMessage(variable);
                    return(false);
                }

                var dateVariable = (DateVariableWrapper)variable;
                var operand      = (ActionDateOperand)condition.Operand;

                switch (operand)
                {
                }

                ErrorMessage = UnknownOperationMessage;
                return(false);
            }

            #endregion

            #region Сравнение со временем

            if (type == typeof(ActionDateOperand))
            {
                if (!(variable is TimeVariableWrapper))
                {
                    ErrorMessage = WrongFormatMessage(variable);
                    return(false);
                }
            }

            #endregion

            ErrorMessage = UnknownOperationMessage;
            return(false);
        }