public CollectionResult <Department> GetDepartmentsByParams(DepartmentsFilterParams parameters) { var appointments = GetAllDepartments(); FillDepartmentsQueryParams(parameters); appointments = appointments.Where(parameters.Expression); var totalCount = appointments.Count(); var result = appointments .OrderBy(x => x.Name) .Skip(parameters.Skip) .Take(parameters.Take) .AsNoTracking() .ToList(); var appointmentsResult = new CollectionResult <Department> { Collection = result, TotalCount = totalCount }; return(appointmentsResult); }
private void FillDepartmentsQueryParams(DepartmentsFilterParams filterParams) { var predicate = PredicateBuilder.New <Department>(t => t.FacilityId == filterParams.FacilityId); if (!string.IsNullOrWhiteSpace(filterParams.Term)) { predicate = predicate.And(t => t.Name.Contains(filterParams.Term)); } filterParams.Expression = predicate; }
public CollectionResult <DepartmentDto> GetDepartmentsByParams(DepartmentsFilterParams filterParams) { var items = _unitOfWork.DepartmentRepository.GetDepartmentsByParams(filterParams); var result = new CollectionResult <DepartmentDto> { TotalCount = items.TotalCount, Collection = AutoMapper.Mapper.Map <IEnumerable <Department>, List <DepartmentDto> >(items.Collection) }; return(result); }
public IActionResult GetDepartments([FromBody] DepartmentsFilterParams filterParams) { var userModel = User.GetUserModel(); if (userModel.FacilityId.HasValue) { filterParams.FacilityId = userModel.FacilityId.Value; } var items = _departmentService.GetDepartmentsByParams(filterParams); return(Json(JsonResultData.Success(items))); }