public ActionResult LeaveStatus()
        {
            AdminProfileViewModel           profile         = (AdminProfileViewModel)Session["EmployeeObj"];
            List <RequestVacationViewModel> requestVacation = new List <RequestVacationViewModel>();

            requestVacation = null;
            requestVacation = leaveRequestService.GetAllRequestByRequesterId(profile.EmployeeID);
            if (requestVacation.Count() != 0)
            {
                foreach (var item in requestVacation)
                {
                    if (item.ApproverID != 0)
                    {
                        AdminProfileViewModel employee = employeeService.GetEmployeeByID(item.ApproverID);
                        item.ApproverName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
                    }

                    VacationTypeViewModel vacationType = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);
                    item.VacationName = vacationType.VacationName;
                }
                return(View(requestVacation));
            }

            return(RedirectToAction("Leavestatus"));
        }
Beispiel #2
0
 public async Task <IActionResult> Delete(VacationTypeViewModel viewmodel)
 {
     try
     {
         var response = await Mediator.Send(new DeleteVacationTypeCommand { Id = viewmodel.Id });
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Error", ex.Message);
     }
     return(RedirectToAction(nameof(Index)));
 }
Beispiel #3
0
 public async Task <IActionResult> Update(VacationTypeViewModel viewmodel)
 {
     try
     {
         var response = await Mediator.Send(new UpdateVacationTypeCommand { Id = viewmodel.Id, Name = viewmodel.Name, DefaultLeaveDays = viewmodel.DefaultLeaveDays, IsPassing = viewmodel.IsPassing, PoolId = viewmodel.PoolId, Version = viewmodel.RowVersion });
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Error", ex.Message);
     }
     return(RedirectToAction(nameof(Index)));
 }
Beispiel #4
0
 public async Task <IActionResult> Insert([Bind("Name", "DefaultLeaveDays", "IsPassing", "PoolId")] VacationTypeViewModel viewmodel)
 {
     try
     {
         var response = await Mediator.Send(new InsertVacationTypeCommand { Name = viewmodel.Name, DefaultLeaveDays = viewmodel.DefaultLeaveDays, IsPassing = viewmodel.IsPassing, PoolId = viewmodel.PoolId });
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Error", ex.Message);
     }
     return(RedirectToAction(nameof(Index)));
 }
        public VacationTypeViewModel GetVacationTypeByVacationId(int vacationId)
        {
            VacationType vacation = vacationTypeRepository.GetVacationTypeByVacationId(vacationId);

            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <VacationType, VacationTypeViewModel>();
                cfg.IgnoreUnmapped();
            });
            IMapper mapper = config.CreateMapper();

            VacationTypeViewModel vacationTypeViewModel = mapper.Map <VacationType, VacationTypeViewModel>(vacation);

            return(vacationTypeViewModel);
        }
        public ActionResult LeaveDetail(int Id)     //show each emp leave details for admin
        {
            RequestVacationViewModel requestVacation = leaveRequestService.GetLeaveRequestByRequestID(Id);
            AdminProfileViewModel    employee        = employeeService.GetEmployeeByID(requestVacation.CreatedBy);

            requestVacation.RequesterName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
            DesignationViewModel designation = designationService.GetDesignationByDesignationID(employee.DesignationID);

            requestVacation.RequesterDesignation = designation.DesignationName;

            VacationTypeViewModel vacationType = vacationTypeService.GetVacationTypeByVacationId(requestVacation.VacationTypeID);

            requestVacation.VacationName = vacationType.VacationName;


            return(View(requestVacation));
        }
        public ActionResult VerifyLeave()
        {
            var profile = (AdminProfileViewModel)(Session["EmployeeObj"]);

            if (profile.IsSpecialPermission == true)
            {
                List <RequestVacationViewModel> leaveRequest = new List <RequestVacationViewModel>();

                leaveRequest = leaveRequestService.GetAllRequestVacation();

                List <RequestVacationViewModel> leaveRequestForHR = new List <RequestVacationViewModel>();

                foreach (var item in  leaveRequest)
                {
                    if (item.LeaveStatus == "Pending")
                    {
                        leaveRequestForHR.Add(item);
                    }
                }
                foreach (var item in leaveRequestForHR)
                {
                    var employee = employeeService.GetEmployeeByID(item.CreatedBy);
                    item.RequesterName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
                    var vacationType = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);
                    item.VacationName = vacationType.VacationName;
                    int designationId = employee.DesignationID;
                    var designation   = designationService.GetDesignationByDesignationID(designationId);
                    item.RequesterDesignation = designation.DesignationName;
                    var departmentObj = departmentService.GetDepartmentByDepartmentID(employee.DepartmentID);
                    item.RequesterDepartment = departmentObj.DepartmentName;
                    //item.ApproverID = profile.EmployeeID;
                }
                return(View(leaveRequestForHR));
            }
            if (profile.IsVirtualTeamHead == true)
            {
                List <RequestVacationViewModel> leaveRequestForVT = new List <RequestVacationViewModel>();

                var leaveRequest = leaveRequestService.GetAllRequestVacation();
                foreach (var item in leaveRequest)
                {
                    int requesterEmpId  = item.CreatedBy;
                    var employeeDetails = employeeService.GetEmployeeByID(requesterEmpId);
                    if (employeeDetails.DepartmentID == profile.DepartmentID && item.LeaveStatus == "Pending")
                    {
                        leaveRequestForVT.Add(item);
                    }
                }
                foreach (var item in leaveRequestForVT)
                {
                    var employee = employeeService.GetEmployeeByID(item.CreatedBy);
                    item.RequesterName = employee.FirstName + " " + employee.MiddleName + " " + employee.LastName;
                    var vacationType = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);
                    item.VacationName = vacationType.VacationName;
                    int designationId = employee.DesignationID;
                    var designation   = designationService.GetDesignationByDesignationID(designationId);
                    item.RequesterDesignation = designation.DesignationName;
                    var departmentObj = departmentService.GetDepartmentByDepartmentID(employee.DepartmentID);
                    item.RequesterDepartment = departmentObj.DepartmentName;
                    //item.ApproverID = profile.EmployeeID;
                }
                return(View(leaveRequestForVT));
            }
            else
            {
                int employeeId = profile.EmployeeID;
                List <RequestVacationViewModel> requestVacation = leaveRequestService.GetLeaveRequestByApproveId(employeeId);

                foreach (var item in requestVacation)
                {
                    AdminProfileViewModel profileViewModel = employeeService.GetEmployeeByID(item.CreatedBy);

                    item.RequesterName = profileViewModel.FirstName + " " + profileViewModel.MiddleName + " " + profileViewModel.LastName;

                    DesignationViewModel designation = designationService.GetDesignationByDesignationID(profileViewModel.DesignationID);

                    item.RequesterDesignation = designation.DesignationName;

                    DepartmentViewModel departmentViewModel = departmentService.GetDepartmentByDepartmentID(profileViewModel.DepartmentID);

                    item.RequesterDepartment = departmentViewModel.DepartmentName;

                    VacationTypeViewModel vacationTypeViewModel = vacationTypeService.GetVacationTypeByVacationId(item.VacationTypeID);

                    item.VacationName = vacationTypeViewModel.VacationName;
                }
                TempData["RequestVacation"] = requestVacation;

                return(View(requestVacation));
            }
        }