Пример #1
0
        public async Task <PagedList <Employee> > GetEmployees(EmployeeParams employeeParams)
        {
            var employees = _context.Employees.Include(d => d.Designation)
                            .OrderByDescending(e => e.LastActive).AsQueryable();

            //employees = employees.Where(u => u.Id != employeeParams.EmployeeId);

            //employees = employees.Where(u => u.Gender == employeeParams.Gender);



            //if (employeeParams.MinAge != 18 || employeeParams.MaxAge != 99)
            //{
            //    var minDob = DateTime.Today.AddYears(-employeeParams.MaxAge - 1);
            //    var maxDob = DateTime.Today.AddYears(-employeeParams.MinAge);

            //    employees = employees.Where(u => u.DateOfBirth >= minDob && u.DateOfBirth <= maxDob);
            //}

            if (!string.IsNullOrEmpty(employeeParams.OrderBy))
            {
                switch (employeeParams.OrderBy)
                {
                case "created":
                    employees = employees.OrderByDescending(u => u.Created);
                    break;

                default:
                    employees = employees.OrderByDescending(u => u.LastActive);
                    break;
                }
            }

            return(await PagedList <Employee> .CreateAsync(employees, employeeParams.PageNumber, employeeParams.PageSize));
        }
        public async Task <IActionResult> GetDeletedEmployees([FromQuery] EmployeeParams <Employee> param)
        {
            param.Deleted = true;
            var result = await GetAllEmployees(param);

            return(Ok(result));
        }
Пример #3
0
        public async Task <IActionResult> GetEmployee(long id, [FromQuery] EmployeeParams employeeParams)
        {
            var employee = await _service.GetByIdAsync(id);

            if (employeeParams.OperationStatus[employeeParams.GetOperationIndex] == employeeParams.Mode)
            {
                var employeeDto = _mapper.Map <EmployeeDetailDto>(employee);
                return(Ok(employeeDto));
            }
            else
            {
                EmployeeEditDto employeeEditDto;
                if (employeeParams.OperationStatus[employeeParams.CreateOperationIndex] == employeeParams.Mode)
                {
                    employeeEditDto = new EmployeeEditDto();
                }
                else
                {
                    employeeEditDto = _mapper.Map <EmployeeEditDto>(employee);
                }

                await _dataBuildHelper.GetAdditionalData(employeeEditDto);

                return(Ok(employeeEditDto));
            }
        }
Пример #4
0
        public async Task <PagedList <Employee> > GetEmployee(EmployeeParams employeeParams)
        {
            var employee = _context.Employees.OrderByDescending(x => x.FirstName).AsQueryable();

            employee = employee.Where(x => x.EmployeeId != employeeParams.EmployeeId);

            return(await PagedList <Employee> .CreateAsync(employee, employeeParams.PageNumber, employeeParams.PageSize));
        }
        public async Task<IActionResult> GetEmployees([FromQuery] EmployeeParams employeeParams)
        {
            var employee = await _repo.GetEmployee(employeeParams);
            var employeeToReturn = _mapper.Map<IEnumerable<EmployeeForListDto>>(employee);

            Response.AddPagination(employee.CurrentPage, employee.PageSize, employee.TotalCount, employee.TotalPages);

            return Ok(employeeToReturn);
        }
Пример #6
0
        public async Task <PagedList <Employee> > GetAllEmployees(EmployeeParams Params)
        {
            var employee = _Context.Employees
                           .Include(b => b.Salary)
                           .Include(b => b.EmployeeDesignation)
                           .Include(b => b.Address)
                           .AsQueryable();

            if (!string.IsNullOrEmpty(Params.Name))
            {
                employee = employee.Where(u => u.Name == Params.Name);
            }

            if (!string.IsNullOrEmpty(Params.Designation))
            {
                employee = employee.Where(u => u.EmployeeDesignation.Name == Params.Designation);
            }

            if (Params.Gender != null)
            {
                employee = employee.Where(u => u.Gender == Params.Gender);
            }

            if (Params.MinSalary != 10000 || Params.MaxSalary != 1000000)
            {
                employee = employee.Where(u => u.Salary.Salaries >= Params.MinSalary && u.Salary.Salaries <= Params.MaxSalary);
            }

            if (!string.IsNullOrEmpty(Params.OrderBy))
            {
                switch (Params.OrderBy)
                {
                case "Salary":
                    employee = employee.OrderByDescending(u => u.Salary.Salaries);
                    break;

                case "Gender":
                    employee = employee.OrderByDescending(u => u.Gender);
                    break;

                case "Department":
                    employee = employee.OrderByDescending(u => u.Department.Name);
                    break;

                case "Designation":
                    employee = employee.OrderByDescending(u => u.EmployeeDesignation.Name);
                    break;

                default:
                    employee = employee.OrderByDescending(u => u.Name);
                    break;
                }
            }

            return(await PagedList <Employee> .CreateAsync(employee, Params.PageNumber, Params.PageSize));
        }
Пример #7
0
        public async Task <IEnumerable <EmployeeResource> > GetEmployees([FromQuery] EmployeeParams Params)
        {
            var Employee = await _repo.GetAllEmployees(Params);

            var Employees = _mapper.Map <List <EmployeeResource> >(Employee);

            Response.AddPagination(Employee.CurrentPage, Employee.PageSize,
                                   Employee.TotalCount, Employee.TotalPages);
            return(Employees);
        }
        public async Task <IActionResult> GetPagedEmployee([FromQuery] EmployeeParams employeeParams)
        {
            var employees = await employeeRepository.GetPagedEmployees(employeeParams);

            var result = mapper.Map <IEnumerable <ViewEmployeeResource> >(employees);

            Response.AddPagination(employees.CurrentPage, employees.PageSize, employees.TotalCount, employees.TotalPages);

            return(Ok(result));
        }
Пример #9
0
        public async Task <PagedList <Employees> > GetEmployees(EmployeeParams employeeParams)
        {
            var employees = _context.Employees.Include(o => o.Orders).AsQueryable();

            if (!string.IsNullOrEmpty(employeeParams.LastName))
            {
                employees = employees.Where(e => e.LastName.Contains(employeeParams.LastName));
            }

            return(await PagedList <Employees> .CreateAsync(employees, employeeParams.PageNumber, employeeParams.PageSize));
        }
Пример #10
0
        public async Task <IActionResult> Get([FromQuery] EmployeeParams employeeParams)
        {
            var employees = await _repo.GetEmployeesAsync(employeeParams);

            if (employees == null)
            {
                return(NotFound());
            }

            return(Ok(employees));
        }
Пример #11
0
        public async Task <ActionResult> GetList([FromQuery] EmployeeParams <Employee> param)
        {
            var dailies = await _uow.DailyRepository.Get("", x => x.OrderBy(t => t.Details));

            var empPagedList = await PagedList <Daily> .CreateAsync(dailies.AsQueryable(), param.PageNumber, param.PageSize);

            var empsToReturn = _mapper.Map <IEnumerable <DailyListToReturn> > (empPagedList);

            Response.AddPageination(empPagedList.CurrentPage, empPagedList.PageSize, empPagedList.TotalCount, empPagedList.TotalPages);

            return(Ok(empsToReturn));
        }
        public async Task <PagedList <Employee> > GetEmployees(EmployeeParams employeeParams)
        {
            var employees = _context.Employees.Include(p => p.Photos).AsQueryable();

            employees = employees.Where(e => e.IsDelete == false);

            if (employeeParams.Name != null)
            {
                employees = employees.Where(e => e.Name.ToLower().Contains(employeeParams.Name));
            }

            if (employeeParams.Phone != null)
            {
                if (employeeParams.Phone.All(char.IsDigit))
                {
                    employees = employees.Where(e => e.Phone.Contains(employeeParams.Phone));
                }
            }

            if (employeeParams.Address != null)
            {
                employees = employees.Where(e => e.Address.ToLower().Contains(employeeParams.Address));
            }

            if (employeeParams.Gender != null)
            {
                employees = employees.Where(e => e.Gender.Contains(employeeParams.Gender));
            }

            if (employeeParams.Email != null)
            {
                employees = employees.Where(e => e.Email.ToLower().Contains(employeeParams.Email));
            }

            if (employeeParams.TeamId != 0)
            {
                employees = employees.Where(e => e.TeamId.Equals(employeeParams.TeamId));
            }

            if (employeeParams.Age != 0)
            {
                employees = employees.Where(e => e.DateOfBirth.CalculateAge() == employeeParams.Age);
            }


            return(await PagedList <Employee> .CreateAsync(employees, employeeParams.PageNumber, employeeParams.PageSize));
        }
Пример #13
0
        public async Task <IActionResult> GetEmployees([FromQuery] EmployeeParams employeeParams)
        {
            //var currentEmployeeId = int.Parse(Employee.FindFirst(ClaimTypes.NameIdentifier).Value);

            //var employeeFromRepo = await _repo.GetEmployee(currentEmployeeId);

            //employeeParams.EmployeeId = currentEmployeeId;

            //if (string.IsNullOrEmpty(employeeParams.Gender))
            //{
            //    employeeParams.Gender = employeeFromRepo.Gender == "male" ? "female" : "male";
            //}

            var employees = await _repo.GetEmployees(employeeParams);

            var employeesToReturn = _mapper.Map <IEnumerable <EmployeeForListDto> >(employees);

            Response.AddPagination(employees.CurrentPage, employees.PageSize,
                                   employees.TotalCount, employees.TotalPages);

            return(Ok(employeesToReturn));
        }
        public async Task <IActionResult> GetAllEmployees([FromQuery] EmployeeParams <Employee> param)
        {
            string gender = "";

            string[] splitedName = param.Name.ToNormalizedString().Split(" ");
            if (param.Male == true && param.Female == false)
            {
                gender = "Male";
            }
            else if (param.Female == true && param.Male == false)
            {
                gender = "Female";
            }
            else if (param.Female == false && param.Male == false)
            {
                gender = "None";
            }
            var emps = await _uow.EmployeeRepository.Get("Department",
                                                         x => x.OrderBy(t => t.Name), emp =>
                                                         splitedName.All (p => emp.KnownAs.Contains(p)) &&
                                                         emp.KnownAs.StartsWith (splitedName[0]) &&
                                                         emp.NationalId.StartsWith (param.NationalId == null ? string.Empty : param.NationalId) &&
                                                         emp.Grade.Contains (param.Grade == null ? string.Empty : param.Grade) &&
                                                         emp.Department.Name.Contains (param.Department) &&
                                                         emp.Section.Contains (param.Section == null ? string.Empty : param.Section) &&
                                                         emp.Collage.Contains (param.Collage == null ? string.Empty : param.Collage) &&
                                                         emp.Code.Contains ("") &&
                                                         emp.Gender.StartsWith (gender) &&
                                                         emp.Deleted == param.Deleted
                                                         );

            var empPagedList = await PagedList <Employee> .CreateAsync(emps.AsQueryable(), param.PageNumber, param.PageSize);

            var empsToReturn = _mapper.Map <IEnumerable <EmployeeDataListToReturnDto> > (empPagedList);

            Response.AddPageination(empPagedList.CurrentPage, empPagedList.PageSize, empPagedList.TotalCount, empPagedList.TotalPages);
            return(Ok(empsToReturn));
        }
        public async Task <IEnumerable <Employee> > GetEmployeesAsync(EmployeeParams employeeParams)
        {
            var employees = await _db.Employees.Include(x => x.Manager).OrderBy(x => x.PersonalIdentity).ToListAsync();

            return(employees);
        }
        public async Task <PagedList <Employee> > GetPagedEmployees(EmployeeParams employeeParams)
        {
            var employees = context.Employee
                            .Include(e => e.Department)
                            .AsQueryable();

            // perlu user id untuk membatasi
            if (!string.IsNullOrEmpty(employeeParams.HrCoreNo))
            {
                employees = employees.Where(e =>
                                            e.HrCoreNo.Contains(employeeParams.HrCoreNo, StringComparison.OrdinalIgnoreCase));
            }

            if (!string.IsNullOrEmpty(employeeParams.Firstname))
            {
                employees = employees.Where(e =>
                                            e.Firstname.Contains(employeeParams.Firstname, StringComparison.OrdinalIgnoreCase));
            }

            if (!string.IsNullOrEmpty(employeeParams.Lastname))
            {
                employees = employees.Where(e =>
                                            e.Lastname.Contains(employeeParams.Lastname, StringComparison.OrdinalIgnoreCase));
            }

            if (!string.IsNullOrEmpty(employeeParams.DepartmentCode))
            {
                employees = employees.Where(e =>
                                            e.Department.Code.Contains(employeeParams.DepartmentCode, StringComparison.OrdinalIgnoreCase));
            }

            if (!string.IsNullOrEmpty(employeeParams.DepartmentName))
            {
                employees = employees.Where(e =>
                                            e.Department.Name.Contains(employeeParams.DepartmentName, StringComparison.OrdinalIgnoreCase));
            }


            //name,sort
            if (employeeParams.isDescending)
            {
                if (!string.IsNullOrEmpty(employeeParams.OrderBy))
                {
                    switch (employeeParams.OrderBy.ToLower())
                    {
                    case "hrcoreno":
                        employees = employees.OrderByDescending(e => e.HrCoreNo);
                        break;

                    case "firstname":
                        employees = employees.OrderByDescending(e => e.Firstname);
                        break;

                    case "lastname":
                        employees = employees.OrderByDescending(e => e.Lastname);
                        break;

                    case "departmentcode":
                        employees = employees.OrderByDescending(e => e.Department.Code);
                        break;

                    case "departmentname":
                        employees = employees.OrderByDescending(e => e.Department.Name);
                        break;

                    default:
                        employees = employees.OrderByDescending(e => e.HrCoreNo);
                        break;
                    }
                }
                else
                {
                    employees = employees.OrderByDescending(e => e.HrCoreNo);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(employeeParams.OrderBy))
                {
                    switch (employeeParams.OrderBy.ToLower())
                    {
                    case "hrcoreno":
                        employees = employees.OrderBy(e => e.HrCoreNo);
                        break;

                    case "firstname":
                        employees = employees.OrderBy(e => e.Firstname);
                        break;

                    case "lastname":
                        employees = employees.OrderBy(e => e.Lastname);
                        break;

                    case "departmentcode":
                        employees = employees.OrderByDescending(e => e.Department.Code);
                        break;

                    case "departmentname":
                        employees = employees.OrderByDescending(e => e.Department.Name);
                        break;

                    default:
                        employees = employees.OrderBy(e => e.HrCoreNo);
                        break;
                    }
                }
                else
                {
                    employees = employees.OrderBy(e => e.HrCoreNo);
                }
            }
            return(await PagedList <Employee>
                   .CreateAsync(employees, employeeParams.PageNumber, employeeParams.PageSize));
        }