public ActionResult UpdateUserCode(string id, UserCodeDTO userCodeDTO) { // Handle error if no data is sent. if (userCodeDTO == null) { return(BadRequest("User code data must be set!")); } try { // Map the DTO to entity and save it _service.Update(id, userCodeDTO.ToEntity()); // According to the conventions, we have to return HTTP 204 No Content. return(NoContent()); } catch (DocumentDoesntExistsException) { // Handle error if the user code to update doesn't exists. return(BadRequest("No user code exists with the given ID!")); } catch (ProgramLanguageNotSupportedException) { // Handle error if programming language is not supported return(BadRequest("This programming language is not supported!")); } }
public string ExecuteCode(UserCodeDTO model) { var status = model.CodeStatus; if (FindUserCode(model.UserId, model.ExerciseId)) { var code = unitOfWork.CodeRepo.Get(c => c.ExerciseId == model.ExerciseId && c.UserId == model.UserId).FirstOrDefault(); if (code != null) { status = code.CodeStatus; code.CodeText = model.CodeText; unitOfWork.CodeRepo.Update(code); } } else { UserCode code = new UserCode { CodeText = model.CodeText, UserId = model.UserId, ExerciseId = model.ExerciseId }; unitOfWork.CodeRepo.Insert(code); } unitOfWork.Save(); return(ExecutionResult(model.CodeText, model.ExerciseId, model.UserId, status)); }
public ActionResult <UserCodeDTO> CreateNewUserCode(UserCodeDTO userCodeDTO) { // Handle error if no data is sent. if (userCodeDTO == null) { return(BadRequest("User code data must be set!")); } try { // Map the DTO to entity and save the entity UserCode createdEntity = _service.Create(userCodeDTO.ToEntity()); // According to the conventions, we have to return a HTTP 201 created repsonse, with // field "Location" in the header pointing to the created object return(CreatedAtAction( nameof(GetUserCode), new { id = createdEntity.Id }, new UserCodeDTO(createdEntity))); } catch (ProgramLanguageNotSupportedException) { // Handle error if programming language is not supported return(BadRequest("This programming language is not supported!")); } }
public UserCodeDTO BuildCodeModel(UserCodeDTO model) { var exercise = exerciseManager.GetById(model.ExerciseId); model.Exercise = exercise; var user = userManager.FindByNameAsync(model.UserId).Result; model.UserId = user.Id; if (model.CodeText != null) { model.CodeStatus = CodeStatus.FromHistory; return(model); } else { var code = unitOfWork.CodeRepo.Get(c => c.ExerciseId == model.ExerciseId && c.UserId == model.UserId).FirstOrDefault(); if (code != null) { model.CodeText = code.CodeText; model.CodeStatus = code.CodeStatus; model.Mark = code.Mark; model.TeachersComment = code.TeachersComment; } else { model.CodeStatus = CodeStatus.InProgress; model.CodeText = exercise.TaskBaseCodeField; } } return(model); }
public UserCodeDTO BuildCodeModel(UserCodeDTO model) { var exercise = exerciseManager.GetById(model.ExerciseId); model.Exercise = exercise; if (model.CodeText == null) { model.CodeText = exercise.TaskBaseCodeField; } var user = userManager.FindByNameAsync(model.UserId).Result; model.UserId = user.Id; var code = unitOfWork.CodeRepo.Get(c => c.ExerciseId == model.ExerciseId && c.UserId == model.UserId).FirstOrDefault(); if (code != null) { model.CodeText = code.CodeText; model.CodeStatus = code.CodeStatus; model.Mark = code.Mark; model.TeachersComment = code.TeachersComment; } string text = IsUserDidExercise(user.Id, exercise.Id); if (text != null) { model.CodeText = text; } return(model); }
public string GetOnFlyCode(UserCodeDTO model) { UserCode code = new UserCode { CodeText = model.CodeText }; return(ExecuteOnFlyCode(model.CodeText)); }
public string GetOnFlyCode(UserCodeDTO model) { UserCode code = new UserCode { CodeText = model.CodeText }; var testCasesCode = unitOfWork.ExerciseRepo.GetById(model.ExerciseId).TestCasesCode; var finalCode = string.Concat(testCasesCode, code.CodeText); return(ExecuteOnFlyCode(finalCode)); }
public IActionResult Index(UserCodeDTO model) { if (!ModelState.IsValid) { return(View("../Home/Index")); } var exercise = exerciseManager.GetById(model.ExerciseId); return(View(new CodeStartViewModel() { UserCodeDTO = codeManager.BuildCodeModel(model), ExerciseTaskText = exercise.TaskTextField })); }
public bool DeleteHistoryLst(UserCodeDTO code) { try { var codeHistories = unitOfWork.CodeHistoryRepo.Get().Where(e => e.UserCodeId == code.Id).ToList(); foreach (var ch in codeHistories) { unitOfWork.CodeHistoryRepo.Delete(ch); } return(true); } catch (Exception ex) { return(false); } }
public bool DeleteCode(UserCodeDTO code) { var usercode = unitOfWork.CodeRepo.Get(c => c.UserId == code.UserId); try { foreach (var elem in usercode) { unitOfWork.CodeRepo.Delete(elem); } return(true); } catch (Exception ex) { return(false); } }
public string ExecuteOnFlyCode(UserCodeDTO model) { return(model.CodeText == null ? "Write some codeeeee" : codeManager.GetOnFlyCode(model)); }
public string GetCode(UserCodeDTO model) { return(model.CodeText == null ? "Write some code" : codeManager.ExecuteCode(model)); }
public UserCodeDTO UserCodeByExId(string userId, int exerciseId) { UserCodeDTO code = mapper.Map <UserCodeDTO>(unitOfWork.CodeRepo.Get(c => c.UserId == userId && c.ExerciseId == exerciseId).FirstOrDefault()); return(code); }
public UserCodeDTO GetUserCodeById(string id) { UserCodeDTO code = mapper.Map <UserCodeDTO>(unitOfWork.CodeRepo.Get(c => c.UserId == id).FirstOrDefault()); return(code); }
public IActionResult SendCodeToExecute(UserCodeDTO codeModel) { return(RedirectToAction("Index", "Code", codeModel)); }