/// <summary>
 /// Function to retrieve index page.
 /// </summary>
 /// <returns>Index page</returns>
 public ActionResult Index()
 {
     this.AddBreadcrumbItem(Resources.ProjectCompliance, Url.ProjectComplianceAction());
     ProjectCompliancePresenter presenter = new ProjectCompliancePresenter();
     this.AssignValues(presenter);
     presenter.AssignSelectedReleaseTypes(presenter.ReleaseTypeList.Where(r => r.ID == (byte)ReleaseType.UAT).ToList());
     presenter.AssignSelectedArtifactsList(presenter.ArtifactStatusList);
     return this.View(presenter);
 }
        public ActionResult Index(ProjectCompliancePresenter presenter)
        {
            this.AddBreadcrumbItem(Resources.ProjectCompliance, Url.ProjectComplianceAction());
            if (presenter == null)
            {
                return null;
            }

            this.AssignValues(presenter);

            IList<int> selectedArtifactsList = null;
            IList<int> selectedReleaseTypeList = null;
            if (!string.IsNullOrEmpty(presenter.SelectedArtifactStatusIds))
            {
                selectedArtifactsList = presenter.SelectedArtifactStatusIds.Split(',').Select(s => Convert.ToInt32(s, CultureInfo.CurrentCulture)).ToList();
                presenter.AssignSelectedArtifactsList(presenter.ArtifactStatusList.Where(artifact => selectedArtifactsList.Contains(artifact.ID)).ToList());
            }

            if (!string.IsNullOrEmpty(presenter.SelectedReleaseTypeIds))
            {
                selectedReleaseTypeList = presenter.SelectedReleaseTypeIds.Split(',').Select(s => Convert.ToInt32(s, CultureInfo.CurrentCulture)).ToList();
                presenter.AssignSelectedReleaseTypes(presenter.ReleaseTypeList.Where(releaseType => selectedReleaseTypeList.Contains(releaseType.ID)).ToList());
            }

            var artifactList = this.projectArtifactService.RetrieveList(presenter.SelectedProjectId, selectedReleaseTypeList, selectedArtifactsList, SessionData.Instance.UserInfo.Developer.DeveloperID);
            (from artifact in artifactList
             from artifactStatus in presenter.ArtifactStatusList
             where artifact.Status == artifactStatus.ID
             select MapProcessComplianceStatusTitle(artifactStatus, artifact)).ToList();

            AssignProjectArtifactList(presenter, artifactList);

            AssignReleaseArtifactList(presenter, artifactList);

            return this.View(presenter);
        }