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()))); }
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())); }
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)); }
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)); }
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)); }
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)); }