public string GetJudgeUserId(int caseId)
        {
            var caseLawUnitsActive = caseLawUnitService.CaseLawUnit_Select(caseId, null).ToList();
            var judgeRep           = caseLawUnitsActive.Where(x => x.JudgeRoleId == NomenclatureConstants.JudgeRole.JudgeReporter).FirstOrDefault();

            if (judgeRep == null)
            {
                return(null);
            }
            return(GetUserIdByLawUnitId(judgeRep.LawUnitId));
        }
Example #2
0
        /// <summary>
        /// Добавяне на Натовареност по дела: основни и допълнителни дейности
        /// </summary>
        /// <param name="caseId"></param>
        /// <param name="isMainActivity"></param>
        /// <returns></returns>
        public IActionResult Add(int caseId, int?CaseSessionId, bool isMainActivity, bool isFromCase)
        {
            if (!CheckAccess(service, SourceTypeSelectVM.CaseLoadIndex, null, AuditConstants.Operations.Append, caseId))
            {
                return(Redirect_Denied());
            }
            var caseLawUnit     = caseLawUnitService.CaseLawUnit_Select(caseId, null).Where(x => x.JudgeRoleId == NomenclatureConstants.JudgeRole.JudgeReporter).FirstOrDefault();
            var judgeReporterId = (caseLawUnit != null) ? caseLawUnit.LawUnitId : 0;
            var model           = new CaseLoadIndex()
            {
                CaseId             = caseId,
                CaseSessionId      = CaseSessionId,
                CourtId            = userContext.CourtId,
                IsMainActivity     = isMainActivity,
                DateActivity       = DateTime.Now,
                LawUnitId          = judgeReporterId,
                DescriptionExpired = isFromCase ? "Case" : null
            };

            SetViewbag(caseId, CaseSessionId, isMainActivity, isFromCase);
            return(View(nameof(Edit), model));
        }
        public IActionResult ListData(IDataTablesRequest request, int caseId, int?caseSessionId)
        {
            var data = service.CaseLawUnit_Select(caseId, caseSessionId);

            return(request.GetResponse(data));
        }
 /// <summary>
 /// Проверка за съдия-докладчик към дело дали съществува
 /// </summary>
 /// <param name="caseId"></param>
 /// <returns></returns>
 private bool IsExistJudge(int caseId)
 {
     return(lawUnitService.CaseLawUnit_Select(caseId, null).Any(x => x.JudgeRoleId == NomenclatureConstants.JudgeRole.JudgeReporter));
 }
Example #5
0
        /// <summary>
        /// Извличане на данни за справка за обжалване
        /// </summary>
        /// <param name="DateFrom"></param>
        /// <param name="DateTo"></param>
        /// <param name="DateFromActReturn"></param>
        /// <param name="DateToActReturn"></param>
        /// <param name="DateFromSendDocument"></param>
        /// <param name="DateToSendDocument"></param>
        /// <param name="CaseGroupId"></param>
        /// <param name="CaseTypeId"></param>
        /// <param name="CaseRegNumber"></param>
        /// <param name="ActRegNumber"></param>
        /// <param name="CaseRegNumFrom"></param>
        /// <param name="CaseRegNumTo"></param>
        /// <param name="ActComplainIndexId"></param>
        /// <param name="ActResultId"></param>
        /// <param name="JudgeReporterId"></param>
        /// <returns></returns>
        public IQueryable <CaseSessionActComplainSprVM> CaseSessionActComplainSpr_Select(DateTime DateFrom, DateTime DateTo, DateTime?DateFromActReturn, DateTime?DateToActReturn, DateTime?DateFromSendDocument, DateTime?DateToSendDocument, int CaseGroupId, int CaseTypeId, string CaseRegNumber, string ActRegNumber, int CaseRegNumFrom, int CaseRegNumTo, int ActComplainIndexId, int ActResultId, int JudgeReporterId)
        {
            DateFrom             = NomenclatureExtensions.ForceStartDate(DateFrom);
            DateTo               = NomenclatureExtensions.ForceEndDate(DateTo);
            DateFromActReturn    = NomenclatureExtensions.ForceStartDate(DateFromActReturn);
            DateToActReturn      = NomenclatureExtensions.ForceEndDate(DateToActReturn);
            DateFromSendDocument = NomenclatureExtensions.ForceStartDate(DateFromSendDocument);
            DateToSendDocument   = NomenclatureExtensions.ForceEndDate(DateToSendDocument);

            var caseSessionActComplains = repo.AllReadonly <CaseSessionActComplain>()
                                          .Include(x => x.Case)
                                          .ThenInclude(x => x.CaseGroup)
                                          .Include(x => x.Case)
                                          .ThenInclude(x => x.CaseType)
                                          .Include(x => x.Case)
                                          .ThenInclude(x => x.CaseCode)
                                          .Include(x => x.ComplainDocument)
                                          .ThenInclude(x => x.DocumentType)
                                          .Include(x => x.ComplainState)
                                          .Include(x => x.CaseSessionAct)
                                          .ThenInclude(x => x.ActComplainIndex)
                                          .Include(x => x.CaseSessionAct)
                                          .ThenInclude(x => x.CaseSession)
                                          .ThenInclude(x => x.CaseLawUnits)
                                          .Where(x => (x.CourtId == userContext.CourtId) &&
                                                 (x.DateExpired == null) &&
                                                 (x.ComplainDocument.DocumentDate >= DateFrom && x.ComplainDocument.DocumentDate <= DateTo) &&
                                                 ((DateFromActReturn != null && DateToActReturn != null) ? x.CaseSessionAct.ActReturnDate >= DateFromActReturn && x.CaseSessionAct.ActReturnDate <= DateToActReturn : true) &&
                                                 ((DateFromSendDocument != null && DateToSendDocument != null) ? (repo.AllReadonly <CaseMigration>().Any(m => m.CaseId == x.CaseId &&
                                                                                                                                                         m.CaseSessionActId == x.CaseSessionActId &&
                                                                                                                                                         m.CaseMigrationTypeId == NomenclatureConstants.CaseMigrationTypes.SendNextLevel &&
                                                                                                                                                         (m.OutDocument.DocumentDate >= DateFromSendDocument && m.OutDocument.DocumentDate <= DateToSendDocument))) : true) &&
                                                 (CaseGroupId > 0 ? x.Case.CaseGroupId == CaseGroupId : true) &&
                                                 (CaseTypeId > 0 ? x.Case.CaseTypeId == CaseTypeId : true) &&
                                                 (CaseRegNumFrom > 0 ? x.Case.ShortNumberValue >= CaseRegNumFrom : true) &&
                                                 (CaseRegNumTo > 0 ? x.Case.ShortNumberValue <= CaseRegNumTo : true) &&
                                                 (ActComplainIndexId > 0 ? x.CaseSessionAct.ActComplainIndexId == ActComplainIndexId : true) &&
                                                 (ActResultId > 0 ? x.CaseSessionAct.ActResultId == ActResultId : true) &&
                                                 ((JudgeReporterId > 0) ? (x.CaseSessionAct.CaseSession.CaseLawUnits.Where(a => (a.DateTo ?? DateTime.Now.AddYears(100)).Date >= x.CaseSessionAct.CaseSession.DateFrom && a.LawUnitId == JudgeReporterId &&
                                                                                                                           a.JudgeRoleId == NomenclatureConstants.JudgeRole.JudgeReporter).Any()) : true) &&
                                                 (!string.IsNullOrEmpty(CaseRegNumber) ? x.Case.RegNumber.ToLower().Contains(CaseRegNumber.ToLower()) : true) &&
                                                 (!string.IsNullOrEmpty(ActRegNumber) ? x.CaseSessionAct.RegNumber.ToLower().Contains(ActRegNumber.ToLower()) : true))
                                          .Where(x => !x.Case.CaseDeactivations.Any(d => d.CaseId == x.CaseId && d.DateExpired == null))
                                          .ToList();

            var result = new List <CaseSessionActComplainSprVM>();

            foreach (var caseSessionActComplain in caseSessionActComplains)
            {
                var migrationSend = repo.AllReadonly <CaseMigration>()
                                    .Include(x => x.OutDocument)
                                    .ThenInclude(x => x.DocumentType)
                                    .Where(x => x.CaseId == caseSessionActComplain.CaseId &&
                                           x.CaseSessionActId == caseSessionActComplain.CaseSessionActId &&
                                           x.CaseMigrationTypeId == NomenclatureConstants.CaseMigrationTypes.SendNextLevel).FirstOrDefault();

                CaseMigration migrationRecive = null;
                if (migrationSend != null)
                {
                    migrationRecive = repo.AllReadonly <CaseMigration>()
                                      .Include(x => x.Case)
                                      .ThenInclude(x => x.Court)
                                      .Where(x => x.OutCaseMigrationId == migrationSend.Id)
                                      .FirstOrDefault();
                }

                //var migration = repo.AllReadonly<CaseMigration>()
                //                    .Where(x => x.CaseId == caseSessionActComplain.CaseId &&
                //                                x.CaseMigrationTypeId == NomenclatureConstants.CaseMigrationTypes.AcceptCase_AfterComplain &&
                //                                x.DateWrt >= caseSessionActComplain.ComplainDocument.DocumentDate).FirstOrDefault();

                var complainResult = repo.AllReadonly <CaseSessionActComplainResult>()
                                     .Include(x => x.ActResult)
                                     .Include(x => x.ComplainCase)
                                     .ThenInclude(x => x.Court)
                                     .Where(x => x.CaseSessionActComplainId == caseSessionActComplain.Id).FirstOrDefault();

                var caseLawUnitsActive   = caseLawUnitService.CaseLawUnit_Select(caseSessionActComplain.CaseId ?? 0, null).ToList();
                var judgeRep             = caseLawUnitsActive.Where(x => x.JudgeRoleId == NomenclatureConstants.JudgeRole.JudgeReporter).FirstOrDefault();
                var sessionActComplainVM = new CaseSessionActComplainSprVM()
                {
                    Id        = caseSessionActComplain.Id,
                    JudgeName = (judgeRep != null) ? judgeRep.LawUnitName + ((!string.IsNullOrEmpty(judgeRep.DepartmentLabel)) ? " състав: " + judgeRep.DepartmentLabel : string.Empty) : string.Empty,
                    //ComplainDocumentNumber = caseSessionActComplain.ComplainDocument.DocumentNumber,
                    //ComplainDocumentDate = caseSessionActComplain.ComplainDocument.DocumentDate,
                    //ComplainDocumentType = caseSessionActComplain.ComplainDocument.DocumentType.Label,
                    ComplainDocumentNumber = migrationSend != null ? (migrationSend.OutDocument != null ? migrationSend.OutDocument.DocumentNumber : string.Empty) : string.Empty,
                    ComplainDocumentDate   = migrationSend != null ? (migrationSend.OutDocument != null ? (DateTime?)migrationSend.OutDocument.DocumentDate : null) : null,
                    ComplainDocumentType   = migrationSend != null ? (migrationSend.OutDocument != null ? migrationSend.OutDocument.DocumentType.Label : string.Empty) : string.Empty,
                    ActName        = caseSessionActComplain.CaseSessionAct.RegNumber + "/" + (caseSessionActComplain.CaseSessionAct.RegDate ?? DateTime.Now).ToString("dd.MM.yyyy"),
                    CaseGroupLabel = caseSessionActComplain.Case.CaseType.Label + " " + caseSessionActComplain.Case.CaseCode.Code,
                    CaseNumber     = caseSessionActComplain.Case.RegNumber + "/" + caseSessionActComplain.Case.RegDate.Year + "г.",
                    CaseId         = caseSessionActComplain.Case.Id,
                    DateReturn     = caseSessionActComplain.CaseSessionAct.ActReturnDate, /*migration?.DateWrt,*/
                    Result         = (complainResult != null) ? complainResult.ActResult.Label : string.Empty,
                    Instance       = (migrationRecive != null) ? migrationRecive.Case.Court.Label : string.Empty,
                    IndexLabel     = (caseSessionActComplain.CaseSessionAct.ActComplainIndex != null) ? caseSessionActComplain.CaseSessionAct.ActComplainIndex.Code + " - " + caseSessionActComplain.CaseSessionAct.ActComplainIndex.Label : string.Empty
                };

                result.Add(sessionActComplainVM);
            }

            return(result.AsQueryable());
        }