예제 #1
0
        public bool RequestLeave(Leave leave)
        {
            int availableLeave = 0;

            using (FSLEntities Fsla = new FSLEntities())
            {
                availableLeave = Convert.ToInt32(Fsla.tblLeaves.Where(x => x.UserId == leave.UserId &&
                                                                      x.LeaveDate < DateTime.Now &&
                                                                      (
                                                                          x.LeaveStatus == Convert.ToInt32(LeaveStatusEnum.LeaveStatus.Approved) ||
                                                                          x.LeaveStatus == Convert.ToInt32(LeaveStatusEnum.LeaveStatus.PendingForApproval)
                                                                      ))?.Count());
                if (availableLeave < 6)
                {
                    leave.AvailableLeave = availableLeave - 1;
                    Fsla.tblLeaves.Add(new tblLeave
                    {
                        AvailableLeave = leave.AvailableLeave,
                        LeaveDate      = leave.LeaveDate,
                        LeaveStatus    = Convert.ToInt32(LeaveStatusEnum.LeaveStatus.PendingForApproval)
                    });
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
 public bool CancelLeave(int id)
 {
     using (FSLEntities Fsla = new FSLEntities())
     {
         Fsla.tblLeaves.Remove(Fsla.tblLeaves.Where(x => x.LeaveId == id)?.FirstOrDefault());
         Fsla.SaveChangesAsync();
     }
     return(true);
 }
예제 #3
0
 public bool LogOut(int id)
 {
     using (FSLEntities Fsla = new FSLEntities())
     {
         var user = Fsla.tblUsers?.Where(x => x.UserId == id).FirstOrDefault();
         user.LoginStatus = true;
         Fsla.SaveChangesAsync();
     }
     return(true);
 }
예제 #4
0
        public int GetUserIdByLeaveId(int id)
        {
            int UserId = 0;

            using (FSLEntities Fsla = new FSLEntities())
            {
                UserId = Convert.ToInt32(Fsla.tblLeaves.Where(x => x.LeaveId == id)?.FirstOrDefault().UserId);
            }
            return(UserId);
        }
        public IEnumerable <Leave> ApproveLeave()
        {
            List <Leave> LeaveList = new List <Leave>();

            using (FSLEntities Fsla = new FSLEntities())
            {
                LeaveList = Fsla.tblLeaves?.Select(
                    x => new Leave
                {
                    LeaveId        = x.LeaveId,
                    AvailableLeave = x.AvailableLeave,
                    LeaveStatus    = x.LeaveStatus
                }).ToList();
            }
            return(LeaveList);
        }
예제 #6
0
        public IEnumerable <Leave> GetLeave(int id)
        {
            List <Leave> LeaveList = new List <Leave>();

            using (FSLEntities Fsla = new FSLEntities())
            {
                LeaveList = Fsla.tblLeaves.Where(x => x.UserId == id)?.Select(
                    x => new Leave
                {
                    LeaveId        = x.LeaveId,
                    AvailableLeave = x.AvailableLeave,
                    LeaveStatus    = x.LeaveStatus
                }).ToList();
            }
            return(LeaveList);
        }
        public IEnumerable <Leave> GetAllUserLeave()
        {
            List <Leave> LeaveList = new List <Leave>();

            using (FSLEntities Fsla = new FSLEntities())
            {
                int status = Convert.ToInt32(LeaveStatusEnum.LeaveStatus.PendingForApproval);
                LeaveList = Fsla.tblLeaves.Where(x => x.LeaveStatus == status)?.Select(
                    x => new Leave
                {
                    LeaveId        = x.LeaveId,
                    AvailableLeave = x.AvailableLeave,
                    LeaveStatus    = x.LeaveStatus,
                    UserId         = (int)x.UserId,
                    LeaveDate      = x.LeaveDate
                }).ToList();
            }
            return(LeaveList);
        }