private void submitApprovalRequest(string decision, ListView List) { foreach (ListViewItem Item in List.CheckedItems) { Web.Software.Request software = (Web.Software.Request)(Item.Tag); bool success = Task.Run(() => Web.SoftwareRequest.Approve(software.software_id, software.user_id, decision)).Result; if (success) { Item.Checked = false; software.approved_status = Decisions[decision]; if (decision == "1") { pendingApprovalList.Remove(Item); approvedList.Add(Item); } else if (decision == "2") { pendingApprovalList.Remove(Item); } else { approvedList.Remove(Item); } } } }
private void AddSoftwareToList(Web.Software.RootObject softwarePiece, CollectionList <ListViewItem> List, object Tag) { ListViewItem item = new ListViewItem(softwarePiece.software_name); item.SubItems.Add(softwarePiece.software_acronym); item.SubItems.Add(softwarePiece.first_name + " " + softwarePiece.last_name); item.SubItems.Add(softwarePiece.software_province); item.Tag = Tag; List.Add(item); }
private void AddSoftwareToList(Web.Software.RootObject softwarePiece, Web.Software.Request software, CollectionList <ListViewItem> List, Color col, object Tag, bool checkedState) { ListViewItem item = new ListViewItem(softwarePiece.software_name); item.SubItems.Add(softwarePiece.software_acronym); item.SubItems.Add(softwarePiece.first_name + " " + softwarePiece.last_name); item.SubItems.Add(softwarePiece.software_province); item.SubItems.Add(software.user_id); item.Tag = Tag; item.ForeColor = col; item.Checked = checkedState; List.Add(item); }
private void LoadSoftware() { var softwareList = Task.Run(() => Web.SoftwareRequest.RetrieveSoftwareList()).Result; if (softwareList == null) { MessageBox.Show("Error retrieving software list, closing", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } foreach (var software in softwareList) { AddSoftwareToList(software, softwareItems, software); } var softwareRequestList = Task.Run(() => Web.SoftwareRequest.RetrieveSoftwareRequests()).Result; foreach (var softwareRequest in softwareRequestList) { var softwareName = Task.Run(() => Web.SoftwareRequest.RetrieveSoftwareList(softwareRequest.software_id)).Result; if (softwareName == null) { continue; } var software = softwareName[0]; /*Need to copy the list of items to enumerate through, for some reason listview does not implement cloneable*/ ListViewItem[] Copy = new ListViewItem[softwareItems.Count]; softwareItems.CopyTo(Copy); foreach (var item in Copy) { if (item.Text == software.software_name && item.SubItems[2].Text == (software.first_name + " " + software.last_name)) { softwareItems.Remove(item); if (softwareRequest.approved_status == "pending" || softwareRequest.approved_status == "pending approval" || softwareRequest.approved_status == "approved|invalid") { if (softwareRequest.approved_status == "pending approval") { item.ForeColor = Color.SlateBlue; } else if (softwareRequest.approved_status == "approved|invalid") { item.ForeColor = Color.Green; } pendingItems.Add(item); } else if (softwareRequest.approved_status == "approved|access") { approvedItems.Add(item); } else if (softwareRequest.approved_status == "denied" || softwareRequest.approved_status == "approved|denied") { deniedItems.Add(item); } } } } }