public async Task <IActionResult> Get()
        {
            var response = new EmployeesResponse()
            {
                Result = null
            };

            try
            {
                var result = await _employeeService.GetAllEmployees();

                if (result == null)
                {
                    response.Messages = ResponseMessages.NotFound();
                    return(NotFound(response));
                }
                response.Messages = ResponseMessages.Success();
                response.Result   = result.ToList();
                return(Ok(response));
            }
            catch (Exception exception)
            {
                response.Messages = ResponseMessages.InternalServerError(exception.ToString());
                return(StatusCode(500, response));
            }
        }
        // GET: EmployeeController
        public ActionResult Index(string?type)
        {
            EmployeesResponse model = _empClient.GetEmployeeList(new FilterRequest()
            {
                EmployeeType = type ?? string.Empty
            });

            ViewBag.EmpType = type;
            return(View(model));
        }
Beispiel #3
0
        public void GetPageOk()
        {
            // Act
            var okResult = _controller.Get(2);

            Assert.IsType <OkObjectResult>(okResult.Result);
            var okObjectResult      = okResult.Result as OkObjectResult;
            EmployeesResponse model = Assert.IsType <EmployeesResponse>(okObjectResult.Value);

            // Assert
            Assert.Equal(2, model.Pagination.ActivePage);
            Assert.Equal(4, model.Pagination.TotalPages);
            Assert.Equal(5, model.Data.Count());
        }
Beispiel #4
0
        public ActionResult <EmployeesResponse> Get(int page)
        {
            int employeesCount = _employeesRepo.Count();
            int totalPages     = (int)Math.Ceiling((double)employeesCount / _pageSize);

            if (page < 1 || page - 1 > totalPages)
            {
                return(NotFound());
            }

            if (employeesCount == 0)
            {
                return new EmployeesResponse
                       {
                           Data       = null,
                           Pagination = new PaginationResponse {
                               ActivePage = 1, TotalPages = 0
                           }
                       }
            }
            ;

            List <EmployeeResponse> employees = _employeesRepo.Get((page - 1) * _pageSize, _pageSize)
                                                .Select(x =>
                                                        new EmployeeResponse()
            {
                Id         = x.Id,
                Name       = x.Name,
                Department = x.Department,
                Position   = x.Position,
                Manager    = x.ManagerId == null ? null : _employeesRepo.GetById((int)x.ManagerId).Name,
                StartDate  = x.StartDate
            }
                                                        )
                                                .ToList();

            EmployeesResponse employeesResponse =
                new EmployeesResponse
            {
                Data       = employees,
                Pagination = new PaginationResponse
                {
                    ActivePage = page,
                    TotalPages = totalPages
                }
            };

            return(Ok(employeesResponse));
        }
Beispiel #5
0
        public ActionResult GetAllEmployees()
        {
            EmployeesResponse employeersp;

            try
            {
                var employees = this.employeeDS.GetAllEmployees();
                if (employees == null)
                {
                    employeersp = new EmployeesResponse()
                    {
                    };
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(View());
        }
Beispiel #6
0
        public async Task <Response> GetEmployeesAsync(string Document, string urlBase, string servicePrefix, string controller)
        {
            try
            {
                HttpClient client = new HttpClient
                {
                    BaseAddress = new Uri(urlBase),
                };

                string url = $"{servicePrefix}{controller}/{Document}";
                HttpResponseMessage response = await client.GetAsync(url);

                string result = await response.Content.ReadAsStringAsync();

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = result,
                    });
                }

                EmployeesResponse model = JsonConvert.DeserializeObject <EmployeesResponse>(result);
                return(new Response
                {
                    IsSuccess = true,
                    Result = model
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message
                });
            }
        }
Beispiel #7
0
        public EmployeesResponse Get()
        {
            List <Employee>    employees        = new List <Employee>();
            ErrorResponseModel errorResponse    = new ErrorResponseModel();
            EmployeesResponse  employeeResponse = new EmployeesResponse();

            try
            {
                DataSet ds = new DataSet();
                ds.ReadXml(HttpContext.Current.Server.MapPath("../EmployeesDetails.xml"));
                DataTable dt = ds.Tables[0];
                foreach (DataRow dr in dt.Rows)
                {
                    Employee employee = new Employee();
                    employee.ID           = Convert.ToInt16(dr["id"]);
                    employee.Name         = dr["name"].ToString();
                    employee.Department   = dr["department"].ToString();
                    employee.PrimarySkill = dr["primarySkill"].ToString();
                    employee.ProjectCode  = dr["projectCode"].ToString();
                    employee.Location     = dr["location"].ToString();

                    employees.Add(employee);
                }
                errorResponse.StatusCode       = 0;
                errorResponse.ErrorMessage     = "";
                employeeResponse.Response      = employees;
                employeeResponse.ErrorResponse = errorResponse;
                return(employeeResponse);
            }
            catch (Exception)
            {
                errorResponse.StatusCode       = 500;
                errorResponse.ErrorMessage     = "Server Error";
                employeeResponse.Response      = employees;
                employeeResponse.ErrorResponse = errorResponse;
                return(employeeResponse);
            }
        }
Beispiel #8
0
        public override Task <EmployeesResponse> GetEmployeeList(FilterRequest request, ServerCallContext context)
        {
            EmployeesResponse responseData = new EmployeesResponse();

            try
            {
                using (DataContext dataContext = new DataContext(_dbConnection))
                {
                    switch (request.EmployeeType.ToLower())
                    {
                    case "permanent":
                        var perEmp = (from s in dataContext.Employees.OfType <PermanentEmployee>()
                                      where (request.Id == 0 || s.Id == request.Id) && (request.Name == "" || s.FirstName.Contains(request.Name)) &&
                                      (request.Name == "" || s.LastName.Contains(request.Name))
                                      select new EmployeeModel
                        {
                            Id = s.Id,
                            FirstName = s.FirstName,
                            LastName = s.LastName,
                            DateOfJoining = s.DateOfJoining.ToString(),
                            Gender = s.Gender,
                            DepartmentId = s.DepartmentId,
                            MonthlySalary = s.MonthlySalary,
                            EmployeeType = "Permanent",
                            DepartmentName = s.Department.Name
                        });

                        responseData.Items.AddRange(perEmp.ToArray());
                        break;

                    case "contract":
                        var contraEmp = (from s in dataContext.Employees.OfType <ContractEmployee>()
                                         where (request.Id == 0 || s.Id == request.Id) && (request.Name == "" || s.FirstName.Contains(request.Name)) &&
                                         (request.Name == "" || s.LastName.Contains(request.Name))
                                         select new EmployeeModel
                        {
                            Id = s.Id,
                            FirstName = s.FirstName,
                            LastName = s.LastName,
                            DateOfJoining = s.DateOfJoining.ToString(),
                            Gender = s.Gender,
                            DepartmentId = s.DepartmentId,
                            HourlyPay = s.HourlyPay,
                            HoursWorked = s.HoursWorked,
                            EmployeeType = "Contract",
                            DepartmentName = s.Department.Name
                        });

                        responseData.Items.AddRange(contraEmp.ToArray());
                        break;

                    default:
                        var emp = (from s in dataContext.Employees
                                   where (request.Id == 0 || s.Id == request.Id) && (request.Name == "" || s.FirstName.Contains(request.Name)) &&
                                   (request.Name == "" || s.LastName.Contains(request.Name))
                                   select s).ToList();
                        List <EmployeeModel> empList = new List <EmployeeModel>();
                        foreach (var s in emp)
                        {
                            var model = new EmployeeModel()
                            {
                                Id             = s.Id,
                                FirstName      = s.FirstName,
                                LastName       = s.LastName,
                                DateOfJoining  = s.DateOfJoining.ToString(),
                                Gender         = s.Gender,
                                DepartmentId   = s.DepartmentId,
                                MonthlySalary  = (s is PermanentEmployee ? ((PermanentEmployee)s).MonthlySalary : 0),
                                HourlyPay      = (s is ContractEmployee ? ((ContractEmployee)s).HourlyPay : 0),
                                HoursWorked    = (s is ContractEmployee ? ((ContractEmployee)s).HoursWorked : 0),
                                EmployeeType   = (s is PermanentEmployee ? "Permanent" : "Contract"),
                                DepartmentName = s.Department.Name
                            };
                            empList.Add(model);
                        }
                        responseData.Items.AddRange(empList.ToArray());
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("DepartmentService.GetDepartmentList - Error: {0}", ex.Message);
            }
            return(Task.FromResult(responseData));
        }