public ActionResult OrganizationalUnit()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            foreach (var item in DDService.GetOU(LoggedInUser).ToList())
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID       = item.POUID;
                obj.FilterName     = item.OUName;
                obj.IsSlected      = vmf.SelectedOrganizationalUnit.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                obj.FieldThreeID   = item.OUCommonID;
                obj.FieldThreeName = item.OUCommonName;
                vm.Add(obj);
            }
            vm = CompanyVMHelper(vm, vmf);
            vm = LocationVMHelper(vm, vmf);
            List <VMFilterAttribute> tempVM = new List <VMFilterAttribute>();

            if (vmf.SelectedCommonOU.Count > 0)
            {
                foreach (var item in vmf.SelectedCommonOU)
                {
                    tempVM.AddRange(vm.Where(aa => aa.FieldThreeID == item.FilterID).ToList());
                }
                vm = tempVM.ToList();
            }
            else
            {
                tempVM = vm.ToList();
            }
            return(View(tempVM));
        }
        public ActionResult Position()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            foreach (var item in DDService.GetDesignation(LoggedInUser).ToList())
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID     = item.PDesignationID;
                obj.FilterName   = item.DesignationName;
                obj.IsSlected    = vmf.SelectedPosition.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                obj.FieldTwoID   = item.JobTitleID;
                obj.FieldTwoName = item.JobTitleName;
                vm.Add(obj);
            }
            vm = CompanyVMHelper(vm, vmf);

            List <VMFilterAttribute> tempVM = new List <VMFilterAttribute>();

            if (vmf.SelectedJobTitle.Count > 0)
            {
                foreach (var item in vmf.SelectedJobTitle)
                {
                    tempVM.AddRange(vm.Where(aa => aa.FieldTwoID == item.FilterID).ToList());
                }
                vm = tempVM.ToList();
            }
            else
            {
                tempVM = vm.ToList();
            }
            return(View(tempVM));
        }
        public ActionResult Company()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            foreach (var item in DDService.GetCompany(LoggedInUser).ToList())
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID   = item.PCompanyID;
                obj.FilterName = item.CompanyName;
                obj.IsSlected  = vmf.SelectedCompany.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                vm.Add(obj);
            }
            return(View(vm));
        }
        public ActionResult Location()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            foreach (var item in DDService.GetLocation(LoggedInUser).ToList())
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID   = item.PLocationID;
                obj.FilterName = item.LocationName;
                obj.IsSlected  = vmf.SelectedLocation.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                //obj.FieldOneID = item.CompanyID;
                //obj.FieldOneName = item.CompanyName;
                vm.Add(obj);
            }
            //vm = CompanyVMHelper(vm, vmf);
            return(View(vm));
        }
        public ActionResult Shift()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            foreach (var item in DDService.GetShift(LoggedInUser).ToList())
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID     = item.PShiftID;
                obj.FilterName   = item.ShiftName;
                obj.IsSlected    = vmf.SelectedShift.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                obj.FieldTwoID   = item.LocationID;
                obj.FieldTwoName = item.LocationName;
                vm.Add(obj);
            }
            vm = LocationVMHelper(vm, vmf);

            return(View(vm));
        }
        public ActionResult Employee()
        {
            List <VMFilterAttribute> vm           = new List <VMFilterAttribute>();
            VMSelectedFilter         vmf          = Session["FiltersModel"] as VMSelectedFilter;
            VMLoggedUser             LoggedInUser = Session["LoggedInUser"] as VMLoggedUser;

            List <VHR_EmployeeProfile> tempVM = new List <VHR_EmployeeProfile>();
            List <VHR_EmployeeProfile> VM     = DDService.GetEmployeeInfo(LoggedInUser).ToList();

            if (vmf.SelectedCommonOU.Count > 0)
            {
                foreach (var item in vmf.SelectedCommonOU)
                {
                    tempVM.AddRange(VM.Where(aa => aa.OUID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            if (vmf.SelectedOrganizationalUnit.Count > 0)
            {
                foreach (var item in vmf.SelectedOrganizationalUnit)
                {
                    tempVM.AddRange(VM.Where(aa => aa.OUID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            if (vmf.SelectedShift.Count > 0)
            {
                foreach (var item in vmf.SelectedShift)
                {
                    tempVM.AddRange(VM.Where(aa => aa.ShiftID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            if (vmf.SelectedCrew.Count > 0)
            {
                foreach (var item in vmf.SelectedCrew)
                {
                    tempVM.AddRange(VM.Where(aa => aa.CrewID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();

            if (vmf.SelectedJobTitle.Count > 0)
            {
                foreach (var item in vmf.SelectedJobTitle)
                {
                    tempVM.AddRange(VM.Where(aa => aa.JobTitleID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            if (vmf.SelectedGrade.Count > 0)
            {
                foreach (var item in vmf.SelectedGrade)
                {
                    tempVM.AddRange(VM.Where(aa => aa.GradeID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            if (vmf.SelectedPosition.Count > 0)
            {
                foreach (var item in vmf.SelectedPosition)
                {
                    tempVM.AddRange(VM.Where(aa => aa.DesigationID == item.FilterID).ToList());
                }
                VM = tempVM.ToList();
            }
            else
            {
                tempVM = VM.ToList();
            }
            tempVM.Clear();
            foreach (var item in VM)
            {
                VMFilterAttribute obj = new VMFilterAttribute();
                obj.FilterID = item.PEmployeeID;
                //obj.FilterName = item.EmployeeName + "(" + item.OUName + ")";
                obj.IsSlected  = vmf.SelectedEmployee.Where(aa => aa.FilterID == obj.FilterID).Count() > 0 ? true : false;
                obj.FieldOneID = item.CompanyID;
                //obj.FieldOneName = item.CompanyName;
                obj.FieldTwoID     = item.LocationID;
                obj.FieldTwoName   = item.LocationName;
                obj.FieldThreeName = item.OEmpID;
                vm.Add(obj);
            }
            vm = CompanyVMHelper(vm, vmf);
            vm = LocationVMHelper(vm, vmf);
            return(View(vm));
        }