예제 #1
0
        private async void btnLogin_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                APIService.Username = txtUsername.Text;
                APIService.Password = txtPassword.Text;

                try
                {
                    EmployeeSearchRequest request = new EmployeeSearchRequest
                    {
                        Username = APIService.Username
                    };

                    var obj = await _service.Get <List <EmployeeModel> >(request);

                    if (obj == null)
                    {
                        MessageBox.Show("Invalid username or password!", "Authentication", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        frmIndex frm = new frmIndex();
                        frm.Show();
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show("Invalid username or password!", "Authentication", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #2
0
        private async Task LoadEmployees(int branchId = 0, int rolesId = 0)
        {
            var personList = await _personService.Get <List <PersonModel> >(null);

            var branchList = await _branchService.Get <List <BranchModel> >(null);

            if (branchId != 0 || rolesId != 0)
            {
                var request = new EmployeeSearchRequest();
                if (branchId != 0)
                {
                    request.BranchId = branchId;
                }
                if (rolesId != 0)
                {
                    request.EmployeeRolesId = rolesId;
                }

                var employeeList = await _employeeService.Get <List <EmployeeModel> >(request);

                var result = GenerateResult(employeeList, branchList, personList);

                dgvEmployees.AutoGenerateColumns = false;
                dgvEmployees.DataSource          = result;
            }
            else
            {
                var employeeList = await _employeeService.Get <List <EmployeeModel> >(null);

                var result = GenerateResult(employeeList, branchList, personList);

                dgvEmployees.AutoGenerateColumns = false;
                dgvEmployees.DataSource          = result;
            }
        }
예제 #3
0
 public EmployeeSearchResponse Get([FromUri] EmployeeSearchRequest request)
 {
     if (!ModelState.IsValid)
     {
         throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
     }
     return(employeeService.LoadAll(request).CreateFrom());
 }
        public List <Model.Models.Employee> GetAll(EmployeeSearchRequest request, bool showAll)
        {
            // If showAll is true, it will fetch all rows from database
            // Otherwise, it will return only active employees
            var query = _context.Employee
                        .Where(x => showAll == true ?
                               x.Active == true || x.Active == false : x.Active == true)
                        .AsQueryable();

            if (request.ItemsPerPage > 0)
            {
                if ((int)(query.Count() / request.ItemsPerPage + 0.5) > request.ItemsPerPage)
                {
                    return(null);
                }
            }

            if (!String.IsNullOrEmpty(request.FirstName))
            {
                query = query.Where(x => x.FirstName.StartsWith(request.FirstName));
            }
            if (!String.IsNullOrEmpty(request.LastName))
            {
                query = query.Where(x => x.LastName.StartsWith(request.LastName));
            }

            if (request.Page != -1)
            {
                query = query
                        .Skip((request.Page - 1) * request.ItemsPerPage)
                        .Take(request.ItemsPerPage);
            }

            var list   = query.ToList();
            var result = _mapper.Map <List <Model.Models.Employee> >(list);

            foreach (var employee in result)
            {
                GetEmployeeMachines(employee);
            }

            foreach (var employee in result)
            {
                GetEmployeeRequests(employee);
            }

            return(result);
        }
예제 #5
0
        /// <summary>
        /// Get All Employees
        /// </summary>
        public EmployeeSearchResponse GetAllEmployees(EmployeeSearchRequest searchRequest)
        {
            int fromRow = (searchRequest.PageNo - 1) * searchRequest.PageSize;
            int toRow   = searchRequest.PageSize;

            Expression <Func <Employee, bool> > query =
                s => (!searchRequest.CompanyId.HasValue || s.Company.CompanyId == searchRequest.CompanyId) && (!searchRequest.EmployeeStatusId.HasValue || s.EmpStatus.EmpStatusId == searchRequest.EmployeeStatusId) &&
                (string.IsNullOrEmpty(searchRequest.SearchString) || s.EmpCode.Contains(searchRequest.SearchString) || s.EmpFName.Contains(searchRequest.SearchString) ||
                 s.EmpLName.Contains(searchRequest.SearchString) || s.EmpMName.Contains(searchRequest.SearchString));

            IEnumerable <Employee> employees = searchRequest.IsAsc ? DbSet.Where(query)
                                               .OrderBy(employeeClause[searchRequest.EmployeeOrderBy]).Skip(fromRow).Take(toRow).ToList()
                                            : DbSet.Where(query)
                                               .OrderByDescending(employeeClause[searchRequest.EmployeeOrderBy]).Skip(fromRow).Take(toRow).ToList();

            return(new EmployeeSearchResponse {
                Employees = employees, TotalCount = DbSet.Count(query)
            });
        }
예제 #6
0
        private async void frmEmployeeList_Load(object sender, EventArgs e)
        {
            var ime     = txtName.Text;
            var prezime = txtSurname.Text;

            EmployeeSearchRequest searchRequest = new EmployeeSearchRequest
            {
                FirstName    = ime,
                LastName     = prezime,
                Page         = _page,
                ItemsPerPage = 5
            };

            var request = await _service.Get <List <EToolService.Model.Models.Employee> >(searchRequest);

            if (request == null)
            {
                return;
            }

            if (request.Count == 0)
            {
                _page--;
                return;
            }
            var json = JsonConvert
                       .DeserializeObject <List <EToolService.Model.Models.Employee> >(JsonConvert.SerializeObject(request));

            dgvEmployees.DataSource = json;
            dgvEmployees.Columns["FullName"].Visible = false;
            foreach (DataGridViewRow dgvEmployeesRow in dgvEmployees.Rows)
            {
                dgvEmployeesRow.Height = 30;
            }

            lblPageCounter.Text = _page.ToString();
        }
예제 #7
0
        public List <EmployeeModel> Get(EmployeeSearchRequest search)
        {
            var query         = _context.Employees.Where(x => x.Active == true).ToList();
            var emplEmplRoles = _context.EmployeeEmployeeRoles.ToList();

            List <Employee> listEmpl = new List <Employee>();

            if (search.EmployeeRolesId.HasValue && search.BranchId.HasValue)
            {
                foreach (var x in emplEmplRoles)
                {
                    foreach (var y in query)
                    {
                        if (x.EmployeeRolesId == search.EmployeeRolesId && x.EmployeeId == y.EmployeeId)
                        {
                            if (search.BranchId == y.BranchId)
                            {
                                listEmpl.Add(y);
                            }
                        }
                    }
                }

                return(_mapper.Map <List <EmployeeModel> >(listEmpl));
            }
            if (search.EmployeeRolesId.HasValue && search.BranchId.HasValue == false)
            {
                foreach (var x in emplEmplRoles)
                {
                    foreach (var y in query)
                    {
                        if (x.EmployeeRolesId == search.EmployeeRolesId && x.EmployeeId == y.EmployeeId)
                        {
                            listEmpl.Add(y);
                        }
                    }
                }
                return(_mapper.Map <List <EmployeeModel> >(listEmpl));
            }

            if (search.EmployeeRolesId.HasValue == false && search.BranchId.HasValue)
            {
                foreach (var x in query)
                {
                    if (x.BranchId == search.BranchId)
                    {
                        listEmpl.Add(x);
                    }
                }

                return(_mapper.Map <List <EmployeeModel> >(listEmpl));
            }

            if (!string.IsNullOrEmpty(search.Username))
            {
                var persons    = _context.People.ToList();
                var loginModel = _context.LoginData.FirstOrDefault(x => x.Username == search.Username);

                List <EmployeeModel> employee = new List <EmployeeModel>();
                foreach (var x in query)
                {
                    foreach (var person in persons)
                    {
                        if (x.PersonId == person.PersonId)
                        {
                            if (person.LoginDataId == loginModel.LoginDataId && loginModel.Username == search.Username)
                            {
                                employee.Add(new EmployeeModel
                                {
                                    PersonId       = x.PersonId,
                                    Active         = x.Active,
                                    BranchId       = x.BranchId,
                                    EmployeeCode   = x.EmployeeCode,
                                    EmployeeId     = x.EmployeeId,
                                    HireDate       = x.HireDate,
                                    JobDescription = x.JobDescription
                                });
                            }
                            break;
                        }
                    }
                }

                if (employee.Count > 0)
                {
                    return(_mapper.Map <System.Collections.Generic.List <EmployeeModel> >(employee));
                }

                return(null);
            }
            return(_mapper.Map <List <EmployeeModel> >(query));
        }
예제 #8
0
        public async Task <IEnumerable <EmployeeSearchResponse> > EmployeeSearch(EmployeeSearchRequest request)
        {
            var result = await _employeeRepository.EmployeeSearch(request.EmployeeText, request.DepartmentText, request.SubDepartmentText);

            return(result.Select(x => _employeeMapper.Map(x)));
        }
예제 #9
0
 /// <summary>
 /// Loa dAll Employees
 /// </summary>
 /// <param name="searchRequest"></param>
 /// <returns></returns>
 public EmployeeSearchResponse LoadAll(EmployeeSearchRequest searchRequest)
 {
     return(employeeRepository.GetAllEmployees(searchRequest));
 }
예제 #10
0
 public List <EmployeeModel> Get([FromQuery] EmployeeSearchRequest search)
 {
     return(_service.Get(search));
 }
예제 #11
0
 public List <Model.Models.Employee> GetAll([FromQuery] EmployeeSearchRequest request, bool showAll)
 {
     return(_employeeService.GetAll(request, showAll));
 }