コード例 #1
0
        public IActionResult Index()
        {
            _apiCallerService.ProcessOssRecords(DateTime.Now);

            // TODO this was copied from `ReportController - Index`, consider a service that returns a list of `reportByProjectViewModel`
            var projectList = _projectRepository
                              .SelectList()
                              .OrderBy(x => x.ProjectName)
                              .ToList();

            var reportList = _reportRepository.SelectList();
            var sb         = new StringBuilder();

            foreach (var project in projectList)
            {
                if (reportList.Any(report => report.ProjectId == project.Id))
                {
                    // TODO - inject as service
                    var score = _scoreService.GetCurrentScoreByProjectId(project.Id);
                    sb.AppendFormat("<button type='button' class='btn {0}'>", score == 0 ? "btn-primary" : "btn-danger");
                    sb.AppendFormat("{0} <span class='badge badge-light'>{1}</span>", project.ProjectName, score);
                    sb.Append("</button> ");
                }
            }

            ViewData["Buttons_Helper"] = sb.ToString();
            return(View());
        }
コード例 #2
0
        // GET: Report
        public IActionResult Index()
        {
            _apiCallerService.ProcessOssRecords(DateTime.Now);

            // TODO this was duplicated to `HomeController.cs - Index`, consider a service that returns a list of `reportByProjectViewModel`
            var reportByProjectViewModel = new List <ReportByProjectViewModel>();
            var projectList = _projectRepository
                              .SelectList()
                              .OrderBy(x => x.ProjectName)
                              .ToList();

            var reportList = _reportRepository.SelectList();

            foreach (var project in projectList)
            {
                if (reportList.Any(report => report.ProjectId == project.Id)) // TODO - consider using a view for this join
                {
                    reportByProjectViewModel.Add(new ReportByProjectViewModel()
                    {
                        ProjectId    = project.Id,
                        ProjectName  = project.ProjectName,
                        CurrentScore = _scoreService.GetCurrentScoreByProjectId(project.Id),
                        Status       = _ossIndexStatusService.GetCurrentStatusByProjectId(project.Id)
                    });
                }
            }

            ViewData["Status_Helper"] = _ossIndexStatusService.GetHelperStatusByProjectId(reportByProjectViewModel.Select(x => x.ProjectId).ToList());
            SetTopNavSelected();
            return(View(reportByProjectViewModel));
        }
コード例 #3
0
        public IActionResult Create([Bind("ProjectId,PackageTypeId,FormFiles")] FileUploadViewModel fileUploadViewModel)
        {
            if (ModelState.IsValid)
            {
                var postedFile = fileUploadViewModel.FormFiles[0];
                var extension  = Path.GetExtension(postedFile.FileName);

                var type = _packageTypeRepository.Select(fileUploadViewModel.PackageTypeId).Name;
                var coordinatePartsFactory = _coordinatePartsFactory.GetCoordinatePart(extension);

                var reportId        = _ossReportService.CreateInitialReport(DateTime.Now, fileUploadViewModel.ProjectId);
                var coordinateParts = coordinatePartsFactory.GetCoordinateParts(_jsonConvertService, type, postedFile);
                foreach (var coordinatePart in coordinateParts)
                {
                    _ossReportService.CreateInitialReportShell(reportId, coordinatePart);
                }
            }

            _apiCallerService.ProcessOssRecords(DateTime.Now.AddMinutes(1)); // Add a minute to force the new records to process now
            return(RedirectToAction("Index", "Report"));
        }
コード例 #4
0
        // GET: Project
        public IActionResult Index()
        {
            _apiCallerService.ProcessOssRecords(DateTime.Now);

            var projectViewModelList = new List <ProjectViewModel>();
            var projectList          = _projectRepository
                                       .SelectList()
                                       .OrderBy(x => x.ProjectName)
                                       .ToList();

            // TODO ~ mapping concearn outside of the controllers scope
            foreach (var project in projectList)
            {
                projectViewModelList.Add(new ProjectViewModel()
                {
                    Id          = project.Id,
                    ProjectName = project.ProjectName
                });
            }

            SetTopNavSelected();
            return(View(projectViewModelList));
        }