コード例 #1
0
        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));
            }
        }
コード例 #2
0
        // 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));
        }