protected override Boolean handleDo(DoStatementNode doStatement, HashSet <StatementNode> visited) { if (!handleStatement(doStatement.Statement, visited) || !ReachabilityChecker.isEndPointReachable(doStatement.Statement)) { return(Boolean.FALSE); } AssignmentState state = expressionChecker.handleExpression(doStatement.Condition, visited, true); switch (state) { case Assigned: case AssignedAfterFalse: return(Boolean.FALSE); case AssignedAfterTrue: return(Boolean.TRUE); default: var cinfo = doStatement.Condition.getUserData(typeof(ExpressionInfo)); if (cinfo.IsConstant) { return((Boolean)cinfo.Value); } break; } return(Boolean.TRUE); }
public async Task <bool> SetEvaluationStateAsync(int id, string owner, AssignmentState state) { using (var context = this.contextFactory.Create()) { try { var dbAssignment = await context.Assignments.FirstOrDefaultAsync(a => a.Id == id && a.Owner.Equals(owner)); if (dbAssignment != null) { dbAssignment.State = state; context.Entry(dbAssignment).State = EntityState.Modified; await context.SaveChangesAsync(); return(true); } } catch (Exception ex) { } return(false); } }