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)); }