/// <summary>
        /// Sick Leave Approval and rejection by admin
        /// </summary>
        /// <param name="leaveStatus"></param>
        public void SickLeaveResultStatus(LeaveStatusAC leaveStatus)
        {
            var leave = _leaveRequestDataRepository.FirstOrDefault(x => x.Id == leaveStatus.LeaveRequestId && x.Type == DomainModel.Models.Type.Sick);

            if (leaveStatus.Condition == Condition.Approved)
            {
                leave.Condition = leaveStatus.Condition;
            }
            if (leave.Condition == Condition.Pending)
            {
                if (leaveStatus.Condition == Condition.Rejected)
                {
                    leave.Condition = Condition.HalfRejected;
                }
            }
            else
            {
                if (leaveStatus.Condition == Condition.Rejected)
                {
                    leave.Condition = Condition.Approved;
                    leave.Type      = DomainModel.Models.Type.Casual;
                }
            }
            _leaveRequestDataRepository.Update(leave);
            _leaveRequestDataRepository.Save();
        }
        /// <summary>
        /// Sick Leave Approval and rejection by admin
        /// </summary>
        /// <param name="leaveStatus"></param>
        public void CompensationLeaveResultStatus(LeaveStatusAC leaveStatus)
        {
            var leave = _leaveRequestDataRepository.FirstOrDefault(x => x.Id == leaveStatus.LeaveRequestId && x.Type == DomainModel.Models.Type.Compensation);

            leave.CompensationStatus = leaveStatus.Condition;
            if (leaveStatus.Condition == Condition.Rejected)
            {
                leave.Type = DomainModel.Models.Type.Casual;
            }
            _leaveRequestDataRepository.Update(leave);
            _leaveRequestDataRepository.Save();
        }
Exemple #3
0
 public IHttpActionResult CompensationLeaveResultStatus(LeaveStatusAC leaveStatus)
 {
     if (leaveStatus == null)
     {
         return(NotFound());
     }
     try
     {
         _leaveStatusRepository.CompensationLeaveResultStatus(leaveStatus);
         return(Ok(leaveStatus));
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }
Exemple #4
0
        /// <summary>
        /// Repository method to get leaverequest list depend upon status from database using leavestatus table
        /// </summary>
        /// <param name="status"></param>
        /// <returns></returns>
        public IEnumerable <LeaveStatusAC> LeaveRequest(LMS.DomainModel.Models.Condition status)
        {
            var leaveStatusListAC = new List <LeaveStatusAC>();
            var leaveStatusList   = _leaveStatusDataRepository.Fetch(x => x.Condition.Equals(status));

            foreach (var leaves in leaveStatusList)
            {
                var leaveAC = new LeaveStatusAC
                {
                    Id             = leaves.Id,
                    Condition      = leaves.Condition,
                    ApprovedDate   = leaves.ApprovedDate,
                    LeaveRequestId = leaves.LeaveRequestId,
                    TeamLeaderId   = leaves.TeamLeaderId,
                    EmployeeId     = leaves.EmployeeId,
                };
                leaveStatusListAC.Add(leaveAC);
            }
            return(leaveStatusListAC);
        }