public ActionResult List() { ListViewModel model = new ListViewModel(); model.Filter = new ListFilterViewModel(); model.CurrentPage = 1; model.PageSize = 10; EmployeeSearchFilter searchFilter = new EmployeeSearchFilter(); searchFilter.CurrentPage = model.CurrentPage.HasValue ? model.CurrentPage.Value : 1; searchFilter.PageSize = model.PageSize.HasValue ? model.PageSize.Value : 10; searchFilter.SortOn = model.SortOn; searchFilter.SortDirection = model.SortDirection; searchFilter.Filter_Name = model.Filter.Filter_Name; searchFilter.Filter_LastName = model.Filter.Filter_LastName; model.CurrentLanguageTwoChar = SessionHelper.CurrentLanguageTwoChar; var apiResponseModel = _employeeService.GetAllPaginatedWithDetailBySearchFilter(SessionHelper.CurrentUser.UserToken, SessionHelper.CurrentLanguageTwoChar, searchFilter); if (apiResponseModel.ResultStatusCode == ResultStatusCodeStatic.Success) { model.DataList = apiResponseModel.Data; } else { ViewBag.ErrorMessage = apiResponseModel.ResultStatusMessage; ViewBag.ErrorMessageList = apiResponseModel.ErrorMessageList; return(View(model)); } return(View(model)); }
public IActionResult GetEmployees([FromBody] EmployeeSearchFilter searchFilter) { //Result<OrganisationModel> result = ogranisationService.Get(searchFilter.SearchText, searchFilter.PageData); //ogranisationService.MapRelativeLogoPaths(result.Items, configuration, HttpContext.Request.CurrentUrl()); return(Ok(new Result <EmployeeModel>())); }
public Result <EmployeeModel> GetEmployees(EmployeeSearchFilter employeeSearchFilter) { var results = unitOfWork.Employee.Get(employeeSearchFilter); return(new Result <EmployeeModel> { Items = results.Items.Select(o => employeeBuilder.BuildToEmployeeModel(o)).ToList(), TotalItems = results.TotalItems }); }
public Result <Employee> Get(EmployeeSearchFilter filter) { IQueryable <Employee> query = dbSet.Where(c => c.CompanyId == filter.CompanyId); if (!string.IsNullOrEmpty(filter.SearchText)) { query = query.Where(o => o.FirstName.Contains(filter.SearchText) || o.LastName.Contains(filter.SearchText)); } return(GetPagedEntities(query, filter.PageData, "PhysicalAddress, PostalAddress, CreateUser, ModifyUser, EmployeeCompanyDetailEmployee")); }
public PaginatedList <Employee> GetAllPaginatedWithDetailBySearchFilter(EmployeeSearchFilter searchFilter) { PaginatedList <Employee> resultList = new PaginatedList <Employee>(new List <Employee>(), 0, searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection); using (AppDBContext dbContext = new AppDBContext(_config)) { var query = from e in dbContext.Employee select e; // filtering if (!string.IsNullOrEmpty(searchFilter.Filter_Name)) { query = query.Where(r => r.Name.Contains(searchFilter.Filter_Name)); } if (!string.IsNullOrEmpty(searchFilter.Filter_LastName)) { query = query.Where(r => r.LastName.Contains(searchFilter.Filter_LastName)); } // asnotracking query = query.AsNoTracking(); //total count var totalCount = query.Count(); //sorting if (!string.IsNullOrEmpty(searchFilter.SortOn)) { // using System.Linq.Dynamic.Core; nuget paketi ve namespace eklenmelidir, dynamic order by yapmak icindir query = query.OrderBy(searchFilter.SortOn + " " + searchFilter.SortDirection.ToUpper()); } else { // deefault sıralama vermek gerekiyor yoksa skip metodu hata veriyor ef 6'da -- 28.10.2019 15:40 // https://stackoverflow.com/questions/3437178/the-method-skip-is-only-supported-for-sorted-input-in-linq-to-entities query = query.OrderBy(r => r.Id); } //paging query = query.Skip((searchFilter.CurrentPage - 1) * searchFilter.PageSize).Take(searchFilter.PageSize); resultList = new PaginatedList <Employee>( query.ToList(), totalCount, searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection ); } return(resultList); }
public ApiResponseModel <PaginatedList <EmployeeWithDetail> > GetAllPaginatedWithDetailBySearchFilter(string userToken, string displayLanguage, EmployeeSearchFilter searchFilter) { ApiResponseModel <PaginatedList <EmployeeWithDetail> > result = new ApiResponseModel <PaginatedList <EmployeeWithDetail> >() { Data = new PaginatedList <EmployeeWithDetail>(new List <EmployeeWithDetail>(), 0, searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection) }; //todo: portal api'den çekme işlemi olacak using (HttpClient httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(ConfigHelper.ApiUrl); httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken); httpClient.DefaultRequestHeaders.Add("DisplayLanguage", displayLanguage); var portalApiRequestModel = new GetAllPaginatedRequestModel(); portalApiRequestModel.CurrentPage = searchFilter.CurrentPage; portalApiRequestModel.PageSize = searchFilter.PageSize; portalApiRequestModel.SortOn = searchFilter.SortOn; portalApiRequestModel.SortDirection = searchFilter.SortDirection; portalApiRequestModel.Name = searchFilter.Filter_Name; portalApiRequestModel.LastName = searchFilter.Filter_LastName; HttpResponseMessage response = httpClient.GetAsync(string.Format("v1/Employees?CurrentPage={0}&PageSize={1}&SortOn={2}&SortDirection={3}&Name={4}&LastName={5}", searchFilter.CurrentPage, searchFilter.PageSize, searchFilter.SortOn, searchFilter.SortDirection, searchFilter.Filter_Name, searchFilter.Filter_LastName)).Result; result = response.Content.ReadAsJsonAsync <ApiResponseModel <PaginatedList <EmployeeWithDetail> > >().Result; } return(result); }