// GET: LeaveRequest
        public ActionResult Index()
        {
            var leaveRequests     = _leaveRequestRepo.FindAll();
            var leaveRequstsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model             = new AdminLeaveRequestViewVM
            {
                LeaveRequests = leaveRequstsModel
            };

            return(View(model));
        }
        // GET: LeaveRequest
        public ActionResult Index()
        {
            var leaveRequests = _mapper.Map <List <LeaveRequestVM> >(_requestRepo.FindAll());
            var model         = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequests.Count,
                ApprovedRequests = leaveRequests.Count(r => r.Approved == true),
                PendingRequests  = leaveRequests.Count(r => !r.Approved.HasValue),
                RejectedRequests = leaveRequests.Count(r => r.Approved == false),
                LeaveRequests    = leaveRequests
            };

            return(View(model));
        }
예제 #3
0
        // GET: LeaveRequest
        public ActionResult Index()
        {
            var leaveRequests      = _leaveRequestRepo.FindAll();
            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Count(q => q.Approved == true),
                PendingRequests  = leaveRequestsModel.Count(q => q.Approved == null),
                RejectedRequests = leaveRequestsModel.Count(q => q.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequestController
        public async Task <ActionResult> Index()
        {
            var leaveRequests = await _unitOfWork.LeaveRequests.FindAll();

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Count(q => q.Approved == true),
                PendingRequests  = leaveRequestsModel.Count(q => q.Approved == null),
                RejectedRequests = leaveRequests.Count(q => q.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
예제 #5
0
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            var leaveRequests = await _leaveRequestRepo.FindAll();

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Count(lr => lr.Approved == true),
                PendingRequests  = leaveRequestsModel.Count(lr => !lr.Approved.HasValue),
                RejectedRequests = leaveRequestsModel.Count(lr => lr.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            var leaverequests = await _leaveRequestRepo.FindAll();

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaverequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Count(q => q.Approved == true), //cuento todos los regisrros que cumplen esa condicion
                PendingRequests  = leaveRequestsModel.Count(q => q.Approved == null),
                RejectedRequests = leaveRequestsModel.Count(q => q.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
예제 #7
0
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            //ViewBag.BackgroundImage = "https://res.cloudinary.com/flic-media/image/upload/v1611466925/blank_pvkb9q.webp";
            var leaveRequests = await _leaveRequestRepo.FindAll();

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count(),
                ApprovedRequests = leaveRequestsModel.Count(q => q.Approved == true),
                PendingRequests  = leaveRequestsModel.Count(q => q.Approved == null),
                RejectedRequests = leaveRequestsModel.Count(q => q.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            var obj = await _repoleaverequest.FindAll();

            var leaveRequests      = obj.Where(x => x.CancelRequest == false);
            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests.ToList());
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests = leaveRequestsModel.Count,
                //ApprovedRequests = leaveRequestsModel.Where(x => x.Approved == true).Count(),
                ApprovedRequests = leaveRequestsModel.Count(x => x.Approved == true),
                PendingRequests  = leaveRequestsModel.Where(x => x.Approved == null).Count(),
                RejectedRequests = leaveRequestsModel.Count(x => x.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequest
        public async Task <ActionResult> Index()// the landing page
        {
            //when the admin want to see the leave requests and total number of each type
            //need a vm to that lists
            var leaverequests = await _leaveRequestRepo.FindAll();                         //getting them all

            var leaverequestsmodel = _mapper.Map <List <LeaveRequestVM> > (leaverequests); //mapped to my VM
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaverequestsmodel.Count,                                  //count property
                ApprovedRequests = leaverequestsmodel.Where(q => q.Approved == true).Count(), //count function return all like othkor اذكر
                PendingRequests  = leaverequestsmodel.Count(q => q.Approved == null),         //same as above
                RejectedRequests = leaverequestsmodel.Count(q => q.Approved == false),
                LeaveRequests    = leaverequestsmodel
            };

            return(View(model));
        }
예제 #10
0
        // GET: LeaveRequestController
        public async Task <ActionResult> Index()
        {
            var leaveRequests = await _unitOfWork.LeaveRequests.FindAll(includes : new List <string>()
            {
                "RequestingEmployee", "LeaveType"
            });

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Count(_ => _.Approved == true),
                PendingRequests  = leaveRequestsModel.Count(_ => _.Approved == null),
                RejectedRequests = leaveRequestsModel.Count(_ => _.Approved == false),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
예제 #11
0
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            var leaveRequests = await _leaveRequestRepo.FindAll();

            var leaveReqs = leaveRequests.OrderByDescending(q => q.DateRequested).ThenBy(x => x.RequestingEmployee.Firstname);

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveReqs);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests     = leaveRequestsModel.Count,
                ApprovedRequests  = leaveRequestsModel.Where(q => q.Approved == true).Count(),
                PendingRequests   = leaveRequestsModel.Count(q => q.Approved == null && q.Cancelled == false),
                RejectedRequests  = leaveRequestsModel.Count(q => q.Approved == false),
                CancelledRequests = leaveRequestsModel.Count(q => q.Cancelled == true),
                LeaveRequests     = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequestController
        public ActionResult Index()
        {
            //var leaveRequests = _leaveRequestRepo.FindAll();
            var leaveRequests = _unitOfWork.LeaveRequests.FindAll(
                includes: new List <string> {
                "RequestingEmployee", "LeaveType"
            });
            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);
            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = leaveRequestsModel.Where(q => q.Approved == true).Count(),
                PendingRequests  = leaveRequestsModel.Where(q => q.Approved == null).Count(),
                RejectedRequests = leaveRequestsModel.Where(q => q.Approved == false).Count(),
                LeaveRequests    = leaveRequestsModel
            };

            return(View(model));
        }
        // GET: LeaveRequest
        public async Task <ActionResult> Index()
        {
            var leaveRequests = await _leaveRequestRepo.FindAll();

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);

            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests    = leaveRequestsModel.Count,
                ApprovedRequests = 0,
                PendingRequests  = 0,
                RejectedRequests = 0,
                LeaveRequests    = leaveRequestsModel
            };

            foreach (var m in leaveRequestsModel)
            {
                if (m.Approved == null)
                {
                    model.PendingRequests++;
                }
                else if (m.Approved == true)
                {
                    model.ApprovedRequests++;
                }
                else
                {
                    model.RejectedRequests++;
                }
            }

            //var model = new AdminLeaveRequestViewVM
            //{
            //    TotalRequests = leaveRequestsModel.Count,
            //    ApprovedRequests = leaveRequestsModel.Count(t => t.Approved == true),
            //    PendingRequests = leaveRequestsModel.Count(t => t.Approved == null),
            //    RejectedRequests = leaveRequestsModel.Count(t => t.Approved == false),
            //    LeaveRequests = leaveRequestsModel
            //};

            return(View(model));
        }
        public async Task <AdminLeaveRequestViewVM> GetAllAdminLeaveRequestViewVM()
        {
            var leaveRequests = await unitOfWork.LeaveRequests.FindAll(includes : new List <string>()
            {
                nameof(LeaveRequest.RequestingEmployee), nameof(LeaveRequest.ApprovedBy), nameof(LeaveRequest.LeaveType)
            });

            var leaveRequestsVM = mapper.Map <List <LeaveRequestVM> >(leaveRequests);

            var adminLeaveRequestVM = new AdminLeaveRequestViewVM()
            {
                LeaveRequestVMs               = leaveRequestsVM,
                TotalNumberOfRequests         = leaveRequestsVM.Count,
                TotalNumberOfApprovedRequests = leaveRequestsVM.Count(x => x.Approved == true),
                TotalNumberOfPendingRequests  = leaveRequestsVM.Count(x => x.Approved == null),
                TotalNumberOfRejectedRequests = leaveRequestsVM.Count(x => x.Approved == false)
            };

            return(adminLeaveRequestVM);
        }
예제 #15
0
        // GET: LeaveRequestController
        public async Task <ActionResult> Index()
        {
            var truongPhong = _mapper.Map <EmployeeVM>(_userManager.GetUserAsync(User).Result);
            var phongBan    = _mapper.Map <PhongBansVM>(await phongBanRepository.FindById(truongPhong.MaPhongBan));


            ICollection <LeaveRequest> leaveRequests = null;

            if (User.IsInRole("Quản trị viên"))
            {
                leaveRequests = (await _leaveRequestRepo.FindAll());
            }
            else
            {
                leaveRequests = (await _leaveRequestRepo.FindAll())
                                .Where(q => q.RequestingEmployee.MaPhongBan == phongBan.MaPhongBan)
                                .ToList();
            }

            var leaveRequestsModel = _mapper.Map <List <LeaveRequestVM> >(leaveRequests);

            var model = new AdminLeaveRequestViewVM
            {
                TotalRequests   = leaveRequestsModel.Count,
                ApprovedRequets = leaveRequestsModel
                                  .Count(q => q.Approved == true),
                PendingRequests = leaveRequestsModel
                                  .Count(q => q.Approved == null),
                RejectedRequests = leaveRequestsModel
                                   .Count(q => q.Approved == false),
                CancelledRequests = leaveRequestsModel
                                    .Count(q => q.Cancelled == true),
                LeaveRequests = leaveRequestsModel,

                PhongBan    = phongBan,
                TruongPhong = truongPhong
            };

            return(View(model));
        }