Beispiel #1
0
        public IActionResult Add(int caseId)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CaseSelectionProtokol, null, AuditConstants.Operations.Append, caseId))
            {
                return(Redirect_Denied());
            }
            var tcase = service.GetById <Case>(caseId);
            var model = new CaseSelectionProtokolVM()
            {
                CaseId          = caseId,
                CourtId         = tcase.CourtId,
                CaseGroupId     = tcase.CaseGroupId,
                CaseCodeId      = tcase.CaseCodeId ?? 0,
                CourtGroupId    = tcase.CourtGroupId,
                SelectionModeId = 1
            };

            SetViewBag(model.CourtId, caseId);
            var caseGroups = service.CaseGroup_WithLawUnits(model.CourtId, "");

            if (caseGroups.Length == 0)
            {
                SetErrorMessage("Няма налични съдии за избор. Бутон \"Запис\" ще генерира протокол за липса на съдии!");
            }

            if (service.HsaUnsignedProtocol(caseId))
            {
                SetErrorMessage("Не може да бъде създаден нов протокол, докато има неподписан такъв.");
                return(RedirectToAction("Index", new { id = caseId }));
            }
            else
            {
                if (ViewBag.countAvailableJudgeRole > 0)
                {
                    return(View(nameof(Edit), model));
                }
                else
                {
                    SetErrorMessage("Съдебният състав по делото е запълнен. Не могат да бъдат добавени повече позиции.");
                    return(RedirectToAction("Index", new { id = caseId }));
                }
            }
        }