Exemplo n.º 1
0
        public ActionResult Create()
        {
            ViewBag.Employees = new SelectList(db.AspNetUsers, "Id", "UserName");
            //ViewBag.LeaveTypes = new SelectList(db.LeaveTypes, "Id", "Name");
            ViewBag.Departments = new SelectList(db.Countries, "Id", "Name");
            List <SelectListItem> AgreementTypes = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text = "Fiscal year", Value = "1"
                },
                new SelectListItem {
                    Text = "Calender year", Value = "2"
                },
                new SelectListItem {
                    Text = "Contract year", Value = "3"
                },
            };

            ViewBag.AgreementTypes = AgreementTypes;

            UserLeavePolicyViewModel userLeavePolicyViewModel = new UserLeavePolicyViewModel();

            return(View(userLeavePolicyViewModel));
            //return View();
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Edit(decimal id, string Caller, string leaveUserId = "UserLeavePolicy")
        {
            //string userId = User.Identity.GetUserId();

            //id =(decimal)db.AspNetUsers.FirstOrDefault(x => x.Id == userId).UserLeavePolicyId;

            //if (id == null)
            //{
            //  return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            //}
            ViewBag.Employees  = new SelectList(db.AspNetUsers, "Id", "UserName");
            ViewBag.LeaveTypes = new SelectList(db.LeaveTypes, "Id", "Name");
            //always remember viewbag name should not be as model name. other wise probelm. if same multilist will not show selected values
            ViewBag.Departments = new SelectList(db.Countries, "Id", "Name");

            UserLeavePolicyViewModel userLeavePolicyViewModel = new UserLeavePolicyViewModel();

            UserLeavePolicy userLeavePolicy = await db.UserLeavePolicies.FindAsync(id);

            userLeavePolicyViewModel.userLeavePolicy       = userLeavePolicy;
            userLeavePolicyViewModel.userLeavePolicyDetail = userLeavePolicy.UserLeavePolicyDetails.AsQueryable <UserLeavePolicyDetail>();
            userLeavePolicyViewModel.countries             = db.Countries;//.Where(x => x.CountryId == 1).AsQueryable<Department>();//TODO Convert 1 to current user country variable
            //userLeavePolicyViewModel.departments= depFilterd;
            userLeavePolicyViewModel.annualOffDays = db.AnnualOffDays.Where(x => x.UserLeavePolicyId == userLeavePolicy.Id).AsQueryable();

            IQueryable <AspNetUser> usersFilterd = db.AspNetUsers.Where(x => x.UserLeavePolicyId == id);


            //foreach (AspNetUser usr in usersFilterd)
            //{
            //  //depFilterd = db.Departments.Where(x => x.Id == usr.DepartmentId).Distinct<Department>().ToList<Department>();
            //}
            //List<int> SelectedDeps = new List<int>(new int[] { 1,2 });
            List <string> SelectedDeps = new List <string>();
            List <string> SelectedEmps = new List <string>();

            SelectedDeps = usersFilterd.Select(p => p.CountryId.ToString()).Distinct <string>().ToList <string>();
            SelectedEmps = usersFilterd.Select(p => p.Id).Distinct <string>().ToList <string>();

            ViewBag.SelectedDepartments = SelectedDeps;
            ViewBag.SelectedEmployees   = SelectedEmps;

            if (userLeavePolicy.DepartmentPolicy == true)
            {
                ViewBag.DepStatus = true;
                ViewBag.EmpStatus = false;
            }
            else
            {
                ViewBag.DepStatus = false;
                ViewBag.EmpStatus = true;
            }


            List <SelectListItem> WeekSelectList = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text = "Saturday", Value = "6"
                },
                new SelectListItem {
                    Text = "Sunday", Value = "0"
                },
                new SelectListItem {
                    Text = "Monday", Value = "1"
                },
                new SelectListItem {
                    Text = "Tuesday", Value = "2"
                },
                new SelectListItem {
                    Text = "Wednesday", Value = "3"
                },
                new SelectListItem {
                    Text = "Thursday", Value = "4"
                },
                new SelectListItem {
                    Text = "Friday", Value = "5"
                }
            };

            ViewBag.WeeklyOffDays = WeekSelectList;

            List <SelectListItem> AgreementTypes = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text = "Fiscal year", Value = "1"
                },
                new SelectListItem {
                    Text = "Calender year", Value = "2"
                },
                new SelectListItem {
                    Text = "Contract year", Value = "3"
                },
            };

            ViewBag.AgreementTypes = AgreementTypes;



            List <string> DaysSelected = new List <string>();

            foreach (string day in userLeavePolicy.WeeklyOffDays.Split(','))
            {
                //int intDay = int.Parse(day);
                DaysSelected.Add(day);
                //DaysSelected.Add()
            }
            ViewBag.DaysSelected = DaysSelected;
            //List<AnnualOffDay> AnnualOffDaysList = new List<AnnualOffDay>();
            //int cntr = 0;

            //foreach (string day in userLeavePolicy.AnnualOffDays.Split(','))
            //{
            //  cntr += 1;
            //  AnnualOffDaysList.Add(new AnnualOffDay { Id = cntr, OffDay = day, Description = "" });
            //}

            //ViewBag.AnnualLeaves = userLeavePolicy.AnnualOffDays;//AnnualOffDaysList;

            if (userLeavePolicy == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "Hometown", userLeavePolicy.UserId);
            //return View(userLeavePolicy);



            //return PartialView("_newRow", IndexId); //for ref only

            if (Caller == "UserLeavePolicy")
            {
                ViewBag.LockAndHide = "False";
                return(View(userLeavePolicyViewModel)); //orginal
            }
            else
            {
                //string CurrentLoginUserId = User.Identity.GetUserId();
                ViewBag.LeaveUserId = leaveUserId;
                ViewBag.CompensatoryLeaveBalance = db.LeaveBalances.FirstOrDefault(x => x.LeaveTypeId == LMS.Constants.Consts.CompensatoryLeaveTypeId && x.UserId == leaveUserId);

                ViewBag.LockAndHide = "True";
                return(PartialView("_Edit", userLeavePolicyViewModel));
            }

            //switch (Caller)
            //{
            //  case "LeaveRequest"://Logged In User Id will be sent
            //    ViewBag.CompensatoryLeaveBalance = db.LeaveBalances.FirstOrDefault(x => x.LeaveTypeId == LMS.Constants.Consts.CompensatoryLeaveTypeId && x.UserId == leaveUserId);
            //    ViewBag.LockAndHide = "True";
            //    return PartialView("_Edit", userLeavePolicyViewModel);
            //    //break;
            //  case "LeaveResponse"://Id of Leave Requested user will be sent
            //    string CurrentLoginUserId = User.Identity.GetUserId();
            //    ViewBag.CurrentLoginUserId = CurrentLoginUserId;
            //    ViewBag.CompensatoryLeaveBalance = db.LeaveBalances.FirstOrDefault(x => x.LeaveTypeId == LMS.Constants.Consts.CompensatoryLeaveTypeId && x.UserId == CurrentLoginUserId);
            //    ViewBag.LockAndHide = "True";
            //    return PartialView("_Edit", userLeavePolicyViewModel);
            //    break;
            //  default://user leave policy screen
            //    ViewBag.LockAndHide = "False";
            //    return View(userLeavePolicyViewModel); //orginal
            //    //break;
            //}
        }