방명록
- [EmployeeManager] 직원 리스트를 뽑아보자2024년 12월 13일 00시 15분 54초에 업로드 된 글입니다.작성자: Devrun반응형
사진과 같이 직원 리스트를 뽑아보았다. 이번에도 Partial을 사용해서 데이터를 뽑았다.
@model Employee.Models.EmployeeViewModel <div> <h1>Employee List</h1> <table class="table"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Phone</th> <th>관리</th> </tr> </thead> <tbody> @foreach (var employee in Model.Employees) { <tr> <td>@employee.Employee_ID</td> <td>@employee.Employee_Name</td> <td>@employee.Employee_Email</td> <td>@employee.Employee_Phone</td> <td> <a href="#" class="btn btn-info btn-sm"> 상세보기 </a> <a href="#" class="btn btn-warning btn-sm"> 수정하기 </a> </td> </tr> } </tbody> </table> </div>
이 뷰가 Partial View로 사용될 레이아웃이다.
아직 버튼 구현을 하지는 않았지만, 며칠 내로 만들 계획이다.
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace Employee.Models { public class EmployeeViewModel { [Required] public string Employee_Name { get; set; } [Required] public DateTime Employee_BirthDate { get; set; } [Required] public string Employee_Phone { get; set; } [Required] public string Employee_Email { get; set; } [Required] public string Address_Unit { get; set; } [Required] public string Address_Street { get; set; } [Required] public string Address_City { get; set; } [Required] public string Address_Region { get; set; } [Required] public string Address_PostalCode { get; set; } [Required] public string Education_Status { get; set; } [Required] public string Education_School { get; set; } [Required] public string Education_Major { get; set; } [Required] public DateTime StartDate { get; set; } [Required] public DateTime EndDate { get; set; } [Required] public string CompanyName { get; set; } [Required] public string Department { get; set; } [Required] public string JobTitle { get; set; } public List<EmployeeModel> Employees { get; set; } } }
기존에 사용하던 ViewModel인데 이를 통해 데이터를 입력했었다. 그러나 이걸 통해 데이터를 받아와야 하기 때문에 List로 EmployeeModel을 받아오는 모델 객체를 하나 더 생성했다.
사실 처음에는 ViewModel을 안쓰고 받아오려고 했다. 하지만 에러가 발생해서 ViewModel을 사용했다.
public IActionResult Index() { var employees = _context.Employees .Include(e => e.AddressModel) .Include(e => e.EducationModel) .Include(e => e.CareerModell) .ToList(); var viewModel = new EmployeeViewModel { Employees = employees }; return View(viewModel); }
기존 Idex() 함수는 return View();만 있었지만. 데이터를 받아와야 하기 때문에, 데이터를 받아올 항복을 추가해 주었다.
var employees를 생성하고, _context를 통해서 Db에서 Employees 데이터를 받아온다. 여기에 주소와 교육 그리고 경력을 추가로 가져오게 했다. 이를 viewModel로 전송해서 EmployeeViewModel에 만들어둔 리스트로 전달한다. 그 후에 최종적으로 index에서 뷰로 전달해서 데이터를 출력한다.
휴 오늘 하루도 하나의 기능을 완성했다.
반응형'개발기록 > 직원관리 프로그램' 카테고리의 다른 글
[Employee Manager] 데이터를 DB에 저장해보자 (0) 2024.12.12 [직원관리 프로그램] 포트폴리오 프로젝트 시작 (1) 2024.12.11 다음글이 없습니다.이전글이 없습니다.댓글