Пример #1
0
        private async Task <ChamCongVMList> FeedSomeDataToIndexAction(int month, int year)
        {
            List <Employee> employees = null;

            List <ChamCongVM> chamCongVMList = null;


            var truongPhong = mapper.Map <EmployeeVM>(userManager.GetUserAsync(User).Result);
            var phongBan    = mapper.Map <PhongBansVM>(await phongBanRepository.FindById(truongPhong.MaPhongBan));


            if (User.IsInRole("Quản trị viên"))
            {
                employees = await userManager.Users.ToListAsync();
            }
            else
            {
                employees = (await userManager.Users.ToListAsync())
                            .Where(q => q.MaPhongBan == phongBan.MaPhongBan)
                            .ToList();
            }
            chamCongVMList = mapper.Map <List <ChamCongVM> >(employees);


            foreach (var employee in chamCongVMList)
            {
                employee.ChucVu    = mapper.Map <ChucVusVM>(await chucVuRepo.FindById(employee.MaChucVu));
                employee.ChuyenMon = mapper.Map <ChuyenMonsVM>(await chuyenMonRepo.FindById(employee.MaChuyenMon));
                employee.PhongBan  = mapper.Map <PhongBansVM>(await phongBanRepo.FindById(employee.MaPhongBan));
                var MaVaiTroTrenHeThong = await userRoleRepository.FindRoleIdByUserID(employee.Id);

                employee.VaiTroTrenHeThong = await roleRepository.FindById(MaVaiTroTrenHeThong);

                //Tiền lương đã tích lũy = lương cơ bản /(6 ngày * 4 tuần *24 giờ* 60 phút)*hệ số lương * số phút của lịch biểu
                employee.TongTienLuongCoBanDaTichLuyTrongThang = TinhTongLuongCoBanTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);
                employee.TongTienThuongDaTichLuyTrongThang     = TinhTongTienThuongDaTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);


                int tongSoPhut = TinhTongSoPhutLamDaTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);
                employee.TongSoGio        = new TongSoGioLam();
                employee.TongSoGio.SoGio  = tongSoPhut / 60;
                employee.TongSoGio.SoPhut = tongSoPhut % 60;
                employee.TongTienLuong    = employee.TongTienLuongCoBanDaTichLuyTrongThang + employee.TongTienThuongDaTichLuyTrongThang;
            }

            var model = new ChamCongVMList
            {
                ChamCongList = chamCongVMList,
                ViewForm     = new ChamCongVMListViewForm
                {
                    CurrentMonth = month.ToString(),
                    CurrentYear  = year.ToString()
                },
                TruongPhong = truongPhong,
                PhongBan    = phongBan,
            };

            model = FeedSomeDataToChamCongVMList(model);
            return(model);
        }
        // GET: LeaveAllocationController/Details/5
        public async Task <ActionResult> Details(string id)
        {
            var user = await _userManager.FindByIdAsync(id);

            var currentUser = _userManager.GetUserAsync(User).Result;

            if ((User.IsInRole("Nhân viên") || User.IsInRole("Kế toán")) &&
                currentUser.Id != id)
            {
                return(NotFound("Nhân viên bình thường chỉ có thể xem hồ sơ mật của mình, không thể xem hồ sơ của người khác."));
            }

            var employee = _mapper.Map <EmployeeVM>(user);

            employee.NhanVienThemVaoHeThong = _mapper.Map <EmployeeVM>(await _userManager.FindByIdAsync(user.MaNhanVienThemVaoHeThong));
            employee.ChucVu    = _mapper.Map <ChucVusVM>(await _chucVuRepo.FindById(user.MaChucVu));
            employee.ChuyenMon = _mapper.Map <ChuyenMonsVM>(await _chuyenMonRepo.FindById(user.MaChuyenMon));
            employee.PhongBan  = _mapper.Map <PhongBansVM>(await _phongBanRep.FindById(user.MaPhongBan));

            var maVaiTroTrenHeThong = await userRoleRepository.FindRoleIdByUserID(employee.Id);

            employee.VaiTroTrenHeThong = await _roleRepository.FindById(maVaiTroTrenHeThong);

            var allocations = _mapper.Map <List <LeaveAllocationVM> >(
                await _leaveallocationrepo.GetLeaveAllocationsByEmployee(id));


            var model = new ViewAllocationsVM
            {
                Employee         = employee,
                LeaveAllocations = allocations,
            };

            return(View(model));
        }
        public async Task <ActionResult> Employee(string id)
        {
            var employee = userManager.FindByIdAsync(id).Result;

            var model = mapper.Map <EmployeeVM>(employee);

            model.ChucVu    = mapper.Map <ChucVusVM>(chucVuRepo.FindById(model.MaChucVu).Result);
            model.ChuyenMon = mapper.Map <ChuyenMonsVM>(chuyenMonRepo.FindById(model.MaChuyenMon).Result);
            model.PhongBan  = mapper.Map <PhongBansVM>(phongBanRepo.FindById(model.MaPhongBan).Result);

            ViewBag.VaiTroTrenHeThong = userManager.GetRolesAsync(employee).Result.FirstOrDefault();

            return(View(model));
        }
Пример #4
0
        public async Task <ActionResult> EmployeeList()
        {
            var employees = await userManager.Users.ToListAsync();

            var model = mapper.Map <List <EmployeeVM> >(employees);


            foreach (var employee in model)
            {
                employee.ChucVu    = mapper.Map <ChucVusVM>(await chucVuRepo.FindById(employee.MaChucVu));
                employee.ChuyenMon = mapper.Map <ChuyenMonsVM>(await chuyenMonRepo.FindById(employee.MaChuyenMon));
                employee.PhongBan  = mapper.Map <PhongBansVM>(await phongBanRep.FindById(employee.MaPhongBan));
                var MaVaiTroTrenHeThong = await userRoleRepository.FindRoleIdByUserID(employee.Id);

                employee.VaiTroTrenHeThong = await roleRepository.FindById(MaVaiTroTrenHeThong);
            }

            return(View(model));
        }
        private async Task <ChamCongVMList> FeedSomeDataToIndexAction(int month, int year)
        {
            var employees = await userManager.Users.ToListAsync();

            var chamCongVMList = mapper.Map <List <ChamCongVM> >(employees);


            foreach (var employee in chamCongVMList)
            {
                employee.ChucVu    = mapper.Map <ChucVusVM>(await chucVuRepo.FindById(employee.MaChucVu));
                employee.ChuyenMon = mapper.Map <ChuyenMonsVM>(await chuyenMonRepo.FindById(employee.MaChuyenMon));
                employee.PhongBan  = mapper.Map <PhongBansVM>(await phongBanRepo.FindById(employee.MaPhongBan));
                var MaVaiTroTrenHeThong = await userRoleRepository.FindRoleIdByUserID(employee.Id);

                employee.VaiTroTrenHeThong = await roleRepository.FindById(MaVaiTroTrenHeThong);

                //Tiền lương đã tích lũy = lương cơ bản /(6 ngày * 4 tuần *24 giờ* 60 phút)*hệ số lương * số phút của lịch biểu
                employee.TongTienLuongCoBanDaTichLuyTrongThang = TinhTongLuongCoBanTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);
                employee.TongTienThuongDaTichLuyTrongThang     = TinhTongTienThuongDaTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);

                int tongSoPhut = TinhTongSoPhutLamDaTichLuyTrongThang(nhatKylamViecRepository, employee.Id, year, month);
                employee.TongSoGio.SoGio  = tongSoPhut / 60;
                employee.TongSoGio.SoPhut = tongSoPhut % 60;

                employee.TongTienLuong      = employee.TongTienLuongCoBanDaTichLuyTrongThang + employee.TongTienThuongDaTichLuyTrongThang;
                employee.TrangThaiXuatLuong = (await phieuChi_NKLVRepository.DaXuatPhieuChiHayChua(employee.Id, month, year));
            }

            var model = new ChamCongVMList
            {
                ChamCongList = chamCongVMList,
                ViewForm     = new ChamCongVMListViewForm
                {
                    CurrentMonth = month.ToString(),
                    CurrentYear  = year.ToString()
                }
            };

            model = FeedSomeDataToChamCongVMList(model);
            return(model);
        }
Пример #6
0
        // GET: LeaveRequestController
        public async Task <ActionResult> Index()
        {
            var truongPhong = _mapper.Map <EmployeeVM>(_userManager.GetUserAsync(User).Result);
            var phongBan    = _mapper.Map <PhongBansVM>(await phongBanRepository.FindById(truongPhong.MaPhongBan));


            ICollection <LeaveRequest> leaveRequests = null;

            if (User.IsInRole("Quản trị viên"))
            {
                leaveRequests = (await _leaveRequestRepo.FindAll());
            }
            else
            {
                leaveRequests = (await _leaveRequestRepo.FindAll())
                                .Where(q => q.RequestingEmployee.MaPhongBan == phongBan.MaPhongBan)
                                .ToList();
            }

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);

            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests   = leaveRequestsModel.Count,
                ApprovedRequets = leaveRequestsModel
                                  .Count(q => q.Approved == true),
                PendingRequests = leaveRequestsModel
                                  .Count(q => q.Approved == null),
                RejectedRequests = leaveRequestsModel
                                   .Count(q => q.Approved == false),
                CancelledRequests = leaveRequestsModel
                                    .Count(q => q.Cancelled == true),
                LeaveRequests = leaveRequestsModel,

                PhongBan    = phongBan,
                TruongPhong = truongPhong
            };

            return(View(model));
        }