protected IEnumerable<RequestListViewModel> RequestViewList(RequestLookupViewModel lookup)
        {
            var requests = from r in PrdnDBContext.Requests
                           select r;

            if (!string.IsNullOrEmpty(lookup.RequestID))
            {
                requests = from r in requests
                           where r.ID == lookup.RequestID
                           select r;
            }
            else
            {
                if ((lookup.FromDt != null) || (lookup.ThruDt != null))
                {
                    DateTime afterDt = lookup.FromDt ?? DateTime.Today.Date.AddMonths(-1);
                    afterDt = afterDt.Date;

                    DateTime beforeDt = lookup.ThruDt ?? DateTime.Today.Date;
                    beforeDt = beforeDt.Date.AddDays(1);

                    requests = from r in requests
                               where (r.RequestDt >= afterDt) && (r.RequestDt < beforeDt)
                               select r;
                }

                if (!lookup.AllStauses)
                {
                    List<string> states = new List<string>();
                    if (lookup.StatusProcessing)
                    {
                        states.Add(RequestStatus.PROCESSING.ToString().ToUpper());
                    }
                    if (lookup.StatusConfirmed)
                    {
                        states.Add(RequestStatus.CONFIRMED.ToString().ToUpper());
                    }
                    if (lookup.StatusCanceled)
                    {
                        states.Add(RequestStatus.CANCELED.ToString().ToUpper());
                    }
                    if (lookup.StatusScheduled)
                    {
                        states.Add(RequestStatus.SCHEDULED.ToString().ToUpper());
                    }
                    if ((states.Count()==0) || (lookup.StatusNew))
                    {
                        states.Add(RequestStatus.NEW.ToString().ToUpper());
                    }

                    requests = from r in requests
                               where states.Contains(r.StatusStr)
                               select r;
                }
            }

            requests = from r in requests
                    orderby r.RequestDt descending
                    select r;

            List<RequestListViewModel> viewRequests =
                Mapper.Map<List<Request>, List<RequestListViewModel>>(requests.ToList());

            return viewRequests;
        }
 protected GridModel RequestGridList(RequestLookupViewModel lookup)
 {
     GridModel g = new GridModel(RequestViewList(lookup).ToList());
     return g;
 }
        public ActionResult _SelectRequest(string id, DateTime? fromDt, DateTime? thruDt, 
            bool allStauses, bool statusNew, bool statusProcessing, bool statusConfirmed, bool statusScheduled, bool statusCanceled)
        {
            RequestLookupViewModel lookup = new RequestLookupViewModel()
            {
                RequestID = id,
                FromDt = fromDt,
                ThruDt = thruDt,
                AllStauses = allStauses,
                StatusNew = statusNew,
                StatusProcessing = statusProcessing,
                StatusConfirmed = statusConfirmed,
                StatusScheduled = statusScheduled,
                StatusCanceled = statusCanceled
            };

            return View(RequestGridList(lookup));
        }
 public ActionResult Lookup(RequestLookupViewModel lookup)
 {
     Session[RequestLookupKey] = lookup;
     return RedirectToAction("Lookup");
 }
        public ActionResult Lookup()
        {
            RequestLookupViewModel model = Session[RequestLookupKey] as RequestLookupViewModel;
            if (model != null)
            {
                model.DefineCriteria = false;
            }
            else
            {
                model = new RequestLookupViewModel();
                model.DefineLookupDefault();
                model.PageSize = GetRequestPageSize();
            }

            //model.DefaultRunModel = MakeDefaultRunViewModel(true);
            UserSettingsViewModel settings = GetUserSettingsViewModel(true);
            model.SettingsModel = settings;
            model.PageSize = (int)(settings.RequestPageSize ?? UserSettingsModel.DefaultPageSize);

            return View(model);
        }
        public ActionResult List()
        {
            RequestLookupViewModel model = new RequestLookupViewModel();
            model.DefineListDefault();

            UserSettingsViewModel settings = GetUserSettingsViewModel(true);
            model.SettingsModel = settings;
            model.PageSize = (int)(settings.RequestPageSize ?? UserSettingsModel.DefaultPageSize);

            ViewBag.RefreshMsg = "The data refreshes every minute. To force a refresh of the data, click the refresh button on your browser";
            Response.AppendHeader("Refresh", "60");
            return View(model);
        }