Ejemplo n.º 1
0
        public ActionResult Edit(int id, ProblemEditPe pe)
        {
            var problem = _problemRepository.GetById(id);

            problem.Status           = pe.status;
            problem.Description      = pe.description;
            problem.FixedInVersion   = pe.fixedInVersion;
            problem.ShortDescription = pe.shortDescription;

            _problemRepository.Save(problem);

            return(Json("ok"));
        }
Ejemplo n.º 2
0
        public IActionResult Add([FromForm] ProblemViewModel problem)
        {
            if (ModelState.IsValid)
            {
                var problemNew = new Problem
                {
                    ProblemId      = Guid.NewGuid(),
                    ProblemName    = problem.ProblemName,
                    ProblemContent = problem.ProblemContent,
                    Dificulty      = problem.Dificulty,
                    Visible        = problem.Visible,
                    MemoryLimit    = problem.MemoryLimit,
                    TimeLimit      = problem.TimeLimit
                };

                //create problem directory via api (linux hosted)

                _problemRepository.Create(problemNew);
                _problemRepository.Save();
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Ejemplo n.º 3
0
        public GeneralResponse EditProblem(EditProblemRequest request)
        {
            GeneralResponse response = new GeneralResponse();
            Problem         problem  = new Problem();

            problem = _problemRepository.FindBy(request.ID);

            if (problem != null)
            {
                try
                {
                    problem.ModifiedDate       = PersianDateTime.Now;
                    problem.ModifiedEmployee   = _employeeRepository.FindBy(request.ModifiedEmployeeID);
                    problem.Priority           = request.Priority;
                    problem.ProblemDescription = request.ProblemDescription;
                    problem.ProblemTitle       = request.ProblemTitle;
                    problem.State = request.State;

                    #region RowVersion

                    if (problem.RowVersion != request.RowVersion)
                    {
                        response.ErrorMessages.Add("EditConcurrencyKey");
                        return(response);
                    }
                    else
                    {
                        problem.RowVersion += 1;
                    }

                    #endregion

                    #region Validation

                    if (problem.GetBrokenRules().Count() > 0)
                    {
                        foreach (BusinessRule businessRule in problem.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(businessRule.Rule);
                        }

                        return(response);
                    }

                    #endregion

                    _problemRepository.Save(problem);
                    _uow.Commit();

                    ////response.success = true;
                }
                catch (Exception ex)
                {
                    response.ErrorMessages.Add(ex.Message);
                }
            }
            else
            {
                response.ErrorMessages.Add("NoItemToEditKey");
            }
            return(response);
        }