public async Task <ActionResult> XuatLuong(XuatLuongCuoiThangVM model)
        {
            var phieuChi_luongCuoiThang = new PhieuChi_LuongCuoiThang
            {
                MaPhieuChi           = Guid.NewGuid().ToString(),
                MaNhanVienXuatLuong  = model.MaNhanVienXuatLuong,
                ThoiGianXuatPhieuChi = DateTime.Now
            };
            bool isCreatedSuccess = await phieuChi_LuongCuoiThangRepository.Create(phieuChi_luongCuoiThang);

            if (!isCreatedSuccess)
            {
                ModelState.AddModelError("", "Error while creating record on PhieuChi_LuongCuoiThang database table ");
                return(View(model));
            }

            var nhatKyLamViecs = await nhatKylamViecRepository.FindByMaNhanVienAndThangTinhLuong(model.MaNhanVienDuocXuatLuong, model.ThangTinhLuong, model.NamTinhLuong);

            foreach (var nhatky in nhatKyLamViecs)
            {
                var phieuChi_NKLVRecord = new PhieuChi_NKLV
                {
                    MaPhieuChi          = phieuChi_luongCuoiThang.MaPhieuChi,
                    MaNhanVien_NKLV     = nhatky.MaNhanVien,
                    ThoiGianBatDau_NKLV = nhatky.ThoiGianBatDau,
                    ID = Guid.NewGuid().ToString()
                };
                var isCreatePhieuChi_NKLVRecordSuccess = await phieuChi_NKLVRepository.Create(phieuChi_NKLVRecord);

                if (!isCreatePhieuChi_NKLVRecordSuccess)
                {
                    ModelState.AddModelError("", "Error while creating record on PhieuChi_NKLV database table");
                    return(View(model));
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
        public async Task <ActionResult> XuatLuong(string maNhanVienDuocXuatLuong, string selectedMonth, string selectedYear)
        {
            var user = await userManager.GetUserAsync(User);

            if (user.Id == maNhanVienDuocXuatLuong)
            {
                return(NotFound("Bạn không thể xuất lương cho chính mình"));
            }

            int year  = int.Parse(selectedYear);
            int month = int.Parse(selectedMonth);
            var model = new XuatLuongCuoiThangVM
            {
                TongTienLuongCoBan = TinhTongLuongCoBanTichLuyTrongThang(nhatKylamViecRepository, maNhanVienDuocXuatLuong, year, month),
                TongTienThuong     = TinhTongTienThuongDaTichLuyTrongThang(nhatKylamViecRepository, maNhanVienDuocXuatLuong, year, month),


                NhanVienDuocXuatLuong = mapper.Map <EmployeeVM>(await userManager.FindByIdAsync(maNhanVienDuocXuatLuong)),
                NhanVienXuatLuong     = mapper.Map <EmployeeVM>(user),
                NamTinhLuong          = year,
                ThangTinhLuong        = month
            };
            int tongSoPhut = TinhTongSoPhutLamDaTichLuyTrongThang(nhatKylamViecRepository, maNhanVienDuocXuatLuong, year, month);

            model.TongSoGio = new TongSoGioLam();

            model.TongSoGio.SoGio  = tongSoPhut / 60;
            model.TongSoGio.SoPhut = tongSoPhut % 60;



            model.TongTienLuong           = model.TongTienLuongCoBan + model.TongTienThuong;
            model.MaNhanVienDuocXuatLuong = maNhanVienDuocXuatLuong;
            model.MaNhanVienXuatLuong     = model.NhanVienXuatLuong.Id;
            model.TrangThaiXuatLuong      = (await phieuChi_NKLVRepository.DaXuatPhieuChiHayChua(maNhanVienDuocXuatLuong, month, year));
            return(View(model));
        }