示例#1
0
 public DeadLineBuilder(string name, DeadlineUsages usage)
 {
     _deadLine = new HumanTaskDefinitionDeadLine
     {
         Name  = name,
         Usage = usage
     };
 }
 public static HumanTaskDefinitionDeadLineResult ToDto(HumanTaskDefinitionDeadLine humanTaskDefinitionDeadLine)
 {
     return(new HumanTaskDefinitionDeadLineResult
     {
         For = humanTaskDefinitionDeadLine.For,
         Id = humanTaskDefinitionDeadLine.Id,
         Name = humanTaskDefinitionDeadLine.Name,
         Until = humanTaskDefinitionDeadLine.Until,
         Usage = Enum.GetName(typeof(DeadlineUsages), humanTaskDefinitionDeadLine.Usage).ToUpperInvariant(),
         Escalations = humanTaskDefinitionDeadLine.Escalations.Select(_ => EscalationResult.ToDto(_)).ToList()
     });
 }
示例#3
0
        public virtual DateTime?Evaluate(HumanTaskDefinitionDeadLine deadLine, BaseExpressionContext expressionContext)
        {
            DateTime?nextUTC = null;

            if (!string.IsNullOrWhiteSpace(deadLine.Until))
            {
                var interval = ISO8601Parser.ParseTimeInterval(deadLine.Until);
                if (interval != null)
                {
                    nextUTC = interval.EndDateTime;
                }
            }

            if (nextUTC == null && !string.IsNullOrWhiteSpace(deadLine.For))
            {
                nextUTC = ExpressionParser.GetDateTime(deadLine.For, expressionContext);
            }

            return(nextUTC);
        }