private void openProject()
 {
     flushAllDataSources();
     gatherTabPagesAndHide();
     if (openProjectFileDialog.ShowDialog() == DialogResult.OK)
     {
         String filePath = openProjectFileDialog.FileName;
         _openProject = InventoryProjectManager.openProject(filePath);
         setupUiFromProject();
         _edited      = false;
         _projectPath = filePath;
         setPageTitleWithProject();
     }
 }
        private void newProject()
        {
            bool cancelled = false;

            if (_edited)
            {
                SaveBeforeClosePrompt prompt = new SaveBeforeClosePrompt();
                if (prompt.ShowDialog() == DialogResult.Cancel)
                {
                    cancelled = true;
                }
            }
            if (!cancelled)
            {
                flushAllDataSources();
                _projectPath = null;
                _openProject = new InventoryProject();
                gatherTabPagesAndHide();
                _edited = false;
            }
        }
        public List <SoftwareInventoryTableEntry> runReport(InventoryProject projectContext)
        {
            List <SoftwareInventoryTableEntry> result = new List <SoftwareInventoryTableEntry>();
            ReportableDataProviding            reportableDataProvider = ReportDataSourceFactory.getDataSource(DataSource);

            foreach (SoftwareInventoryTableEntry softwareEntry in reportableDataProvider.getReportableData())
            {
                bool include = true;
                foreach (ReportFilter filter in Filters)
                {
                    if (filter.isFiltered(softwareEntry.Software, projectContext))
                    {
                        include = false;
                        break;
                    }
                }
                if (include)
                {
                    result.Add(softwareEntry);
                }
            }
            return(result);
        }
        public bool isFiltered(Software item, InventoryProject projectContext)
        {
            bool result = false;

            switch (FilterType)
            {
            case FilterType.LOGICAL_AND:
                result = (Filter1.isFiltered(item, projectContext) && Filter2.isFiltered(item, projectContext));
                break;

            case FilterType.LOGICAL_OR:
                result = (Filter1.isFiltered(item, projectContext) || Filter2.isFiltered(item, projectContext));
                break;

            case FilterType.APPROVED_SOFTWARE_LIST:
                ApprovedSoftwareList           listToApply     = projectContext.getApprovedSoftwareListByName(ApprovedSoftwareListName);
                IEnumerable <ApprovedSoftware> matchingEntries =
                    from approvedSoftware in listToApply.ApprovedSoftwares
                    where approvedSoftware.SoftwareExample.SoftwareCode.Equals(item.SoftwareCode)
                    select approvedSoftware;
                foreach (ApprovedSoftware checkingEntry in matchingEntries)
                {
                    if (checkingEntry.softwareMatches(item))
                    {
                        result = true;
                        break;
                    }
                }
                break;
            }
            if (IsNegated)
            {
                result = !result;
            }
            return(result);
        }
 public ReportDisplay(SoftwareReport report, InventoryProject projectContext)
 {
     InitializeComponent();
     _report         = report;
     _projectContext = projectContext;
 }
示例#6
0
 public ReportBuilder(InventoryProject projectContext)
 {
     InitializeComponent();
     _projectContext = projectContext;
 }
 public AddApprovedSoftwareListFilterForm(InventoryProject projectContext)
 {
     InitializeComponent();
     _projectContext = projectContext;
 }