public IActionResult Create(SubmissionCreateInputModel input) { if (!this.ModelState.IsValid) { return(this.Redirect("/Submissions/Create" + "?id=" + input.ProblemId)); } this.submissionsService.CreateSubmission(input.Code, input.ProblemId, this.User.Id); return(this.Redirect("/")); }
public HttpResponse Create(SubmissionCreateInputModel input) { if (!this.IsLoggedIn()) { return(this.Redirect(this.homeUrl)); } var problem = this.problemsService.GetById(input.ProblemId); if (problem == null) { return(this.Redirect(this.homeUrl)); } var errors = new List <string>(); if (string.IsNullOrWhiteSpace(input.Code)) { errors.Add("Code cannot be empty!"); } int codeLength = input.Code.Length; if (codeLength < 30 || codeLength > 800) { errors.Add("Code should be between 30 and 80 characters!"); } if (errors.Count > 0) { var errorViewModel = new ErrorViewModel { Errors = errors }; return(this.View(errorViewModel, "Error")); } var currentUser = this.User; var problemMaxPoints = problem.Points; var rnd = new Random(); var submission = new Submission { Code = input.Code, ProblemId = input.ProblemId, AchievedResult = rnd.Next(0, problemMaxPoints + 1), UserId = currentUser.Id, }; this.submissionsService.Create(submission); return(this.Redirect(this.homeUrl)); }
public IActionResult Create(SubmissionCreateInputModel model) { if (!this.ModelState.IsValid) { return(this.Redirect("Submissions/Create")); } var problem = this.problemService.GetProblemById(model.ProblemId); this.submissionService.CreateSubmission(model.ProblemId, model.Code, this.User.Id, problem.Points); return(this.Redirect("/")); }
public IActionResult Create(SubmissionCreateInputModel model) { if (!ModelState.IsValid) { return(Redirect("/Submissions/Create?id=" + model.ProblemId)); } Submission submission = new Submission { Code = model.Code, ProblemId = model.ProblemId, UserId = this.User.Id, }; submissionsService.Create(submission); return(Redirect("/")); }
public HttpResponse Create(SubmissionCreateInputModel model) { if (!this.IsUserLoggedIn()) { return(this.Redirect("/Users/Login")); } if (model.Code?.Length < 30 || model.Code?.Length > 800) { return(this.Redirect($"/Submissions/Create?id={model.ProblemId}")); } var userId = this.User; this.submissionsService.Create(model.Code, model.ProblemId, userId); return(this.Redirect("/")); }
public string CreateSubmission(string userId, string problemId, SubmissionCreateInputModel model) { var submission = new Submission { Code = model.Code, AchievedResult = new Random().Next(0, _dbContext.Problems .Where(p => p.Id == problemId) .Select(p => p.Points) .FirstOrDefault()), CreatedOn = DateTime.Now, User = _dbContext.Users.FirstOrDefault(u => u.Id == userId), Problem = _dbContext.Problems.FirstOrDefault(p => p.Id == problemId), Id = Guid.NewGuid().ToString(), }; _dbContext.Submissions.Add(submission); _dbContext.SaveChanges(); return(submission.Id); }
public IActionResult Create(SubmissionCreateInputModel input) { if (!this.ModelState.IsValid) { return(this.Redirect("/Submissions/Create")); } Submission submission = new Submission { UserId = this.User.Id, CreatedOn = DateTime.UtcNow, Code = input.Code, ProblemId = input.ProblemId, AchievedResult = new Random().Next(0, 300) }; this.submissionService.Create(submission); return(this.Redirect("/Home/IndexLoggedIn")); }
public HttpResponse Create(string problemId, string code) { if (!IsUserSignedIn()) { return(Redirect("/Users/Login")); } var submission = new SubmissionCreateInputModel { Code = code }; var validation = ValidationHelper.IsValid(submission); if (!validation.result) { return(Error(validation.errorMessage)); } _submissionService.CreateSubmission(GetUserId(), problemId, submission); return(Redirect("/")); }
public IActionResult Create(SubmissionCreateInputModel model) { if (!ModelState.IsValid) { return(this.Redirect($"/Submissions/Create?id={model.ProblemId}")); } var random = new Random(); var problemTotalPoints = this.problemService.GetProblemById(model.ProblemId).Points; var submission = new Submission { Code = model.Code, AchievedResult = random.Next(0, problemTotalPoints), CreatedOn = DateTime.UtcNow, ProblemId = model.ProblemId, UserId = this.User.Id }; this.submissionService.Create(submission); return(this.Redirect("/")); }