コード例 #1
0
        public IEnumerable <ProblemData> GetAll()
        {
            var problems = _problemRepository.GetAll();

            return(problems.Select(p => new ProblemData
            {
                Id = p.Id,
                Name = p.Name,
                Type = p.Type.Type.Adapt <ProblemTypes>(),
            }));
        }
コード例 #2
0
        public async Task <PagedResult <ProblemDto> > GetAll(string id, int category)
        {
            var result = await _repository.GetAll(id, category);

            var mapperActivities = _mapper.Map <IList <Problems>, IList <ProblemDto> >(result.Items);

            return(new PagedResult <ProblemDto>()
            {
                Results = mapperActivities
            });
        }
コード例 #3
0
        public JsonResult AllProblemsStat()
        {
            var problemRepo = _problemRepository.GetAll();
            var socialRepo  = _socialRequestRepository.GetAll();

            var problemsList = (from problem in problemRepo let counter = socialRepo.Count(socialRequest => problem.Id == socialRequest.ProblemId) select new AllProblemsCount {
                Name = problem.Name, Count = counter
            }).ToList();

            return(Json(problemsList, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        //
        // GET: /Request/

        public ActionResult Index()
        {
            var model = new SocialRequestModel();

            var newList = new List <SelectListItem>();
            var list    = _problemRepository.GetAll();

            foreach (var currentProblem in list)
            {
                newList.Add(new SelectListItem
                {
                    Value = Convert.ToString(currentProblem.Id),
                    Text  = currentProblem.Name
                });
            }

            model.ProblemList = newList;
            return(View("Index", model));
        }
コード例 #5
0
        public PaginationSet <ProblemViewModel> Get(int?page, int?pageSize)
        {
            PaginationSet <ProblemViewModel> pagedSet = null;

            try
            {
                int currentPage     = page.Value;
                int currentPageSize = pageSize.Value;

                List <Problem> _problems      = null;
                int            _totalProblems = new int();

                _problems = _problemRepository
                            .AllIncluding(p => p.Boulder)
                            .OrderBy(p => p.Id)
                            .Skip(currentPage * currentPageSize)
                            .Take(currentPageSize)
                            .ToList();

                _totalProblems = _problemRepository.GetAll().Count();

                IEnumerable <ProblemViewModel> _problemsVM = Mapper.Map <IEnumerable <Problem>, IEnumerable <ProblemViewModel> >(_problems);

                pagedSet = new PaginationSet <ProblemViewModel>()
                {
                    Page       = currentPage,
                    TotalCount = _totalProblems,
                    TotalPages = (int)Math.Ceiling((decimal)_totalProblems / currentPageSize),
                    Items      = _problemsVM
                };
            }
            catch (Exception ex)
            {
                _loggingRepository.Add(new Error()
                {
                    Message = ex.Message, StackTrace = ex.StackTrace, DateCreated = DateTime.Now
                });
                _loggingRepository.Commit();
            }

            return(pagedSet);
        }
コード例 #6
0
        public IActionResult AddProblems(Guid id)
        {
            var problemList = _problemRepository.GetAll();
            var contest     = _contestRepository.GetItem(id);
            var contestBig  = _problemContestRepository.GetListOfProblemForSpecificContest(id).ToList();

            var         problemDtoList = new List <ProblemDto>();
            List <Guid> ids            = new List <Guid>();

            foreach (var item in problemList)
            {
                ids.Add(item.ProblemId);
                problemDtoList.Add(new ProblemDto
                {
                    ProblemId   = item.ProblemId,
                    ProblemName = item.ProblemName
                });
            }

            var existingProblemInContest = new List <ProblemDto>();

            foreach (var item in contestBig)
            {
                existingProblemInContest.Add(new ProblemDto
                {
                    ProblemId   = item.Problem.ProblemId,
                    ProblemName = item.Problem.ProblemName
                });
            }

            var contestproblemViewModel = new ContestProblemViewModel
            {
                ProblemId   = ids,
                Problems    = problemDtoList,
                ContestId   = id,
                ContestName = contest.Title,
                ProblemsForCurrentContest = existingProblemInContest
            };

            return(View(contestproblemViewModel));
        }
コード例 #7
0
 public List <Problem> GetAllProblems()
 {
     return(_problemRepository.GetAll());
 }