Пример #1
0
        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
     });
 }
Пример #3
0
        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
                        }
                    }
                });
            }
        }
Пример #4
0
        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
     });
 }