Example #1
0
        /// <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));
        }
Example #2
0
        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);
        }