void ChangeStateOnModules(LogicRuleInfo info) {
     var controllerStateRule = ((IControllerStateRule)info.Rule);
     IEnumerable<string> assemblies = GetAssemblies(controllerStateRule);
     var controllers = GetControllers(assemblies);
     foreach (Controller controller in controllers)
         controller.Active[ActiveObjectTypeHasControllerRules] = !info.Active;
 }
Example #2
0
 public LogicRuleExecutingEventArgs(LogicRuleInfo info, bool cancel,
                                    ExecutionContext executionContext)
 {
     _executionContext = executionContext;
     LogicRuleInfo     = info;
     Cancel            = cancel;
 }
Example #3
0
        bool TemplateContextGroupIsValid(LogicRuleInfo <TModelLogicRule> info)
        {
            var frameTemplateContextsGroup      = GetModelLogic().FrameTemplateContextsGroup;
            var modelFrameTemplateContextsGroup = frameTemplateContextsGroup.FirstOrDefault(templateContexts => templateContexts.Id == info.Rule.FrameTemplateContextGroup);

            return(modelFrameTemplateContextsGroup == null || modelFrameTemplateContextsGroup.FirstOrDefault(context => context.Name + "Context" == Frame.Context) != null);
        }
 void CustomProcessSelectedItem(LogicRuleInfo info, IObjectViewRule objectViewRule) {
     var customProcessListViewSelectedItemEventArgs = ((CustomProcessListViewSelectedItemEventArgs) info.EventArgs);
     var type = objectViewRule.ObjectView.ModelClass.TypeInfo.Type;
     var collectionSource = Application.CreateCollectionSource(Application.CreateObjectSpace(type), type,objectViewRule.ObjectView.Id);
     var showViewParameters = customProcessListViewSelectedItemEventArgs.InnerArgs.ShowViewParameters;
     showViewParameters.CreatedView = Application.CreateListView((IModelListView) objectViewRule.ObjectView,collectionSource, true);
     customProcessListViewSelectedItemEventArgs.Handled = true;
 }
Example #5
0
 void ExecuteCore(LogicRuleInfo logicRuleInfo, ExecutionContext executionContext) {
     var args = new LogicRuleExecutingEventArgs(logicRuleInfo, false, executionContext);
     OnLogicRuleExecuting(args);
     if (!args.Cancel) {
         OnLogicRuleExecute(new LogicRuleExecuteEventArgs(logicRuleInfo, executionContext));
     }
     OnLogicRuleExecuted(new LogicRuleExecuteEventArgs(logicRuleInfo, executionContext));
 }
 void ModifyClientEvent(ASPxGlobalEvents asPxGlobalEvents, LogicRuleInfo<IAdditionalViewControlsRule> info) {
     if (info.Active)
         asPxGlobalEvents.ClientSideEvents.EndCallback =
             "function(s, e) { DXUpdateSplitterSize();DXMoveFooter(); if(s != TopCallBackPanel&&s != BottomCallBackPanel) {TopCallBackPanel.PerformCallback();BottomCallBackPanel.PerformCallback();};  }";
     else {
         asPxGlobalEvents.ClientSideEvents.EndCallback =
             "function(s, e) { DXUpdateSplitterSize();DXMoveFooter(); }";
     }
 }
Example #7
0
        void ExecuteCore(LogicRuleInfo logicRuleInfo, ExecutionContext executionContext)
        {
            var args = new LogicRuleExecutingEventArgs(logicRuleInfo, false, executionContext);

            OnLogicRuleExecuting(args);
            if (!args.Cancel)
            {
                OnLogicRuleExecute(new LogicRuleExecuteEventArgs(logicRuleInfo, executionContext));
            }
            OnLogicRuleExecuted(new LogicRuleExecuteEventArgs(logicRuleInfo, executionContext));
        }
Example #8
0
        void ForceExecutionCore(LogicRuleInfo <TModelLogicRule> logicRuleInfo, ExecutionContext executionContext)
        {
            var args = new LogicRuleExecutingEventArgs <TModelLogicRule>(logicRuleInfo, false, executionContext);

            OnLogicRuleExecuting(args);
            if (!args.Cancel)
            {
                ExecuteRule(logicRuleInfo, executionContext);
            }
            OnLogicRuleExecuted(new LogicRuleExecutedEventArgs <TModelLogicRule>(logicRuleInfo, executionContext));
        }
 protected void ChangeState(LogicRuleInfo info) {
     var rule = ((IControllerStateRule)info.Rule);
     Controller controller = Frame.GetController(rule.ControllerType);
     if (rule.ControllerState == ControllerState.Register) {
         if (!controller.Active) {
             Frame.RegisterController(controller);
         }
     }
     else{
         controller.Active[ActiveObjectTypeHasControllerRules] = info.InvertCustomization || ((IControllerStateRule)info.Rule).ControllerState == ControllerState.Enabled;
     }
 }
        protected override void AddControl(object control, object controls, LogicRuleInfo<IAdditionalViewControlsRule> info) {
            var supportAdditionalViewControls = Frame.Template as ISupportAdditionalViewControls;
            if (supportAdditionalViewControls!=null) {
                var asPxCallbackPanel = supportAdditionalViewControls.TopPanel;
                if (info.Rule.Position == Position.Bottom)
                    asPxCallbackPanel = supportAdditionalViewControls.BottomPanel;
                var control1 = ((Control)control);
                control1.Visible = info.Active;
                asPxCallbackPanel.Controls.Add(control1);
                ModifyClientEvent(supportAdditionalViewControls.AsPxGlobalEvents, info);
            }

        }
 protected override void InitializeControl(object control, LogicRuleInfo<IAdditionalViewControlsRule> logicRuleInfo,
                                      AdditionalViewControlsProviderCalculator additionalViewControlsProviderCalculator,
                                      ExecutionContext executionContext) {
     base.InitializeControl(control, logicRuleInfo, additionalViewControlsProviderCalculator, executionContext);
     var value = (Control)control;
     if (logicRuleInfo.Rule.Position != Position.DetailViewItem) {
         if (logicRuleInfo.Rule.Position == Position.Bottom)
             value.Dock = DockStyle.Bottom;
         else if (logicRuleInfo.Rule.Position == Position.Top)
             value.Dock = DockStyle.Top;
     } else {
         value.Dock = DockStyle.Fill;
     }
 }
 EmailTemplateEngine.Email CreateEmail(LogicRuleInfo logicRuleInfo, EmailRule emailRule, IModelSmtpClientContext modelSmtpClientContext, IEmailTemplate emailTemplateObject, IModelApplicationEmail modelApplicationEmail) {
     var templateEngine = new EmailTemplateEngine.EmailTemplateEngine(emailTemplateObject);
     var email = templateEngine.Execute(logicRuleInfo.Object, emailRule.ID);
     if (emailRule.CurrentObjectEmailMember != null) {
         var toEmail = emailRule.CurrentObjectEmailMember.MemberInfo.GetValue(logicRuleInfo.Object) as string;
         email.To.Add(toEmail);
     }
     if (!string.IsNullOrEmpty(emailRule.EmailReceipientsContext)) {
         AddReceipients(emailRule, modelApplicationEmail, email,logicRuleInfo.Object);
     }
     email.From = modelSmtpClientContext.SenderEmail;
     modelSmtpClientContext.ReplyToEmails.Split(';').Each(s => email.ReplyTo.Add(s));
     return email.To.Count == 0 ? null : email;
 }
Example #13
0
 LogicRuleInfo <TModelLogicRule> GetInfo(View view, object currentObject, TModelLogicRule rule, ExecutionContext executionContext, bool invertCustomization, ActionBase action)
 {
     if (action != null || ExecutionContextIsValid(executionContext, rule))
     {
         LogicRuleInfo <TModelLogicRule> info = CalculateLogicRuleInfo(currentObject, rule, action);
         if (info != null && TemplateContextIsValid(info) && ViewIsRoot(info))
         {
             info.InvertingCustomization = invertCustomization;
             if (info.InvertingCustomization)
             {
                 info.Active = !info.Active;
             }
             info.View = view;
             return(info);
         }
     }
     return(null);
 }
 void CustomizeShowViewParameters(LogicRuleInfo info, IObjectViewRule objectViewRule) {
     var customizeShowViewParametersEventArgs = ((CustomizeShowViewParametersEventArgs) info.EventArgs);
     var createdView = customizeShowViewParametersEventArgs.ShowViewParameters.CreatedView;
     if (createdView is DetailView) {
         _defaultObjectView = createdView.Model;
         customizeShowViewParametersEventArgs.ShowViewParameters.Controllers.Add(new InfoController(true){
             Model = _defaultObjectView
         });
         createdView.SetModel(objectViewRule.ObjectView);
     }
 }
 void ProcessActions(LogicRuleInfo info, IObjectViewRule objectViewRule) {
     var createdView = ((ActionBaseEventArgs)info.EventArgs).ShowViewParameters.CreatedView;
     if (createdView.Model.GetType() == objectViewRule.ObjectView.GetType())
         createdView.SetModel(objectViewRule.ObjectView);
 }
 public LogicRuleExecuteEventArgs(LogicRuleInfo info, ExecutionContext executionContext) {
     _executionContext = executionContext;
     LogicRuleInfo = info;
 }
 public LogicRuleExecuteEventArgs(LogicRuleInfo info, ExecutionContext executionContext)
 {
     _executionContext = executionContext;
     LogicRuleInfo     = info;
 }
Example #18
0
 protected virtual bool ViewIsRoot(LogicRuleInfo <TModelLogicRule> info)
 {
     return(!(info.Rule.IsRootView.HasValue) || info.Rule.IsRootView == View.IsRoot);
 }
 protected virtual void AddControl(object control, object controls, LogicRuleInfo info) {
     controls.CallMethod("Add", new[]{control});
 }
 protected override object GetControl(Type controlType, object o, LogicRuleInfo<IAdditionalViewControlsRule> info) {
     object control = base.GetControl(controlType, o, info);
     if (control is ISupportLayoutManager) {
         if (info.Rule.Position != Position.DetailViewItem)
             throw new ArgumentException("Rule:" + info.Rule.Id + " position should be set to " + Position.DetailViewItem);
         if (RuleToLayoutMap.ContainsKey(info.Rule.Id))
             ((ISupportLayoutManager)control).LayoutItem = RuleToLayoutMap[info.Rule.Id];
     }
     return control;
 }
Example #21
0
        protected virtual bool TemplateContextIsValid(LogicRuleInfo <TModelLogicRule> info)
        {
            var frameTemplateContext = info.Rule.FrameTemplateContext;

            return(frameTemplateContext != FrameTemplateContext.All ? frameTemplateContext + "Context" == Frame.Context : TemplateContextGroupIsValid(info));
        }
 void EnableDisableAction(LogicRuleInfo info, ActionBase actionBase) {
     actionBase.Enabled[ActiveObjectTypeHasActionRules] = info.InvertCustomization || ((IActionStateRule)info.Rule).ActionState != ActionState.Disabled;
 }
 void EnableDisableAction(LogicRuleInfo info, ActionBase actionBase) {
     if (info.InvertCustomization)
         actionBase.Enabled[ActiveObjectTypeHasActionRules] = true;
     else
         actionBase.Enabled[ActiveObjectTypeHasActionRules] = !info.Active&&!info.InvertCustomization;
 }
Example #24
0
 public abstract void ExecuteRule(LogicRuleInfo <TModelLogicRule> info, ExecutionContext executionContext);
 protected override void RemoveControl(IList controls, object firstOrDefault, LogicRuleInfo<IAdditionalViewControlsRule> info) {
     if (info.Rule.Position != Position.DetailViewItem)
         base.RemoveControl(controls, firstOrDefault, info);
 }
 void ActivateDeActivateAction(LogicRuleInfo info, ActionBase actionBase) {
     if (info.InvertCustomization)
         actionBase.Active[ActiveObjectTypeHasActionRules] = true;
     else
         actionBase.Active[ActiveObjectTypeHasActionRules] = !info.Active;
 }
 public LogicRuleExecutingEventArgs(LogicRuleInfo info, bool cancel,
                                    ExecutionContext executionContext) {
     _executionContext = executionContext;
     LogicRuleInfo = info;
     Cancel = cancel;
 }
 void ModifyClientEvent(ASPxGlobalEvents asPxGlobalEvents, LogicRuleInfo info) {
     asPxGlobalEvents.ClientSideEvents.EndCallback = info.Active
                                                         ? "function(s, e) { DXUpdateSplitterSize();DXMoveFooter(); if(s != TopCallBackPanel&&s != BottomCallBackPanel) {TopCallBackPanel.PerformCallback();BottomCallBackPanel.PerformCallback();};  }"
                                                         : "function(s, e) { DXUpdateSplitterSize();DXMoveFooter(); }";
 }
 void ActivateDeActivateAction(LogicRuleInfo info, ActionBase actionBase) {
     actionBase.Active[ActiveObjectTypeHasActionRules] = info.InvertCustomization || ((IActionStateRule)info.Rule).ActionState != ActionState.Hidden;
 }