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; }
public LogicRuleExecutingEventArgs(LogicRuleInfo info, bool cancel, ExecutionContext executionContext) { _executionContext = executionContext; LogicRuleInfo = info; Cancel = cancel; }
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; }
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(); }"; } }
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; }
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; }
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; }
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; }
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; }
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; }