コード例 #1
0
        /// <summary>
        ///     обрабатывает решение модератора по проекту
        /// </summary>
        /// <param name="form"></param>
        public void HandleModeratorForm(ModeratorReviewForm form)
        {
            var actualSData = _repositories.ServiceData.FindActual(form.ProjectId);
            var statusOld = _repositories.Statuses.Find(actualSData.StatusId);
            if (statusOld.Title.Equals(StatusesManager.Waiting)) //если старый статус - ожидание модерации
                _endowmentHandlers.ServiceData
                    .Edit(actualSData.Id, form.StatusId, form.Comment); //заменяем актуальным

            else if (statusOld.Title.Equals(StatusesManager.Return))//если прокет был возвращен на доработку
            {
                actualSData.IsLastInformation = false; // перестает быть актуальным
                _endowmentHandlers // создаем новую запись с текущим решением
                    .ServiceData
                    .Create(form.ModeratorId,
                        form.ProjectId, form.StatusId, form.Comment);
            }
            var statusNew = _repositories.Statuses.Find(form.StatusId);
            if (statusNew.Title.Equals(StatusesManager.Locked) || statusNew.Title.Equals(StatusesManager.Return))
            {// если новый статус "вернуть на доработку" или "заблокировать"
                _endowmentHandlers.QueueProject.Delete(form.ProjectId); //удаляем из очереди
                _endowmentHandlers.SaveChanges();
            }
            else
            {//если принят
                _queueService.AppointLevelUpModer(form.ProjectId);//левелап
            }
        }
コード例 #2
0
 public ActionResult CreateReview(ModeratorReviewForm form)
 {
     _projectService.HandleModeratorForm(form);
     return RedirectToAction("Index");
 }