Пример #1
0
        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);
                    }
                }
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
                        }
                    }
                }
            }
        }