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(); } }