public async Task <ExecutionStatus> Run(CallForSpeechUniqueId id, JudgeId judge, CallForSpeechStatus status) { using var connection = new SqliteConnection(_geekLemonContext.ConnectionString); var q = @"UPDATE CallForSpeakes SET FinalDecision_DecisionBy = @JudgeId, FinalDecision_Date = @Date, Status = @Status WHERE UniqueId = @UniqueId;"; try { var result = await connection.ExecuteAsync(q, new { @JudgeId = judge.Value, @Date = AppTime.Now().ToLongDateString(), @UniqueId = id.Value.ToString(), @Status = (int)status }); return(ExecutionStatus.DbOk()); } catch (Exception ex) { if (ExecutionFlow.Options.ThrowExceptions) { throw; } return(ExecutionStatus.DbError(ex)); } }
public async Task <EvaluateCallForSpeechCommandResponse> Handle(EvaluateCallForSpeechCommand request, CancellationToken cancellationToken) { var idc = new CallForSpeechUniqueId(request.CallForSpeechUniqueId); var databaseOperation = await _callRepository.GetByIdAsync(idc); if (databaseOperation.Success == false) { if (databaseOperation.Reason == Reason.ReturnedNull) { return(new EvaluateCallForSpeechCommandResponse(ResponseStatus.BadQuery)); } if (databaseOperation.Reason == Reason.Error) { return(new EvaluateCallForSpeechCommandResponse(ResponseStatus.DataBaseError)); } } //try //{ // cfs.Evaluate(_scoringRulesFactory.DefaultSet); //} //catch (Exception ex) //{ // return new EvaluateCallForSpeechCommandResponse(); //} var cfs = databaseOperation.Value; var result = cfs.TryEvaluate(_scoringRulesFactory.DefaultSet); if (!result.Success) { return(new EvaluateCallForSpeechCommandResponse(result)); } var saveop = await _callRepository.SaveEvaluatationAsync(idc, cfs.ScoreResult, cfs.Status); if (!saveop.Success) { return(new EvaluateCallForSpeechCommandResponse(saveop)); } var scoredto = _mapper.Map <ScoreDto>(cfs.ScoreResult); return(new EvaluateCallForSpeechCommandResponse(scoredto)); }
public async Task <ExecutionStatus> Run(CallForSpeechUniqueId id, CallForSpeechScoringResult score, CallForSpeechStatus status) { using var connection = new SqliteConnection(_geekLemonContext.ConnectionString); var q = @"UPDATE CallForSpeakes SET Score_Score = @Score, Score_RejectExplanation = @RejectExplanation, Score_WarringExplanation = @WarringExplanation, Status = @Status WHERE UniqueId = @UniqueId;"; try { var result = await connection.ExecuteAsync(q, new { @Score = (int)score.Score, @WarringExplanation = score.WarringExplanation, @RejectExplanation = score.RejectExplanation, @UniqueId = id.Value.ToString(), @Status = (int)status }); return(ExecutionStatus.DbOk()); } catch (Exception ex) { if (ExecutionFlow.Options.ThrowExceptions) { throw; } return(ExecutionStatus.DbError(ex)); } }
public Task <ExecutionStatus> SavePreliminaryAcceptenceAsync(CallForSpeechUniqueId id, JudgeId judge, CallForSpeechStatus status) { return(_callForSpeechSavePreliminaryAcceptenceDoer.Run(id, judge, status)); }
public Task <ExecutionStatus> SaveEvaluatationAsync(CallForSpeechUniqueId id, CallForSpeechScoringResult score, CallForSpeechStatus status) { return(_callForSpeechSaveEvaluatationDoer.Run(id, score, status)); }
public Task <ExecutionStatus <CallForSpeech> > GetByIdAsync(CallForSpeechUniqueId id) { return(_callForSpeechGetByIdDoer.Run(id)); }
public Task <ExecutionStatus> SaveRejectionAsync(CallForSpeechUniqueId id, JudgeId judge, CallForSpeechStatus status) { return(_callForSpeechSaveRejectionDoer.Run(id, judge, status)); }
public SubmitCallForSpeechCommand() { UniqueId = CallForSpeechUniqueId.NewUniqueId(); Version = 0; }