/// <summary> /// Зареждане на пълна информация за дело с табове /// </summary> /// <param name="id"></param> /// <returns></returns> public IActionResult CasePreview(int id) { if (!CheckAccess(service, SourceTypeSelectVM.Case, id, AuditConstants.Operations.View)) { return(RedirectToAction(nameof(HomeController.AccessDenied), HomeController.ControlerName)); } var model = service.Case_GetById(id); if (model == null) { throw new NotFoundException("Търсеното от Вас дело не е намерено и/или нямате достъп до него."); } SetViewbag(id); ViewBag.isAutorized = this.CurrentContext.CanAccess; ViewBag.isFastProcess = nomService.CaseCodeGroup_Check(NomenclatureConstants.CaseCodeGroupAlias.CaseFastProcess, model.CaseCodeId ?? 0); SetHelpFile(HelpFileValues.CaseMainData); return(View(nameof(CasePreview), model)); }
public List <CaseDeadline> DeadLineCompanyCaseStart(Case companyCase) { var result = new List <CaseDeadline>(); if (!nomService.CaseCodeGroup_Check(NomenclatureConstants.CaseCodeGroupAlias.CaseCompanyRegister, companyCase.CaseCodeId ?? 0)) { return(result); } var documents = repo.AllReadonly <DocumentCaseInfo>() .Where(x => x.CaseId == companyCase.Id) .Where(x => x.Document.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyRegister || x.Document.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyChange) .Select(x => x.Document) .ToList(); if (!documents.Any(x => x.Id == companyCase.DocumentId)) { var document = repo.AllReadonly <Document>() .Where(x => x.Id == companyCase.DocumentId) .Where(x => x.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyRegister || x.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyChange) .FirstOrDefault(); if (document != null) { documents.Add(document); } } foreach (var aDocument in documents) { int deadlineTypeId = 0; if (aDocument.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyRegister) { deadlineTypeId = NomenclatureConstants.DeadlineType.CompanyCaseRegister; } if (aDocument.DocumentTypeId == NomenclatureConstants.DocumentType.ApplicationForCompanyChange) { deadlineTypeId = NomenclatureConstants.DeadlineType.CompanyCaseChange; } if (deadlineTypeId == 0) { continue; } var deadline = repo.AllReadonly <CaseDeadline>() .Where(x => x.SourceType == SourceTypeSelectVM.Document && x.SourceId == aDocument.Id && (x.DeadlineTypeId == deadlineTypeId)) .FirstOrDefault(); var deadlineType = repo.AllReadonly <DeadlineType>().Where(x => x.Id == deadlineTypeId).FirstOrDefault(); bool isSet = false; if (deadline != null) { if (deadline.StartDate != aDocument.DocumentDate.Date) { deadline.StartDate = aDocument.DocumentDate.Date; setDateEnd(deadline, deadlineType); isSet = true; } } else { deadline = new CaseDeadline(); deadline.CaseId = companyCase.Id; deadline.SourceType = SourceTypeSelectVM.Document; deadline.SourceId = aDocument.Id; deadline.DeadlineTypeId = deadlineTypeId; deadline.DeadlineGroupId = deadlineType.DeadlineGroupId; deadline.StartDate = aDocument.DocumentDate.Date; setDateEnd(deadline, deadlineType); isSet = true; } if (deadline != null && isSet) { result.Add(deadline); } } return(result); }