Exemplo n.º 1
0
        public async Task <IActionResult> UpdateProblem([FromForm] ProblemUpload upload)
        {
            if (upload.Id == null)
            {
                return(BadRequest());
            }
            try
            {
                var problem = await _Repository.GetProblemByIdAsync(upload.Id.Value);

                problem.AnswerDescription  = upload.AnsDescription;
                problem.ProblemDescription = upload.ProblemDescription;
                problem.AnswerPicture      = ImageHandle.SaveImg(upload.AnsImg);
                problem.ProblemPicture     = ImageHandle.SaveImg(upload.ProblemImg);
                problem.Tags = upload.Tags.Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();

                problem = await _Repository.UpdateProblemAsync(problem);

                _Logger.LogInformation("Updated problem {problem.Id}", problem.Id);
                return(Ok(problem));
            }
            catch (ProblemNotFound e)
            {
                _Logger.LogError("Problem {e.Id} not found", e.Id);
                return(NotFound(new { id = e.Id }));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateProblem([FromForm] ProblemUpload upload)
        {
            var problem = new Problem
            {
                AnswerDescription  = upload.AnsDescription,
                ProblemDescription = upload.ProblemDescription
            };

            // savefile
            problem.AnswerPicture  = ImageHandle.SaveImg(upload.AnsImg);
            problem.ProblemPicture = ImageHandle.SaveImg(upload.ProblemImg);
            problem.Tags           = upload.Tags.Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();

            problem = await _Repository.CreateProblemAsync(problem);

            _Logger.LogInformation("Created problem {problem.Id}", problem.Id);
            return(Ok(problem));
        }