Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
 }
Ejemplo n.º 8
0
 public SubmitCallForSpeechCommand()
 {
     UniqueId = CallForSpeechUniqueId.NewUniqueId();
     Version  = 0;
 }