public HttpResponse Details(string problemId)
        {
            var problemFromDb    = this.problemService.GetProblemById(problemId);
            var submissionFromDb = this.problemService.GetAllProblemSubmissions(problemId);

            var problemDetailsViewModel = new ProblemDetailsViewModel
            {
                Name        = problemFromDb.Name,
                Submissions = submissionFromDb
                              .Select(s => new SubmissionDetailsViewModel
                {
                    Id             = s.Id,
                    Username       = s.User.Username,
                    AchievedResult = $"{s.AchievedResult} / {problemFromDb.Points}",
                    CreatedOn      = s.CreatedOn.ToString("dd/MM/yyyy")
                })
                              .ToList()
            };

            return(this.View(problemDetailsViewModel));
        }
        public IActionResult Details(string id)
        {
            Problem           problem     = _context.Problems.FirstOrDefault(a => a.Id == id);
            List <Submission> submissions = _context.Submissions.Where(a => a.ProblemId == id).ToList();

            ProblemDetailsViewModel viewModel = new ProblemDetailsViewModel
            {
                Id          = problem.Id,
                MaxPoints   = problem.Points,
                Name        = problem.Name,
                Submissions = submissions.Select(z => new SubmissionDetailsViewModel
                {
                    AchievedResult = z.AchievedResult,
                    CreatedOn      = z.CreatedOn,
                    Id             = z.Id,
                    Username       = _context.Users.FirstOrDefault(x => x.Id == z.UserId).UserName
                }).ToList()
            };

            return(View(viewModel));
        }
        public IActionResult Details(string id)
        {
            var problem = this.problemsService.GetProblemById(id);


            var viewModel = new ProblemDetailsViewModel
            {
                Name        = problem.Name,
                MaxPoints   = problem.Points,
                Submissions = problem.Submissions.Select(s => new SubmissionViewModel
                {
                    Username       = s.User.Username,
                    AchievedResult = s.AchievedResult,
                    CreatedOn      = s.CreatedOn.ToString("dd/MM/yyyy"),
                    SubmissionId   = s.Id
                })
            };



            return(this.View(viewModel));
        }
Beispiel #4
0
        public IActionResult Details(string id)
        {
            var problem = this.problemService.GetById(id);

            var result = new ProblemDetailsViewModel()
            {
                Name        = problem.Name,
                Submissions = this.submissionService.GetSubmissionsForProblemById(problem.Id)
                              .Select(x => new SubmissionDetailsViewModel
                {
                    Id             = x.Id,
                    AchievedResult = x.AchievedResult,
                    CreatedOn      = x.CreatedOn.ToString("dd/MM/yyyy"),
                    MaxPoints      = x.Problem.Points,
                    FinalPoints    = 100,
                    Username       = x.User.Username
                })
                              .ToList()
            };

            return(this.View(result));
        }
Beispiel #5
0
        public async Task <IActionResult> GetProblem(Guid id)
        {
            var problem = await _problemRepository.GetAsync(id);

            var solution = _solutionRepository.GetSolutionByProblem(id);

            var submisionList = _submisionRepository.GetSubmisionByProblemIdAndUserName(id, User.Identity.Name)
                                .OrderByDescending(sub => sub.DataOfSubmision).ToList();

            var score = submisionList.FirstOrDefault() == null ? 0 : submisionList.First().Score;

            ProblemDetailsViewModel problemDetailsViewModel = new ProblemDetailsViewModel
            {
                Problem         = problem,
                Submisions      = submisionList,
                Solution        = solution,
                SelectListItems = _compilers,
                Score           = score
            };

            return(View(problemDetailsViewModel));
        }
Beispiel #6
0
        public IActionResult Details(string id)
        {
            List <Submission>       submissions = this.submissionService.GetAllSubsForProblem(id);
            ProblemDetailsViewModel viewModel   = new ProblemDetailsViewModel();
            Problem problem = this.problemService.GetProblemById(id);


            foreach (var sub in submissions)
            {
                AllSubmissionsViewModel submission = new AllSubmissionsViewModel
                {
                    CreatedOn      = sub.CreatedOn,
                    AchievedResult = sub.AchievedResult,
                    MaxPoints      = problem.Points,
                    Username       = this.userService.GetUserById(sub.UserId).Username,
                    SubmissionId   = sub.Id,
                };
                viewModel.SubmissionsViewModel.Add(submission);
            }
            viewModel.Name = problem.Name;
            return(this.View(viewModel));
        }
Beispiel #7
0
        public IActionResult Details(string id)
        {
            var problemFromDb = this.problemService.GetProblemById(id);

            var viewModel = new ProblemDetailsViewModel
            {
                Name = problemFromDb.Name
            };

            foreach (var submission in problemFromDb.Submissions)
            {
                viewModel.Submissions.Add(new SubmissionAllViewModel
                {
                    Username       = submission.User.Username,
                    AchievedResult = submission.AchievedResult,
                    MaxPoints      = problemFromDb.Points,
                    CreatedOn      = submission.CreatedOn.ToString("dd/MM/yyyy"),
                    SubmissionId   = submission.Id
                });
            }

            return(this.View(viewModel));
        }
        public IActionResult Details(string id)
        {
            var       problem   = this.problemsService.GetProblemById(id);
            const int MaxPoints = 100;

            var submissions = this.submissionsService.GetAllSubmissionsByProblemId(id)
                              .Select(x => new SubmissionViewModel
            {
                Username       = x.User.Username,
                AchievedResult = (int)(((decimal)x.AchievedResult * 100 / (decimal)x.Problem.Points)),
                MaxPoints      = MaxPoints,
                CreatedOn      = x.CreatedOn.ToString("dd'/'MM'/'yyyy"),
                SubmissionId   = x.Id
            }).ToList();

            ProblemDetailsViewModel problemDetails = new ProblemDetailsViewModel
            {
                Name        = problem.Name,
                Submissions = submissions
            };

            return(this.View(problemDetails));
        }
Beispiel #9
0
        public HttpResponse Details(string id)
        {
            var problem = this.problemsService.GetProblemById(id);

            var submissions = this.submissionsService.GetAllSubmissionsByProblemId(id)
                              .Select(x => new SubmissionListingViewModel
            {
                Id             = x.Id,
                CreatedOn      = x.CreatedOn.ToString(),
                AchievedResult = x.AchievedResult,
                MaxPoints      = problem.Points,
                Username       = x.User.Username,
            });

            var viewModel = new ProblemDetailsViewModel
            {
                Id          = id,
                Name        = problem.Name,
                Submissions = submissions,
            };

            return(this.View(viewModel));
        }
        public IActionResult Details(string id)
        {
            ProblemDetailsViewModel model = problemsService.GetProblemDetails(id);

            return(View(model));
        }