/// <summary> /// Создать правила по умолчанию. /// </summary> public static void CreateDefaultContractualRules() { InitializationLogger.Debug("Init: Create default contractual approval rules."); var stages = new List <Enumeration> { StageType.Manager, StageType.Approvers, StageType.Print, StageType.Sign, StageType.Register, StageType.Sending, StageType.CheckReturn, StageType.Notice }; var rule = CreateDefaultRule(Resources.DefaultApprovalRuleNameContracts, Docflow.ApprovalRuleBase.DocumentFlow.Contracts, stages); // Добавить условие по способу отправки и непосредственный руководитель - подписывающий, для созданного правила. if (rule != null) { var deliveryCondition = ContractConditions.Create(); deliveryCondition.ConditionType = Docflow.ConditionBase.ConditionType.DeliveryMethod; var newDeliveryMethod = deliveryCondition.DeliveryMethods.AddNew(); newDeliveryMethod.DeliveryMethod = Docflow.MailDeliveryMethods.GetAll(m => m.Sid == Docflow.Constants.MailDeliveryMethod.Exchange).FirstOrDefault(); deliveryCondition.Save(); var printStageNumber = stages.IndexOf(StageType.Print) + 1; Docflow.PublicInitializationFunctions.Module.AddConditionToRule(rule, deliveryCondition, printStageNumber); var rolesCompareCondition = Docflow.PublicInitializationFunctions.Module.CreateRoleCompareSignatoryAndInitManagerCondition(ContractConditions.Create()); var managerStageNumber = stages.IndexOf(StageType.Manager) + 1; Docflow.PublicInitializationFunctions.Module.AddConditionToRule(rule, rolesCompareCondition, managerStageNumber); } InitializationLogger.Debug("Init: Create default invoice approval rules."); var invoiceStages = new List <Enumeration> { StageType.Manager, StageType.Approvers, StageType.Sign }; var invoiceRule = CreateDefaultInvoiceRule(Resources.DefaultApprovalRuleNameInvoice, invoiceStages); if (invoiceRule != null) { var rolesCompareCondition = Docflow.PublicInitializationFunctions.Module.CreateRoleCompareSignatoryAndInitManagerCondition(Conditions.Create()); var managerStageNumber = invoiceStages.IndexOf(StageType.Manager) + 1; Docflow.PublicInitializationFunctions.Module.AddConditionToRule(invoiceRule, rolesCompareCondition, managerStageNumber); } }
public static IContractCondition CreateContractCondition() { return(ContractConditions.Create()); }