Exemplo n.º 1
0
        public async Task SendMyHomework(ReadMyHomeworkViewModel homework, string userId)
        {
            _logger.LogInformation($"Executing SendMyHomework. (UserID: {userId})");

            var stage = await GetHomeworkStageToProcess(homework.Id, userId);

            if (stage.HomeworkState != HomeworkState.WaitingForSendHomework)
            {
                _logger.LogError($"Homework with ID:{homework.Id} is not in WaitingForSendHomework HomeworkState. (UserID: {userId})");
                throw new InvalidActionException(_stringLocalizer["Homework with ID:{0} is not in WaitingForSendHomework HomeworkState.", homework.Id]);
            }

            stage.SendingTime   = DateTime.UtcNow;
            stage.Url           = homework.Url;
            stage.HomeworkState = HomeworkState.Completed;
            await _context.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ReadMyHomework(string stageId, ReadMyHomeworkViewModel homework, string applicationId = null, string returnUrl = null)
        {
            if (ModelState.IsValid)
            {
                var myId = _userManager.GetUserId(HttpContext.User);
                try
                {
                    await _myApplicationService.SendMyHomework(homework, myId);

                    TempData["Success"] = _stringLocalizer["Homework sended successfully."].ToString();
                    return(RedirectToAction(nameof(MyApplicationController.ShowMyHomework), new { stageId = homework.Id, applicationId, returnUrl }));
                }
                catch (CustomRecruiterException ex)
                {
                    TempData["Error"] = ex.Message;
                }
            }

            return(RedirectToAction(nameof(MyApplicationController.ReadMyHomework), new { stageId, applicationId, returnUrl }));
        }