public void SaveLeaveRequest(LeaveRequestInfo leaveRequestInfo)
        {
            Data.LeaveRequest leaveRequest = ConvertToDb(leaveRequestInfo);

            _context.LeaveRequests.Add(leaveRequest);
            _context.SaveChanges();
        }
        public void DeleteLeaveRequest(int id)
        {
            Data.LeaveRequest leaveRequest = _context.LeaveRequests.Find(id);

            if (leaveRequest != null)
            {
                _context.LeaveRequests.Remove(leaveRequest);
                _context.SaveChanges();
            }
            else
            {
                throw new ArgumentNullException();
            }
        }
        public void ApproveLeaveRequest(LeaveRequestInfo leaveRequestInfo)
        {
            Data.LeaveRequest leaveRequest = _context.LeaveRequests.Find(leaveRequestInfo.Id);

            if (leaveRequest != null)
            {
                leaveRequest.Status                    = leaveRequestInfo.Status;
                leaveRequest.RequestProcessDate        = leaveRequestInfo.RequestProcessDate;
                leaveRequest.RequestProcessByAccountId = leaveRequestInfo.RequestProcessByAccountId;

                _context.SaveChanges();
            }
            else
            {
                throw new ArgumentNullException();
            }
        }
 public LeaveRequestInfo ConvertToFacade(Data.LeaveRequest leaveRequest)
 {
     return(new LeaveRequestInfo
     {
         Id = leaveRequest.Id,
         RequestDate = leaveRequest.RequestDate,
         StartDate = leaveRequest.StartDate,
         EndDate = leaveRequest.EndDate,
         LeaveType = leaveRequest.LeaveType,
         Reason = leaveRequest.Reason,
         Status = leaveRequest.Status,
         Remark = leaveRequest.Remark,
         IsCreatedByAdmin = leaveRequest.IsCreatedByAdmin,
         RequestProcessDate = leaveRequest.RequestProcessDate,
         RequestProcessByAccountId = leaveRequest.RequestProcessByAccountId,
         EmployeeInfoId = leaveRequest.EmployeeInfoId
     });
 }