/// <summary> /// Generates the code that initializes an approval action builder. /// </summary> /// <param name="assemblyCode"> /// The assembly code. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="process"> /// The process. /// </param> /// <param name="variableName"> /// The approval action builder variable name. /// </param> protected override void InitializeApprovalActionBuilder( StringBuilder assemblyCode, IActionDefinition action, IProcessDefinition process, string variableName) { base.InitializeApprovalActionBuilder(assemblyCode, action, process, variableName); assemblyCode.AppendFormat(@" {0}.AuditLogger = AuditLogCommand.InsertEmailLog; {0}.Rule = new Cebos.Veyron.SharedTypes.ApprovalRule({1});", variableName, action.ApprovalOptions.ApprovalFieldName.ToLiteral()); }
/// <summary> /// Generates the code that initializes an approval action builder. /// </summary> /// <param name="assemblyCode"> /// The assembly code. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="process"> /// The process. /// </param> /// <param name="variableName"> /// The approval action builder variable name. /// </param> protected override void InitializeApprovalActionBuilder(StringBuilder assemblyCode, IActionDefinition action, IProcessDefinition process, string variableName) { base.InitializeApprovalActionBuilder(assemblyCode, action, process, variableName); assemblyCode.AppendFormat(@" {0}.DataContext = new Cebos.Veyron.SharedTypes.SqlServer.Actions.ApprovalActionDataContext(Cebos.Veyron.SharedTypes.ProcessMetadataRepository.Default.GetProcessMetadata<{1}Edit>(), new System.Guid(""{2}""), {3}); ", variableName, process.Name, action.Guid, action.ApprovalOptions.ApprovalFieldName.ToLiteral()); }
/// <summary> /// Generates the code that initializes an assignment action builder. /// </summary> /// <param name="assemblyCode"> /// The assembly code. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="process"> /// The process. /// </param> /// <param name="variableName"> /// The assignment action builder variable name. /// </param> protected override void InitializeAssignmentActionBuilder( StringBuilder assemblyCode, IActionDefinition action, IProcessDefinition process, string variableName) { base.InitializeAssignmentActionBuilder(assemblyCode, action, process, variableName); foreach (var ruleGuid in action.RuleGuid) { var rule = process.RuleDefinitions.FirstOrDefault(r => r.Guid == ruleGuid && r.IsActive); if (rule == null) continue; assemblyCode.AppendFormat(@" {0}.AuditLogger = AuditLogCommand.InsertEmailLog; {0}.Rules.Add({2}Metadata.RuleManager.GetRule(new System.Guid(""{1}"")));", variableName, rule.Guid, process.Name); } }
/// <summary> /// Generates the code that initializes an assignment action builder. /// </summary> /// <param name="assemblyCode"> /// The assembly code. /// </param> /// <param name="action"> /// The action. /// </param> /// <param name="process"> /// The process. /// </param> /// <param name="variableName"> /// The assignment action builder variable name. /// </param> protected override void InitializeAssignmentActionBuilder( StringBuilder assemblyCode, IActionDefinition action, IProcessDefinition process, string variableName) { base.InitializeAssignmentActionBuilder(assemblyCode, action, process, variableName); var roleId = action.AssignmentOptions.RoleId != 0 ? (int?)action.AssignmentOptions.RoleId : null; assemblyCode.AppendFormat( @" {0}.DataContext = new Cebos.Veyron.SharedTypes.SqlServer.Actions.AssignmentActionDataContext(Cebos.Veyron.SharedTypes.ProcessMetadataRepository.Default.GetProcessMetadata<{1}Edit>(), new System.Guid(""{2}""), {3}, {4}, {5}, {6}); ", variableName, process.Name, action.Guid, roleId.ToLiteral(), action.AssignmentOptions.RoleFieldPath.ToLiteral(), action.AssignmentOptions.ResponsibilityFieldPath.ToLiteral(), action.AssignmentOptions.EmailFieldName.ToLiteral()); }