コード例 #1
0
        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);
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            //    }
            //}
        }