/// <summary> /// Lay DS luong hieu luc cua toan cong ty. Moi nhan vien chi co 1 muc luong trong danh sach. /// </summary> /// <param name="lstSalaryAll">get all Salary</param> /// <param name="monthEffect"></param> /// <returns></returns> public void Approved(List<Guid> selectedIds, string status, string userLoginName) { using (var context = new VnrHrmDataContext()) { string statusMessage = string.Empty; var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var repoProfile = new Hre_ProfileRepository(unitOfWork); var repoHoldSalary = new Sal_HoldSalaryRepository(unitOfWork); var lstHoldSalary = repoHoldSalary.FindBy(s => selectedIds.Contains(s.ID)).ToList(); var lstProfileIDs = lstHoldSalary.Select(s => s.ProfileID).ToList(); var profileServices = new Hre_ProfileServices(); var objProfile = new List<object>(); objProfile.AddRange(new object[17]); objProfile[15] = 1; objProfile[16] = int.MaxValue - 1; var lstProfile = profileServices.GetData<Hre_ProfileEntity>(objProfile, ConstantSql.hrm_hr_sp_get_ProfileAll,userLoginName, ref statusMessage).ToList().Translate<Hre_Profile>(); //var lstProfiles = repoProfile.FindBy(m => m.ID != null && lstProfileIDs.Contains(m.ID)).ToList(); foreach (var holdSalary in lstHoldSalary) { holdSalary.Status = status; var profileByID = lstProfile.Where(s => s.ID == holdSalary.ProfileID.Value).FirstOrDefault(); profileByID.MonthHoldSal = holdSalary.MonthSalary; profileByID.IsHoldSal = true; } repoHoldSalary.SaveChanges(); repoProfile.SaveChanges(); } }
/// <summary> /// Lay DS luong hieu luc cua toan cong ty. Moi nhan vien chi co 1 muc luong trong danh sach. /// </summary> /// <param name="lstSalaryAll">get all Salary</param> /// <param name="monthEffect"></param> /// <returns></returns> public void Approved(List <Guid> selectedIds, string status, string userLoginName) { using (var context = new VnrHrmDataContext()) { string statusMessage = string.Empty; var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var repoProfile = new Hre_ProfileRepository(unitOfWork); var repoHoldSalary = new Sal_HoldSalaryRepository(unitOfWork); var lstHoldSalary = repoHoldSalary.FindBy(s => selectedIds.Contains(s.ID)).ToList(); var lstProfileIDs = lstHoldSalary.Select(s => s.ProfileID).ToList(); var profileServices = new Hre_ProfileServices(); var objProfile = new List <object>(); objProfile.AddRange(new object[17]); objProfile[15] = 1; objProfile[16] = int.MaxValue - 1; var lstProfile = profileServices.GetData <Hre_ProfileEntity>(objProfile, ConstantSql.hrm_hr_sp_get_ProfileAll, userLoginName, ref statusMessage).ToList().Translate <Hre_Profile>(); //var lstProfiles = repoProfile.FindBy(m => m.ID != null && lstProfileIDs.Contains(m.ID)).ToList(); foreach (var holdSalary in lstHoldSalary) { holdSalary.Status = status; var profileByID = lstProfile.Where(s => s.ID == holdSalary.ProfileID.Value).FirstOrDefault(); profileByID.MonthHoldSal = holdSalary.MonthSalary; profileByID.IsHoldSal = true; } repoHoldSalary.SaveChanges(); repoProfile.SaveChanges(); } }