Example #1
0
        public ActionResult Index(int?isActive, int?isArchived, string sortBy, string sortOrder)
        {
            var model = new ProjectIndexModel();

            model.Tab = "Project";

            model.IsActive   = isActive ?? -1;
            model.IsArchived = isArchived ?? 0;

            model.SortBy    = sortBy ?? "Name";
            model.SortOrder = sortOrder ?? "ASC";
            model.SortableColumns.Add("Name", "Name");

            var criteria = new ProjectCriteria()
            {
                IsActive   = DataHelper.ToBoolean(isActive, true),
                IsArchived = DataHelper.ToBoolean(isArchived, false)
            };

            var projects = ProjectService.ProjectFetchInfoList(criteria)
                           .AsQueryable();

            projects = projects.OrderBy(string.Format("{0} {1}", model.SortBy, model.SortOrder));

            model.Projects = projects;

            var notes = NoteService.NoteFetchInfoList(
                SourceType.Project,
                projects.Select(project => project.ProjectId).ToArray());

            model.Notes = notes.AsQueryable();

            return(this.View(model));
        }
Example #2
0
        public async Task <IActionResult> GetProjects([FromQuery] ProjectCriteria criteria)
        {
            if (!await _permissionService.HasGlobalPermissionAsync(Permission.Read))
            {
                return(StatusCode(403, "You have no permission to view projects."));
            }

            return(Ok(await _projectService.GetProjectsAsync(criteria)));
        }
Example #3
0
        public ActionResult Index(ProjectCriteria projectCriteria)
        {
            IPagedList <Project> projects = _projectService.Search(projectCriteria);
            var searchView = new IndexPageViewModel
            {
                ProjectCriteria = projectCriteria,
                Projects        = projects
            };

            return(View(searchView));
        }
Example #4
0
 public IPagedList <Project> Search(ProjectCriteria a)
 {
     using (var unitOfWork = new UnitOfWork(new PimContext()))
     {
         var query = unitOfWork.Project.Get();
         if (!string.IsNullOrEmpty(a.Text))
         {
             query = query.Where(p => p.Name.Contains(a.Text) ||
                                 p.Customer.Contains(a.Text) ||
                                 p.ProjectNumber.ToString().Contains(a.Text));
         }
         if (a.Status.HasValue)
         {
             query = query.Where(p => p.Status == a.Status);
         }
         bool descending = (a.SortDirection == SortDirection.Descending);
         query = GetSortedData(query, a.SortProperty, descending);
         return(query.ToPagedList(a.Page, a.ItemsPerPage));
     }
 }
Example #5
0
        public void SearchProjects()
        {
            // search by text && status match
            ProjectCriteria textStatus = new ProjectCriteria {
                Text = "c3", Status = Status.Finished
            };
            IEnumerable <Project> textStatusList = _service.Search(textStatus);

            Assert.IsTrue(textStatusList.Any());
            // search by text && status => expect empty list mismatch text status
            ProjectCriteria invalidTextStatus = new ProjectCriteria {
                Text = "c3", Status = Status.New
            };
            IEnumerable <Project> invalidTextStatusList = _service.Search(invalidTextStatus);

            Assert.IsTrue(!invalidTextStatusList.Any());
            //search by text
            ProjectCriteria textOnly = new ProjectCriteria {
                Text = "c3"
            };
            IEnumerable <Project> textOnlyList = _service.Search(textOnly);

            Assert.IsTrue(textOnlyList.Any());
            //search by status
            ProjectCriteria status = new ProjectCriteria {
                Status = Status.New
            };
            IEnumerable <Project> statusList = _service.Search(status);

            Assert.IsTrue(statusList.Any());
            //empty criteria
            ProjectCriteria       noCriteria     = new ProjectCriteria();
            IEnumerable <Project> noCriteriaList = _service.Search(noCriteria);

            Assert.IsTrue(noCriteriaList.Any());
        }
Example #6
0
        // TODO: View: Search results for project
        public ActionResult Index(ProjectCriteria c)
        {
            ProjectService service = new ProjectService();

            return(View(service.Search(c)));
        }
Example #7
0
 public static ProjectInfoList ProjectFetchInfoList(ProjectCriteria criteria)
 {
     return(ProjectInfoList.FetchProjectInfoList(criteria));
 }