Beispiel #1
0
        // GET: Requests/Edit/5
        public ActionResult AllRequests(string name, State?state, string date1, string date2)
        {
            ViewBag.CurrentDate = GetPersianTime.GetPersainDateTime()[0];

            //droplist options
            var        Users = repository.GetallUsersNames();
            SelectList list  = new SelectList(Users);

            ViewBag.AllUsers = list;


            List <Request> requests = repository.GetRequestsByNameAndState(name, state);

            if (!string.IsNullOrEmpty(date1) && !string.IsNullOrEmpty(date2))
            {
                DateTime firstTime  = TimeSetting.SetTime(date1);
                DateTime secondTime = TimeSetting.SetTime(date2);

                requests = requests.Where(w => (w.RequestTime.Year >= firstTime.Year && w.RequestTime.Month >= firstTime.Month && w.RequestTime.Day >= firstTime.Day) &&
                                          (w.RequestTime.Year <= secondTime.Year && w.RequestTime.Month <= secondTime.Month && w.RequestTime.Day <= secondTime.Day)).ToList();
            }
            requests = requests.OrderByDescending(s => s.UserID).ThenBy(t => t.RequestTime).ToList();

            var result = SetRequestView.SetRequest(requests);

            ViewBag.AllWorkingTime = AllWorkTimeCalculation.AllWorkTimeSum(result);


            return(View(result));
        }
Beispiel #2
0
        // GET: Requests
        public ActionResult Index(string date1, string date2, string ID, State?requestType)
        {
            IEnumerable <Request> requests = new List <Request>();

            //get current date in persian format
            ViewBag.CurrentDate = GetPersianTime.GetPersainDateTime()[0];
            string userid = string.Empty;

            if (ID == null)
            {
                userid = User.Identity.GetUserId();
            }
            else
            {
                userid = ID;
            }

            if (!string.IsNullOrEmpty(date1) && !string.IsNullOrEmpty(date2))
            {
                DateTime firstTime  = TimeSetting.SetTime(date1);
                DateTime secondTime = TimeSetting.SetTime(date2);

                requests = repository.GetRequestsByDatePeriod(firstTime, secondTime, userid);
            }
            else
            {
                requests = repository.GetRequestByUserID(userid);
            }

            requests = requests.OrderBy(s => s.RequestTime);

            var requestViews = SetRequestView.SetRequest(requests);

            ViewBag.AllWorkingTime = AllWorkTimeCalculation.AllWorkTimeSum(requestViews);


            ////sorting by date
            //if (sortOrder == "Date")
            //    requestViews = requestViews.OrderByDescending(o => o.Date).ThenBy(o => o.ArrivalTime).ToList();
            //else if (sortOrder == "WorkingTime")
            //    requestViews = requestViews.OrderByDescending(o => o.WorkingTime).ThenBy(o => o.Name).ToList();
            //else
            //requestViews = requestViews.OrderBy(o => o.Name).ThenBy(o => o.Date).ToList();

            if (requestType == State.accepted)
            {
                requestViews = requestViews.Where(w => w.State == State.accepted).ToList();
            }
            else if (requestType == State.rejected)
            {
                requestViews = requestViews.Where(w => w.State == State.rejected).ToList();
            }
            else if (requestType == State.Processing)
            {
                requestViews = requestViews.Where(w => w.State == State.Processing).ToList();
            }
            else
            {
                requestViews = requestViews.Where(w => w.State == State.accepted).ToList();
            }


            return(View(requestViews));
        }