public void CancelLeave(int employeeLeaveID, string remarks) { EmployeeLeaveList empLeaveObj = GetById(employeeLeaveID); empLeaveObj.Status = "Cancelled"; empLeaveObj.Remarks = remarks; Add(empLeaveObj); LeaveTran leavetransaction = leaveTransBO.GetByProperty(x => x.BranchId == sessionObj.BRANCHID && x.EmployeeId == sessionObj.EMPLOYEEID && x.LeaveType == empLeaveObj.LeaveTypeId); LeaveListCalc leaveListCalc = null; if (leavetransaction != null) { leaveListCalc = new LeaveListCalc( leavetransaction.CurrentLeaves, leavetransaction.PreviousLeaves ); CalculateLeavesTransaction.CalculateLeaveFromTransaction( leavetransaction, empLeaveObj, leaveListCalc, false); } LeaveTran leaveTransaction = new LeaveTran() { BranchId = sessionObj.BRANCHID, CreatedBy = sessionObj.USERID, CreatedOn = UTILITY.SINGAPORETIME, CurrentLeaves = leaveListCalc.currentLeaves, PreviousLeaves = leaveListCalc.previousLeaves, EmployeeId = sessionObj.EMPLOYEEID, FromDt = empLeaveObj.FromDate, ToDt = empLeaveObj.ToDate, LeaveType = empLeaveObj.LeaveTypeId }; leaveTransBO.Add(leaveTransaction); }
public static void CalculateLeave(OtherLeave LeaveTransaction, EmployeeLeaveList obj, LeaveListCalc leaveListCalc, int branchId) { LeaveMaster lMaster = new LeaveMaster(); if (obj.LeaveTypeId == lMaster.CASUALLEAVE(branchId)) { leaveListCalc.currentLeaves = leaveListCalc.currentLeaves - obj.Days.Value; } else if (obj.LeaveTypeId == lMaster.ANNUALLEAVE(branchId)) { leaveListCalc.currentLeaves = leaveListCalc.currentLeaves - obj.Days.Value; } if (obj.LeaveTypeId == lMaster.MEDICALLEAVE(branchId)) { leaveListCalc.currentLeaves = leaveListCalc.currentLeaves - obj.Days.Value; } }
public static void CalculateLeaveFromTransaction(LeaveTran LeaveTransaction, EmployeeLeaveList obj, LeaveListCalc leaveListCalc, bool flag) { if (flag) { leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; leaveListCalc.currentLeaves = leaveListCalc.currentLeaves != 0 ? leaveListCalc.currentLeaves - obj.Days.Value : leaveListCalc.currentLeaves; } else { leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; leaveListCalc.currentLeaves = leaveListCalc.currentLeaves + obj.Days.Value; //leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; } /*No need to check for each leave*/ //else if (obj.LeaveTypeId == UTILITY.PAIDLEAVE) //{ // if (flag) // { // leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; // leaveListCalc.currentLeaves = leaveListCalc.currentLeaves != 0 ? // leaveListCalc.currentLeaves - obj.Days.Value : leaveListCalc.currentLeaves; // } // else // { // leaveListCalc.currentLeaves = leaveListCalc.currentLeaves + obj.Days.Value; // leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; // } //} //if (obj.LeaveTypeId == UTILITY.SICKLEAVE) //{ // if (flag) // { // leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; // leaveListCalc.currentLeaves = leaveListCalc.currentLeaves != 0 ? leaveListCalc.currentLeaves - obj.Days.Value : leaveListCalc.currentLeaves; // } // else // { // leaveListCalc.currentLeaves = leaveListCalc.currentLeaves + obj.Days.Value; // leaveListCalc.previousLeaves = leaveListCalc.currentLeaves; // } //} }