示例#1
0
        public IEnumerable <WorkTaskVM> Select(WorkTaskFilterVM filter)
        {
            var _userOrganizations = userContext.CourtOrganizations;

            Expression <Func <WorkTaskVM, bool> > whereSelect = x => true;

            if (filter.UserMode == 1)
            {
                whereSelect = x => (
                    (x.TaskStateId == WorkTaskConstants.States.New && _userOrganizations.Contains(x.CourtOrganizationId ?? 0))
                    ||
                    (x.UserId == userContext.UserId)
                    ) && x.UserCreatedId == (filter.UserId ?? x.UserCreatedId);
            }
            else
            {
                whereSelect = x => (x.UserCreatedId == userContext.UserId) && x.UserId == (filter.UserId ?? x.UserId);
            }
            Expression <Func <WorkTaskVM, bool> > whereState = x => x.TaskStateId == (filter.TaskStateId ?? x.TaskStateId);

            if (filter.TaskStateId == WorkTaskConstants.States.NotFinishedId)
            {
                whereState = x => WorkTaskConstants.States.NotFinished.Contains(x.TaskStateId);
            }

            return(selectTasks(false, false, 0, 0, true).AsQueryable()
                   .Where(x => x.DateCreated >= (filter.DateFrom ?? x.DateCreated) && x.DateCreated <= (filter.DateTo.MakeEndDate() ?? x.DateCreated))
                   .Where(whereSelect)
                   .Where(x => x.TaskTypeId == (filter.TaskTypeId ?? x.TaskTypeId))
                   .Where(whereState)
                   .Where(x => EF.Functions.ILike(x.SourceDescription ?? "", filter.SourceDescription.ToPaternSearch()))
                   .Where(x => EF.Functions.ILike(x.ParentDescription ?? "", filter.ParentDescription.ToEndingPaternSearch())));
        }
示例#2
0
        public IActionResult Index_LoadData(IDataTablesRequest request, WorkTaskFilterVM model)
        {
            model.TaskTypeId        = model.TaskTypeId.EmptyToNull();
            model.TaskStateId       = model.TaskStateId.EmptyToNull();
            model.SourceDescription = model.SourceDescription.EmptyToNull();
            model.UserId            = model.UserId.EmptyToNull("0");
            var data = workTaskService.Select(model);

            return(request.GetResponse(data.AsQueryable()));
        }
示例#3
0
        public IActionResult IndexAll_LoadData(IDataTablesRequest request, WorkTaskFilterVM model)
        {
            model.TaskTypeId        = model.TaskTypeId.EmptyToNull();
            model.TaskStateId       = model.TaskStateId.EmptyToNull();
            model.SourceDescription = model.SourceDescription.EmptyToNull();
            model.CreatedBy         = model.CreatedBy.EmptyToNull();
            model.AssignedTo        = model.AssignedTo.EmptyToNull();
            var data = workTaskService.SelectAll(model);

            return(request.GetResponse(data));
        }
示例#4
0
        public IActionResult IndexAll(DateTime?dateFrom, DateTime?dateTo, string createdBy, string assignedTo, int?taskTypeId, int?taskStateId, string sourceDescription)
        {
            WorkTaskFilterVM model = new WorkTaskFilterVM()
            {
                DateFrom          = dateFrom,
                DateTo            = dateTo,
                CreatedBy         = createdBy,
                AssignedTo        = assignedTo,
                TaskTypeId        = taskTypeId,
                TaskStateId       = taskStateId,
                SourceDescription = sourceDescription
            };

            ViewBag.TaskTypeId_ddl  = nomenclatureService.GetDropDownList <TaskType>();
            ViewBag.TaskStateId_ddl = nomenclatureService.GetDropDownList <TaskState>();
            return(View(model));
        }
示例#5
0
        public IActionResult Index(DateTime?dateFrom, DateTime?dateTo, int?userMode, string userId, int?taskTypeId, int?taskStateId, string sourceDescription)
        {
            WorkTaskFilterVM model = new WorkTaskFilterVM()
            {
                DateFrom          = dateFrom,
                DateTo            = dateTo,
                UserMode          = userMode ?? 1,
                UserId            = userId,
                TaskTypeId        = taskTypeId,
                TaskStateId       = taskStateId,
                SourceDescription = sourceDescription
            };

            ViewBag.TaskTypeId_ddl = nomenclatureService.GetDropDownList <TaskType>();
            var states = nomenclatureService.GetDropDownList <TaskState>(false);

            states.Insert(0, new SelectListItem("Неприключили", WorkTaskConstants.States.NotFinishedId.ToString()));
            states.Insert(1, new SelectListItem("Всички", NomenclatureConstants.NullVal.ToString()));
            ViewBag.TaskStateId_ddl = states;
            return(View(model));
        }
示例#6
0
 public IQueryable <WorkTaskVM> SelectAll(WorkTaskFilterVM filter)
 {
     return(repo.AllReadonly <WorkTask>()
            .Include(x => x.TaskType)
            .Include(x => x.TaskState)
            .Include(x => x.CourtOrganization)
            .Include(x => x.User)
            .ThenInclude(x => x.LawUnit)
            .Include(x => x.UserCreated)
            .ThenInclude(x => x.LawUnit)
            .Where(x => x.CourtId == userContext.CourtId)
            .Where(x => x.DateCreated >= (filter.DateFrom ?? x.DateCreated) && x.DateCreated <= (filter.DateTo.MakeEndDate() ?? x.DateCreated))
            .Where(x => x.TaskTypeId == (filter.TaskTypeId ?? x.TaskTypeId) && x.TaskStateId == (filter.TaskStateId ?? x.TaskStateId))
            .Where(x => EF.Functions.ILike(x.SourceDescription ?? "", filter.SourceDescription.ToPaternSearch()))
            .Where(x => EF.Functions.ILike(x.ParentDescription ?? "", filter.ParentDescription.ToEndingPaternSearch()))
            .Select(x => new WorkTaskVM
     {
         Id = x.Id,
         SourceType = x.SourceType,
         SourceId = x.SourceId,
         SourceDescription = x.SourceDescription,
         DateCreated = x.DateCreated,
         DateAccepted = x.DateAccepted,
         DateCompleted = x.DateCompleted,
         DateEnd = x.DateEnd,
         UserFullName = ((x.User != null) ? x.User.LawUnit.FullName : x.CourtOrganization.Label) ?? "",
         UserCreatedFullName = x.UserCreated.LawUnit.FullName,
         Description = x.Description,
         DescriptionCreated = x.DescriptionCreated,
         TaskTypeName = x.TaskType.Label,
         TaskStateName = x.TaskState.Label
     })
            .Where(x => EF.Functions.ILike(x.UserCreatedFullName, filter.CreatedBy.ToPaternSearch()))
            .Where(x => EF.Functions.ILike(x.UserFullName, filter.AssignedTo.ToPaternSearch()))
            .OrderBy(x => x.DateCreated));
 }