Пример #1
0
        public async Task <ApiResultCode> SubmitTestAsync(SubmitTestCommand command)
        {
            if (_unit.Context.Tblusersubmitedanswer.Any(t => t.UserId == command.UserId && t.TestId == command.TestId && t.IsMatched.HasValue))
            {
                return(new ApiResultCode(ApiResultType.Error, messageText: "You have already done this test."));
            }

            List <Tblusersubmitedanswer> tblusersubmitedanswers = new List <Tblusersubmitedanswer>();
            Tblusersubmitedanswer        answer = null;
            var count = command.QuestionsCommand.Where(t => t.OptionsCommand.Count > 0).FirstOrDefault();

            if (count == null)
            {
                return(new ApiResultCode(ApiResultType.Error, messageText: "You have not attempted any questions. Please try again."));
            }

            foreach (var item in command.QuestionsCommand)
            {
                var options = item.OptionsCommand.Where(t => t.IsMatched == true).ToList();
                foreach (var option in options)
                {
                    answer                = new Tblusersubmitedanswer();
                    answer.Id             = option.SubmitedAnswerId;
                    answer.IsMatched      = 1;
                    answer.LastUpdateDate = DateTime.Now;
                    answer.Status         = 1;
                    _unit.Context.Tblusersubmitedanswer.Attach(answer);
                    _unit.Context.Entry(answer).Property(t => t.IsMatched).IsModified      = true;
                    _unit.Context.Entry(answer).Property(t => t.LastUpdateDate).IsModified = true;
                    _unit.Context.Entry(answer).Property(t => t.Status).IsModified         = true;
                }
            }
            var result = await _unit.SaveChangesAsync();

            if (result.ResultType == ApiResultType.Success)
            {
                return(new ApiResultCode(ApiResultType.Success, messageText: "Added"));
            }
            return(new ApiResultCode(ApiResultType.Error, messageText: "Error"));
        }
Пример #2
0
        public async Task <IActionResult> SubmitTestAsync([FromForm] SubmitTestCommand command)
        {
            var result = await _mediator.Send(command);

            return(result);
        }
Пример #3
0
        public async Task <IActionResult> SubmitTest(String student_id, String test_id, SubmitTestCommand submitTestCommand)
        {
            var result = await _commandProcessor.Execute(submitTestCommand, _httpContext);

            return(Ok(result));
        }