Exemple #1
0
        public IQueryable <DeactivateItemVM> Select(DeactivateItemFilterVM filter)
        {
            IQueryable <DeactivateItemVM> result = null;

            switch (filter.SourceType)
            {
            case SourceTypeSelectVM.Document:
                result = repo.AllReadonly <Document>()
                         .Include(x => x.DocumentType)
                         .Include(x => x.UserExpired)
                         .ThenInclude(x => x.LawUnit)
                         .Where(x => x.DateExpired != null)
                         .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired)
                         .Where(x => x.CourtId == userContext.CourtId)
                         .Select(x => new DeactivateItemVM
                {
                    SourceType            = filter.SourceType,
                    SourceId              = x.Id,
                    SourceInfo            = $"{x.DocumentType.Label} {x.DocumentNumber}",
                    SourceDate            = x.DocumentDate,
                    DeactivateUserName    = x.UserExpired.LawUnit.FullName,
                    DeactivateDate        = x.DateExpired.Value,
                    DeactivateDescription = x.DescriptionExpired
                }).AsQueryable();
                break;

            case SourceTypeSelectVM.CaseSessionAct:
                result = repo.AllReadonly <CaseSessionAct>()
                         .Include(x => x.Case)
                         .ThenInclude(x => x.CaseType)
                         .Include(x => x.ActType)
                         .Include(x => x.UserExpired)
                         .ThenInclude(x => x.LawUnit)
                         .Where(x => x.DateExpired != null)
                         .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired)
                         .Where(x => x.CourtId == userContext.CourtId)
                         .Select(x => new DeactivateItemVM
                {
                    SourceType            = filter.SourceType,
                    SourceId              = x.Id,
                    SourceInfo            = $"{x.Case.CaseType.Code} {x.Case.RegNumber}; {x.ActType.Label} {x.RegNumber}",
                    SourceDate            = (x.RegDate ?? x.DateWrt),
                    DeactivateUserName    = x.UserExpired.LawUnit.FullName,
                    DeactivateDate        = x.DateExpired.Value,
                    DeactivateDescription = x.DescriptionExpired
                }).AsQueryable();
                break;

            default:
                return(null);
            }
            return(result.Where(x => filter.SourceDateFrom.OrMinDate() <= x.SourceDate && filter.SourceDateTo.OrMaxDate() >= x.SourceDate)
                   .Where(x => EF.Functions.ILike(x.SourceInfo, filter.SourceInfo.ToPaternSearch()))
                   .Where(x => EF.Functions.ILike(x.DeactivateUserName, filter.DeactivateUserName.ToPaternSearch())));
        }
Exemple #2
0
        public IActionResult Index()
        {
            var model = new DeactivateItemFilterVM();
            List <SelectListItem> sources = new List <SelectListItem>()
            {
                new SelectListItem("Документи", SourceTypeSelectVM.Document.ToString()),
                new SelectListItem("Съдебни актове", SourceTypeSelectVM.CaseSessionAct.ToString())
            };

            ViewBag.SourceType_ddl = sources;
            return(View(model));
        }
        public IActionResult Index()
        {
            var model = new DeactivateItemFilterVM();
            List <SelectListItem> sources = new List <SelectListItem>()
            {
                new SelectListItem("Документи", SourceTypeSelectVM.Document.ToString()),
                new SelectListItem("Прикачени документи", (SourceTypeSelectVM.Files - SourceTypeSelectVM.Document).ToString()),
                new SelectListItem("Уведомления и призовки", SourceTypeSelectVM.CaseNotification.ToString()),
                //new SelectListItem("Документи към призовки",(SourceTypeSelectVM.Files - SourceTypeSelectVM.CaseNotification).ToString()),
                new SelectListItem("Съдебни актове", SourceTypeSelectVM.CaseSessionAct.ToString())
            };

            ViewBag.SourceType_ddl = sources;
            return(View(model));
        }
Exemple #4
0
        public IActionResult ListData(IDataTablesRequest request, DeactivateItemFilterVM filter)
        {
            var data = service.Select(filter);

            return(request.GetResponse(data));
        }
        public IQueryable <DeactivateItemVM> Select(DeactivateItemFilterVM filter)
        {
            IQueryable <DeactivateItemVM> result = null;

            switch (filter.SourceType)
            {
            case SourceTypeSelectVM.Document:
                result = repo.AllReadonly <Document>()
                         .Include(x => x.DocumentType)
                         .Include(x => x.UserExpired)
                         .ThenInclude(x => x.LawUnit)
                         .Where(x => x.DateExpired != null)
                         .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired)
                         .Where(x => x.CourtId == userContext.CourtId)
                         .Select(x => new DeactivateItemVM
                {
                    SourceType            = filter.SourceType,
                    SourceId              = x.Id,
                    SourceInfo            = $"{x.DocumentType.Label} {x.DocumentNumber}",
                    SourceDate            = x.DocumentDate,
                    DeactivateUserName    = x.UserExpired.LawUnit.FullName,
                    DeactivateDate        = x.DateExpired.Value,
                    DeactivateDescription = x.DescriptionExpired
                }).AsQueryable();
                break;

            case (SourceTypeSelectVM.Files - SourceTypeSelectVM.Document):
            {
                var files = repo.AllReadonly <MongoFile>()
                            .Include(x => x.UserExpired)
                            .ThenInclude(x => x.LawUnit)
                            .Where(x => x.DateExpired != null)
                            .Where(x => x.SourceType == SourceTypeSelectVM.Document)
                            .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired);
                var tbl = repo.All <Document>().Include(x => x.DocumentType);

                result = (from f in files
                          join d in tbl on f.SourceIdNumber equals d.Id
                          where d.CourtId == userContext.CourtId
                          select new DeactivateItemVM
                    {
                        SourceType = filter.SourceType,
                        SourceId = f.Id,
                        SourceInfo = $"{d.DocumentType.Label} {d.DocumentNumber} : {f.FileName}",
                        SourceDate = f.DateUploaded,
                        DeactivateUserName = f.UserExpired.LawUnit.FullName,
                        DeactivateDate = f.DateExpired.Value,
                        DeactivateDescription = f.DescriptionExpired
                    }).AsQueryable();
            }
            break;

            case SourceTypeSelectVM.CaseNotification:
                result = repo.AllReadonly <CaseNotification>()
                         .Include(x => x.Case)
                         .ThenInclude(x => x.CaseType)
                         .Include(x => x.NotificationType)
                         .Include(x => x.UserExpired)
                         .ThenInclude(x => x.LawUnit)
                         .Where(x => x.DateExpired != null)
                         .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired)
                         .Where(x => x.CourtId == userContext.CourtId)
                         .Select(x => new DeactivateItemVM
                {
                    SourceType            = filter.SourceType,
                    SourceId              = x.Id,
                    SourceInfo            = $"{x.Case.CaseType.Code} {x.Case.RegNumber}; {x.NotificationType.Label} {x.RegNumber}",
                    SourceDate            = x.RegDate,
                    DeactivateUserName    = x.UserExpired.LawUnit.FullName,
                    DeactivateDate        = x.DateExpired.Value,
                    DeactivateDescription = x.DescriptionExpired
                }).AsQueryable();
                break;
            //case (SourceTypeSelectVM.Files - SourceTypeSelectVM.CaseNotification):
            //    {
            //        var files = repo.AllReadonly<MongoFile>()
            //                        .Include(x => x.UserExpired)
            //                        .ThenInclude(x => x.LawUnit)
            //                        .Where(x => x.DateExpired != null)
            //                        .Where(x => x.SourceType == SourceTypeSelectVM.CaseNotification)
            //                        .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired);
            //        var tbl = repo.All<CaseNotification>();

            //        result = (from f in files
            //                  from d in tbl
            //                  where d.Id == f.SourceIdNumber
            //                  select new DeactivateItemVM
            //                  {
            //                      SourceType = filter.SourceType,
            //                      SourceId = f.Id,
            //                      SourceInfo = $"{f.FileName}",
            //                      SourceDate = f.DateUploaded,
            //                      DeactivateUserName = f.UserExpired.LawUnit.FullName,
            //                      DeactivateDate = f.DateExpired.Value,
            //                      DeactivateDescription = f.DescriptionExpired
            //                  }).AsQueryable();
            //    }
            //    break;
            case SourceTypeSelectVM.CaseSessionAct:
                result = repo.AllReadonly <CaseSessionAct>()
                         .Include(x => x.Case)
                         .ThenInclude(x => x.CaseType)
                         .Include(x => x.ActType)
                         .Include(x => x.UserExpired)
                         .ThenInclude(x => x.LawUnit)
                         .Where(x => x.DateExpired != null)
                         .Where(x => filter.DeactivateDateFrom.OrMinDate() <= x.DateExpired && filter.DeactivateDateTo.OrMaxDate() >= x.DateExpired)
                         .Where(x => x.CourtId == userContext.CourtId)
                         .Select(x => new DeactivateItemVM
                {
                    SourceType            = filter.SourceType,
                    SourceId              = x.Id,
                    SourceInfo            = $"{x.Case.CaseType.Code} {x.Case.RegNumber}; {x.ActType.Label} {x.RegNumber}",
                    SourceDate            = (x.RegDate ?? x.DateWrt),
                    DeactivateUserName    = x.UserExpired.LawUnit.FullName,
                    DeactivateDate        = x.DateExpired.Value,
                    DeactivateDescription = x.DescriptionExpired
                }).AsQueryable();
                break;

            default:
                return(null);
            }
            return(result.Where(x => filter.SourceDateFrom.OrMinDate() <= x.SourceDate && filter.SourceDateTo.OrMaxDate() >= x.SourceDate)
                   .Where(x => EF.Functions.ILike(x.SourceInfo, filter.SourceInfo.ToPaternSearch()))
                   .Where(x => EF.Functions.ILike(x.DeactivateUserName, filter.DeactivateUserName.ToPaternSearch())));
        }