public async Task <ActionResult> MyLeaves(int id) { var employee = await _userManager.GetUserAsync(User); var employeeVM = _mapper.Map <EmployeeVM>(employee); try { var leaveRequests = await _leaveRequestRepo.FindByEmployeeId(employee.Id); var leaveRequestsVM = _mapper.Map <List <LeaveRequestVM> >(leaveRequests); var leaveAllocations = await _leaveAllocRepo.FindByEmployeeId(employee.Id); var leaveAllocationsVM = _mapper.Map <List <LeaveAllocationVM> >(leaveAllocations); var model = new EmployeeLeaveRequestsVM { RequestingEmployee = employeeVM, RequestingEmployeeId = employee.Id, LeaveRequests = leaveRequestsVM, LeaveAllocations = leaveAllocationsVM }; return(View(model)); } catch { var model = new EmployeeLeaveRequestsVM { RequestingEmployee = employeeVM, RequestingEmployeeId = employee.Id, LeaveRequests = null, LeaveAllocations = null }; return(View(model)); } }
// GET: LeaveAllocationController/Details/5 public async Task <ActionResult> Details(string id) { //Because is Async, we get result var employee = _mapper.Map <EmployeeVM>(await _userManager.FindByIdAsync(id)); var allocations = _mapper.Map <List <LeaveAllocationVM> >(await _leaveAllocationRepo.FindByEmployeeId(id)); var model = new ViewAllocationsVM { Employee = employee, Allocations = allocations }; return(View(model)); }