private void _refreshItems(string username)
        {
            IOrderedEnumerable <IGrouping <string, DisbursementModel> > list = Session[SESSION_GROUPED_BY_NAME] as IOrderedEnumerable <IGrouping <string, DisbursementModel> >;

            var listOfRequests = list.Where(w => w.Key == username).First();

            ItemViewModelDictionary items = new ItemViewModelDictionary();

            foreach (var request in listOfRequests)
            {
                foreach (var item in request.Items)
                {
                    items.AddOrIncrease(item.Key, item.Value);
                }
            }

            var displayItems = items.Select(s => new ItemViewModelKVP(s));

            lboxItems.DataSource     = displayItems;
            lboxItems.DataValueField = "ItemCode";
            lboxItems.DataTextField  = "ItemAndQty";
            lboxItems.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            using (SSISEntities context = new SSISEntities())
            {
                string currentUser = User.Identity.Name;
                string deptCode    = (new UserModel(currentUser)).Department.dept_code;

                var disbursements = FacadeFactory.getDisbursementService(context).getAllThatWereDisbursed().fromDepartment(deptCode);

                if (disbursements.Count == 0)
                {
                    return;
                }

                IOrderedEnumerable <IGrouping <DateTime, DisbursementModel> > groupedByDate = disbursements.GroupBy(k => k.Date.Date).OrderByDescending(o => o.Key);

                // For recents
                var recents = groupedByDate.ToDictionary(k => k.Key.ToShortDateString(), v => v.Key.ToShortDateString());

                lboxRecents.DataSource     = recents;
                lboxRecents.DataValueField = "Key";
                lboxRecents.DataTextField  = "Value";
                lboxRecents.DataBind();

                Session[SESSION_GROUPED_DATES] = groupedByDate;

                IOrderedEnumerable <IGrouping <string, DisbursementModel> > datesGroupedByName = groupedByDate.First().GroupBy(k => k.Username).OrderBy(o => o.Key);

                Session[SESSION_GROUPED_BY_NAME] = datesGroupedByName;

                var names = datesGroupedByName.ToDictionary(k => k.Key, v => v.First().UserModel.Fullname);

                //lblDebug.Text = names.Count.ToString();

                lboxRequests.DataSource     = names;
                lboxRequests.DataValueField = "Key";
                lboxRequests.DataTextField  = "Value";
                lboxRequests.DataBind();

                var listOfRequests = datesGroupedByName.First();

                ItemViewModelDictionary items = new ItemViewModelDictionary();

                foreach (var request in listOfRequests)
                {
                    foreach (var item in request.Items)
                    {
                        items.AddOrIncrease(item.Key, item.Value);
                    }
                }

                var displayItems = items.Select(s => new ItemViewModelKVP(s));

                lboxItems.DataSource     = displayItems;
                lboxItems.DataValueField = "ItemCode";
                lboxItems.DataTextField  = "ItemAndQty";
                lboxItems.DataBind();
            }
        }