Exemple #1
0
        //Get bower packages from reading bower.json
        public override IEnumerable <Package> GetPackages(params string[] o)
        {
            var packages = new List <Package>();

            AuditFileInfo config_file = this.AuditEnvironment.ConstructFile(this.PackageManagerConfigurationFile);
            JObject       json        = (JObject)JToken.Parse(config_file.ReadAsText());

            if (json.Properties().Any(j => j.Name == "name") && json.Properties().Any(j => j.Name == "version"))
            {
                packages.AddRange(GetDeveloperPackages(
                                      json.Properties().First(j => j.Name == "name").Value.ToString(),
                                      json.Properties().First(j => j.Name == "version").Value.ToString()));
            }
            JObject dependencies     = (JObject)json["dependencies"];
            JObject dev_dependencies = (JObject)json["devDependencies"];

            if (dev_dependencies != null)
            {
                packages.AddRange(dev_dependencies.Properties().SelectMany(d => GetDeveloperPackages(d.Name, d.Value.ToString())));
            }

            if (dependencies != null)
            {
                packages.AddRange(dependencies.Properties().SelectMany(d => GetDeveloperPackages(d.Name, d.Value.ToString())));
            }

            if (!string.IsNullOrEmpty(PackageSourceLockFile))
            {
                NpmPackagesLock lockfile = JsonConvert.DeserializeObject <NpmPackagesLock>(File.ReadAllText(PackageSourceLockFile));

                foreach (var requirement in lockfile.dependencies)
                {
                    var packageRoot = GetPackagesObject(requirement.Key, requirement.Value);

                    foreach (var tmpPackage in packageRoot)
                    {
                        if (!packages.Contains(tmpPackage))
                        {
                            packages.Add(tmpPackage);
                        }
                    }

                    /*
                     * var packageRoot = GetDeveloperPackages(requirement.Key, requirement.Value.version);
                     *
                     * if(requirement.Value.requires != null)
                     * {
                     *  foreach(var item in requirement.Value.requires)
                     *  {
                     *      var tmpPackage = GetDeveloperPackages(item.Key, item.Value);
                     *      packageRoot.AddRange(tmpPackage);
                     *  }
                     * }
                     */
                }
            }

            return(packages);
        }
Exemple #2
0
        /// <summary>
        /// This function is called when we actually want to upload audit data
        /// </summary>
        /// <param name="selectedOnly"></param>
        private void UploadAudits(bool selectedOnly)
        {
            // Build a list of the Audit Files that are to be uploaded
            _listToUpload.Clear();

            if (selectedOnly)
            {
                foreach (UltraListViewItem item in lvAudits.SelectedItems)
                {
                    // The tag is the info object about the audit file
                    AuditFileInfo auditFileInfo = item.Tag as AuditFileInfo;
                    AuditDataFile auditDataFile = auditFileInfo.AuditFile;
                    if (auditDataFile != null)
                    {
                        _listToUpload.Add(auditDataFile);
                    }
                }
            }
            else
            {
                // Add all items
                foreach (UltraListViewItem item in lvAudits.Items)
                {
                    AuditFileInfo auditFileInfo = item.Tag as AuditFileInfo;
                    AuditDataFile auditDataFile = auditFileInfo.AuditFile;
                    if (auditDataFile != null)
                    {
                        _listToUpload.Add(auditDataFile);
                    }
                }
            }

            // Have we any items to upload?
            if (_listToUpload.Count == 0)
            {
                MessageBox.Show("There are no audits selected to upload", "Upload Error");
                return;
            }

            // Whilst the upload is running we must not allow the user to exit this form
            bnClose.Visible     = false;
            bnClose.Enabled     = false;
            bnCancel.Visible    = true;
            bnUpload.Enabled    = false;
            bnUploadAll.Enabled = false;

            // Update the status bar text to show what's happening now
            lblProgress.Text = "Preparing to upload " + _listToUpload.Count.ToString() + " assets...";

            // We actually use the worker thread to perform the uploads for us so start it here
            _startUploadTime = DateTime.Now;
            this.backgroundWorkerUpload.RunWorkerAsync();
        }
Exemple #3
0
        /// <summary>
        /// Refresh the list of files in the specified folder
        /// </summary>
        private void RefreshList()
        {
            // Clear the list view initially
            lvAudits.BeginUpdate();
            lvAudits.Items.Clear();

            // If we have no data folder then we may as well just exit
            _uploadFolder = tbAuditFolder.Text;
            if (_uploadFolder != "")
            {
                // build a temporary list of matching files
                List <AuditFileInfo> listAuditFiles = new List <AuditFileInfo>();
                AuditUploader        auditLoader    = new AuditUploader(_uploadFolder, _licenseCount);
                auditLoader.EnumerateFiles(listAuditFiles);

                // sort the list by audit scan date
                listAuditFiles.Sort();

                UltraListViewItem[] items = new UltraListViewItem[listAuditFiles.Count];

                for (int i = 0; i < listAuditFiles.Count; i++)
                {
                    AuditFileInfo thisAuditFile = listAuditFiles[i];

                    UltraListViewSubItem[] subItemArray = new UltraListViewSubItem[3];
                    subItemArray[0]       = new UltraListViewSubItem();
                    subItemArray[0].Value = thisAuditFile.Assetname;
                    subItemArray[1]       = new UltraListViewSubItem();
                    subItemArray[1].Value = thisAuditFile.AuditDate.ToString();
                    subItemArray[2]       = new UltraListViewSubItem();
                    subItemArray[2].Value = thisAuditFile.StatusAsText;
                    //
                    UltraListViewItem item = new UltraListViewItem(thisAuditFile.Filename, subItemArray);
                    item.Tag = thisAuditFile;
                    item.Key = thisAuditFile.AuditFile.FileName;

                    items[i] = item;
                }

                lvAudits.Items.AddRange(items);

                // Also build a list of LYNC audit files which should be uploaded
                LyncAuditFileList listLyncAudits = new LyncAuditFileList();
                listLyncAudits.Populate(_uploadFolder);

                // then add to the file list control
                foreach (LyncAuditFile lyncAuditFile in listLyncAudits.LyncAuditFiles)
                {
                    AuditDataFile thisAuditFile = lyncAuditFile.ConvertedFile();
                    if (thisAuditFile == null)
                    {
                        continue;
                    }

                    // We need an AuditFileInfo object for this file
                    AuditFileInfo auditFileInfo = new AuditFileInfo();
                    auditFileInfo.Assetname = thisAuditFile.AssetName;
                    auditFileInfo.AuditDate = thisAuditFile.AuditDate;
                    auditFileInfo.AuditFile = thisAuditFile;
                    auditFileInfo.Filename  = lyncAuditFile.FileName;

                    UltraListViewSubItem[] subItemArray = new UltraListViewSubItem[3];
                    subItemArray[0]       = new UltraListViewSubItem();
                    subItemArray[0].Value = auditFileInfo.Assetname;
                    subItemArray[1]       = new UltraListViewSubItem();
                    subItemArray[1].Value = auditFileInfo.AuditDate.ToString();
                    subItemArray[2]       = new UltraListViewSubItem();
                    subItemArray[2].Value = auditFileInfo.StatusAsText;
                    //
                    UltraListViewItem item = new UltraListViewItem(auditFileInfo.Filename, subItemArray);
                    item.Tag = auditFileInfo;
                    item.Key = auditFileInfo.Filename;
                    lvAudits.Items.Add(item);
                }
            }

            lvAudits.EndUpdate();
        }