Beispiel #1
0
        // GET: Employer/TimeOffEvent
        public ActionResult Index(string sortOrder)
        {
            //Keeping track of current sort
            ViewBag.DateSortParm      = String.IsNullOrEmpty(sortOrder) ? "date_desc" : "";
            ViewBag.NameSortParm      = sortOrder == "Last Name" ? "name_desc" : "Last Name";
            ViewBag.LengthSortParm    = sortOrder == "Length of Event" ? "lengthOfEvent_desc" : "Length of Event";
            ViewBag.SubmittedSortParm = sortOrder == "Submitted" ? "submitted_desc" : "Submitted";

            var timeOffEvents = db.TimeOffEvents.Where(x => x.ApproverId == null).OrderBy(a => a.Start).ToList();


            List <TimeOffViewModel> timeOffList = new List <TimeOffViewModel>();

            for (int i = 0; i < timeOffEvents.Count; i++)
            {
                TimeOffViewModel timeOff = new TimeOffViewModel(timeOffEvents[i]);
                timeOffList.Add(timeOff);
            }

            IEnumerable <TimeOffViewModel> timeOffEventsEnumerable;

            switch (sortOrder)
            {
            case "date_desc":
                timeOffEventsEnumerable = timeOffList.OrderByDescending(t => t.Start).ToList();
                break;

            case "Last Name":
                timeOffEventsEnumerable = timeOffList.OrderBy(t => t.LastName).ToList();
                break;

            case "name_desc":
                timeOffEventsEnumerable = timeOffList.OrderByDescending(t => t.LastName).ToList();
                break;

            case "Length of Event":
                timeOffEventsEnumerable = timeOffList.OrderBy(t => t.RequestLengthString).ToList();
                break;

            case "lengthOfEvent_desc":
                timeOffEventsEnumerable = timeOffList.OrderByDescending(t => t.RequestLengthString).ToList();
                break;

            case "Submitted":
                timeOffEventsEnumerable = timeOffList.OrderBy(t => t.Submitted).ToList();
                break;

            case "submitted_desc":
                timeOffEventsEnumerable = timeOffList.OrderByDescending(t => t.Submitted).ToList();
                break;

            default:
                timeOffEventsEnumerable = timeOffList.OrderBy(t => t.Start).ToList();
                break;
            }
            return(View(timeOffEventsEnumerable));
        }
Beispiel #2
0
 public TimeOffViewModel Put(Guid id, [FromBody] TimeOffViewModel timeOff)
 {
     timeOff.Id = id;
     return(_timeOffService.UpdateViewModel(timeOff));
 }
Beispiel #3
0
 public async Task <TimeOffViewModel> Post(Guid EmployeeId, [FromBody] TimeOffViewModel timeOff)
 {
     return(_timeOffService.CreateRequest(EmployeeId, timeOff));
 }