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
            });
        }
Example #4
0
        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"));
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }