public async Task <ApiResponse <bool> > EnrollUserExam(UserExamViewModel userExam) { var result = new ApiResponse <bool>(); try { var oUserExam = await dbContext.UserExams .FirstOrDefaultAsync(e => (e.ExamId == userExam.ExamId && e.ApplicationUserId == this.CurrentUser().Id)) as UserExam; if (oUserExam == null) { var userExamd = new UserExam { ApplicationUserId = this.CurrentUser().Id, ExamId = userExam.ExamId, Status = userExam.Status, StartDate = userExam.StartDate, EndDate = userExam.EndDate, Score = userExam.Score }; await dbContext.UserExams.AddAsync(userExamd); await dbContext.SaveChangesAsync(); result.Data = true; result.AddSuccess(); result.AddMessage("You are Enrolled Succesfully"); return(await Task.FromResult(result)); } else { result.Data = false; result.AddMessage("You have already been enrolled successfully"); return(await Task.FromResult(result)); } } catch (Exception ex) { result.AddError(ex); return(await Task.FromResult(result)); } }
public async Task <IActionResult> EnrollUserExam(UserExamViewModel userExam) { return(Ok(await userExamService.EnrollUserExam(userExam))); }