public IActionResult AddTeamsToQuiz(TeamsToQuizViewModel quizTeamViewModel) { try { var response = _service.GetAllTeamsFromQuiz(quizTeamViewModel.QuizId); /*List<int> teamsInQuiz = new List<int>(); * foreach (var item in quizTeamViewModel.TeamsInQuiz) * { * teamsInQuiz.Add(item.Id); * } * List<int> newTeamsToAddToQuiz = new List<int>(); * * var result = response.DTO.Where(x => !quizTeamViewModel.TeamsInQuiz.Any(y => x.Id == y.Id)); * * foreach (var item in result) * { * var dto = new AddTeamToQuizDTO { QuizId = quizTeamViewModel.QuizId, TeamId = item.Id }; * _service.DeleteTeamFromQuiz(dto); * } * * foreach (var item in quizTeamViewModel.TeamsInQuiz) * { * * if (response.DTO.Contains(item)) { * * } * } * * foreach (var item in newTeamsToAddToQuiz) { * var dto = new AddTeamToQuizDTO { QuizId = quizTeamViewModel.QuizId, TeamId = item }; * _service.AddTeamToQuiz(dto); * }*/ var rows = 0; foreach (var item in response.DTO) { var dto = new AddTeamToQuizDTO { QuizId = quizTeamViewModel.QuizId, TeamId = item.Id }; _service.DeleteTeamFromQuiz(dto); } foreach (var item in quizTeamViewModel.TeamsInQuiz) { var dto = new AddTeamToQuizDTO { QuizId = quizTeamViewModel.QuizId, TeamId = item.Id }; _service.AddTeamToQuiz(dto); } return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public static QuizTeamTussentabel AddTeamToQuizDTOToEntity(AddTeamToQuizDTO dto) { if (dto == null) { throw new NullReferenceException("AddTeamToQuizDTO object is null"); } return(new QuizTeamTussentabel { QuizId = dto.QuizId, TeamId = dto.TeamId }); }
public Response <AddTeamToQuizDTO> AddTeamToQuiz(AddTeamToQuizDTO dto) { try { AddTeamToQuizValidator validator = new AddTeamToQuizValidator(); ValidationResult results = validator.Validate(dto); if (results.IsValid) { var tussentabelEntity = TussentabelMapper.AddTeamToQuizDTOToEntity(dto); var returnTussentabel = _teamQuizRondeUnitOfWork.QuizTeamTussentabelRepository.Add(tussentabelEntity); _teamQuizRondeUnitOfWork.Commmit(); var returnTussentabelDTO = TussentabelMapper.AddTeamToQuizEntityToDTO(returnTussentabel); var response = new Response <AddTeamToQuizDTO> { DTO = returnTussentabelDTO }; return(response); } else { return(new Response <AddTeamToQuizDTO>() { Errors = results.Errors.Select(x => new Error() { Type = ErrorType.ValidationError, Message = x.ErrorMessage }).ToList() }); } } catch (Exception ex) { return(new Response <AddTeamToQuizDTO>() { Errors = new List <Error>() { new Error() { Type = ErrorType.Exception, Message = ex.Message } } }); } }
public Response <int> DeleteTeamFromQuiz(AddTeamToQuizDTO dto) { try { AddTeamToQuizValidator validator = new AddTeamToQuizValidator(); ValidationResult results = validator.Validate(dto); if (results.IsValid) { var tussentabelWaarden = _teamQuizRondeUnitOfWork.QuizTeamTussentabelRepository.GetWhere(t => t.QuizId == dto.QuizId && t.TeamId == dto.TeamId); foreach (var waarde in tussentabelWaarden) { _teamQuizRondeUnitOfWork.QuizTeamTussentabelRepository.Remove(waarde.Id); } var rows = _teamQuizRondeUnitOfWork.QuizTeamTussentabelRepository.SaveChanges(); return(new Response <int> { DTO = rows }); } return(new Response <int>() { Errors = results.Errors.Select(x => new Error() { Type = ErrorType.ValidationError, Message = x.ErrorMessage }).ToList() }); } catch (Exception ex) { return(new Response <int>() { Errors = new List <Error>() { new Error { Type = ErrorType.Exception, Message = ex.Message } } }); } }
public static AddTeamToQuizViewModel MapAddTeamToQuizDTOToAddTeamToQuizViewModel(AddTeamToQuizDTO dto) { if (dto == null) { throw new NullReferenceException("add team to quiz dto is null"); } return(new AddTeamToQuizViewModel { QuizId = dto.QuizId, TeamId = dto.TeamId }); }